diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index ee17d4578..91d7c1218 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.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,a,r){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(r,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(a),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,a,r,n,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=a,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.opacity=100,this.start_pt_index=r,this.end_pt_index=n,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 MeshOpacityCache(t){this.opacity=100,this.key=t}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 MeshOpacityCacheManager(){this.is_ready=!1,this.opacity_cache_table=null,this.opacity_cache_data_ready=null,this.opacity_cache_table=[],this.opacity_cache_data_ready=[]}function CreatureUVSwapPacket(t,e,a,r){this.local_offset=t,this.global_offset=e,this.scale=a,this.tag=r}function Creature(t,e){this.InitDefaultData(),e?this.LoadFromDataFlat(t):this.LoadFromData(t)}function CreatureAnimation(t,e,a){this.initDefaultData(e),a?this.LoadFromDataFlat(e,t.dataAnimation()):this.LoadFromData(e,t)}function CreatureFrameCallback(){this.callback=null,this.name="",this.animClipName="",this.frame=0,this.triggered=!1}function CreatureGameController(t){this.meta_asset=t,this.event_callbacks=[],this.run_time=0}function CreatureMetaData(){this.skin_swaps={},this.anim_events_map={}}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(""),this.do_auto_blending=!1,this.auto_blend_delta=0,this.auto_blend_names=[],this.auto_blend_names.push(""),this.auto_blend_names.push(""),this.active_blend_run_times={}}function isDictEmpty(t){for(var e in t)return!1;return!0}!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var a=e();for(var r in a)("object"==typeof exports?exports:t)[r]=a[r]}}(this,function(){return function(t){function e(r){if(a[r])return a[r].exports;var n=a[r]={exports:{},id:r,loaded:!1};return t[r].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var a={};return e.m=t,e.c=a,e.p="",e(0)}([function(t,e,a){e.glMatrix=a(1),e.mat2=a(2),e.mat2d=a(3),e.mat3=a(4),e.mat4=a(5),e.quat=a(6),e.vec2=a(9),e.vec3=a(7),e.vec4=a(8)},function(t,e){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.ENABLE_SIMD=!1,a.SIMD_AVAILABLE=a.ARRAY_TYPE===this.Float32Array&&"SIMD"in this,a.USE_SIMD=a.ENABLE_SIMD&&a.SIMD_AVAILABLE,a.setMatrixArrayType=function(t){a.ARRAY_TYPE=t};var r=Math.PI/180;a.toRadian=function(t){return t*r},a.equals=function(t,e){return Math.abs(t-e)<=a.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},t.exports=a},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},n.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},n.fromValues=function(t,e,a,n){var i=new r.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=a,i[3]=n,i},n.set=function(t,e,a,r,n){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t},n.transpose=function(t,e){if(t===e){var a=e[1];t[1]=e[2],t[2]=a}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*i-n*r;return s?(s=1/s,t[0]=i*s,t[1]=-r*s,t[2]=-n*s,t[3]=a*s,t):null},n.adjoint=function(t,e){var a=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=a,t},n.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1],u=a[2],c=a[3];return t[0]=r*o+i*l,t[1]=n*o+s*l,t[2]=r*u+i*c,t[3]=n*u+s*c,t},n.mul=n.multiply,n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+i*o,t[1]=n*l+s*o,t[2]=r*-o+i*l,t[3]=n*-o+s*l,t},n.scale=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1];return t[0]=r*o,t[1]=n*o,t[2]=i*l,t[3]=s*l,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},n.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},n.LDU=function(t,e,a,r){return t[2]=r[2]/r[0],a[0]=r[0],a[1]=r[1],a[3]=r[3]-t[2]*a[1],[t,e,a]},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t},n.sub=n.subtract,n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(a-o)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(o))&&Math.abs(n-l)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-u)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(s-c)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(c))},n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},n.fromValues=function(t,e,a,n,i,s){var o=new r.ARRAY_TYPE(6);return o[0]=t,o[1]=e,o[2]=a,o[3]=n,o[4]=i,o[5]=s,o},n.set=function(t,e,a,r,n,i,s){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=a*i-r*n;return l?(l=1/l,t[0]=i*l,t[1]=-r*l,t[2]=-n*l,t[3]=a*l,t[4]=(n*o-i*s)*l,t[5]=(r*s-a*o)*l,t):null},n.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1],h=a[2],_=a[3],d=a[4],p=a[5];return t[0]=r*u+i*c,t[1]=n*u+s*c,t[2]=r*h+i*_,t[3]=n*h+s*_,t[4]=r*d+i*p+o,t[5]=n*d+s*p+l,t},n.mul=n.multiply,n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=Math.sin(a),c=Math.cos(a);return t[0]=r*c+i*u,t[1]=n*c+s*u,t[2]=r*-u+i*c,t[3]=n*-u+s*c,t[4]=o,t[5]=l,t},n.scale=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1];return t[0]=r*u,t[1]=n*u,t[2]=i*c,t[3]=s*c,t[4]=o,t[5]=l,t},n.translate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1];return t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=r*u+i*c+o,t[5]=n*u+s*c+l,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t[4]=0,t[5]=0,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},n.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},n.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t[4]=e[4]+a[4],t[5]=e[5]+a[5],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t[4]=e[4]-a[4],t[5]=e[5]-a[5],t},n.sub=n.subtract,n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t[4]=e[4]*a,t[5]=e[5]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t[4]=e[4]+a[4]*r,t[5]=e[5]+a[5]*r,t},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],l=t[5],u=e[0],c=e[1],h=e[2],_=e[3],d=e[4],p=e[5];return Math.abs(a-u)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(n-c)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(i-h)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(s-_)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(o-d)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(d))&&Math.abs(l-p)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},n.clone=function(t){var e=new r.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},n.fromValues=function(t,e,a,n,i,s,o,l,u){var c=new r.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=a,c[3]=n,c[4]=i,c[5]=s,c[6]=o,c[7]=l,c[8]=u,c},n.set=function(t,e,a,r,n,i,s,o,l,u){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t[6]=o,t[7]=l,t[8]=u,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.transpose=function(t,e){if(t===e){var a=e[1],r=e[2],n=e[5];t[1]=e[3],t[2]=e[6],t[3]=a,t[5]=e[7],t[6]=r,t[7]=n}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=c*s-o*u,_=-c*i+o*l,d=u*i-s*l,p=a*h+r*_+n*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*r+n*u)*p,t[2]=(o*r-n*s)*p,t[3]=_*p,t[4]=(c*a-n*l)*p,t[5]=(-o*a+n*i)*p,t[6]=d*p,t[7]=(-u*a+r*l)*p,t[8]=(s*a-r*i)*p,t):null},n.adjoint=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8];return t[0]=s*c-o*u,t[1]=n*u-r*c,t[2]=r*o-n*s,t[3]=o*l-i*c,t[4]=a*c-n*l,t[5]=n*i-a*o,t[6]=i*u-s*l,t[7]=r*l-a*u,t[8]=a*s-r*i,t},n.determinant=function(t){var e=t[0],a=t[1],r=t[2],n=t[3],i=t[4],s=t[5],o=t[6],l=t[7],u=t[8];return e*(u*i-s*l)+a*(-u*n+s*o)+r*(l*n-i*o)},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=a[0],d=a[1],p=a[2],m=a[3],M=a[4],f=a[5],v=a[6],g=a[7],y=a[8];return t[0]=_*r+d*s+p*u,t[1]=_*n+d*o+p*c,t[2]=_*i+d*l+p*h,t[3]=m*r+M*s+f*u,t[4]=m*n+M*o+f*c,t[5]=m*i+M*l+f*h,t[6]=v*r+g*s+y*u,t[7]=v*n+g*o+y*c,t[8]=v*i+g*l+y*h,t},n.mul=n.multiply,n.translate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=a[0],d=a[1];return t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=o,t[5]=l,t[6]=_*r+d*s+u,t[7]=_*n+d*o+c,t[8]=_*i+d*l+h,t},n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=Math.sin(a),d=Math.cos(a);return t[0]=d*r+_*s,t[1]=d*n+_*o,t[2]=d*i+_*l,t[3]=d*s-_*r,t[4]=d*o-_*n,t[5]=d*l-_*i,t[6]=u,t[7]=c,t[8]=h,t},n.scale=function(t,e,a){var r=a[0],n=a[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=n*e[3],t[4]=n*e[4],t[5]=n*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},n.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=0,t[3]=-a,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},n.fromQuat=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a+a,o=r+r,l=n+n,u=a*s,c=r*s,h=r*o,_=n*s,d=n*o,p=n*l,m=i*s,M=i*o,f=i*l;return t[0]=1-h-p,t[3]=c-f,t[6]=_+M,t[1]=c+f,t[4]=1-u-p,t[7]=d-m,t[2]=_-M,t[5]=d+m,t[8]=1-u-h,t},n.normalFromMat4=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15],v=a*o-r*s,g=a*l-n*s,y=a*u-i*s,S=r*l-n*o,I=r*u-i*o,D=n*u-i*l,x=c*m-h*p,b=c*M-_*p,F=c*f-d*p,C=h*M-_*m,R=h*f-d*m,w=_*f-d*M,U=v*w-g*R+y*C+S*F-I*b+D*x;return U?(U=1/U,t[0]=(o*w-l*R+u*C)*U,t[1]=(l*F-s*w-u*b)*U,t[2]=(s*R-o*F+u*x)*U,t[3]=(n*R-r*w-i*C)*U,t[4]=(a*w-n*F+i*b)*U,t[5]=(r*F-a*R-i*x)*U,t[6]=(m*D-M*I+f*S)*U,t[7]=(M*y-p*D-f*g)*U,t[8]=(p*I-m*y+f*v)*U,t):null},n.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t[4]=e[4]+a[4],t[5]=e[5]+a[5],t[6]=e[6]+a[6],t[7]=e[7]+a[7],t[8]=e[8]+a[8],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t[4]=e[4]-a[4],t[5]=e[5]-a[5],t[6]=e[6]-a[6],t[7]=e[7]-a[7],t[8]=e[8]-a[8],t},n.sub=n.subtract,n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t[4]=e[4]+a[4]*r,t[5]=e[5]+a[5]*r,t[6]=e[6]+a[6]*r,t[7]=e[7]+a[7]*r,t[8]=e[8]+a[8]*r,t},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],l=t[5],u=t[6],c=t[7],h=t[8],_=e[0],d=e[1],p=e[2],m=e[3],M=e[4],f=e[5],v=t[6],g=e[7],y=e[8];return Math.abs(a-_)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(n-d)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(i-p)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(s-m)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-M)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(l-f)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(f))&&Math.abs(u-v)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(c-g)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(h-y)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(y))},t.exports=n},function(t,e,a){var r=a(1),n={scalar:{},SIMD:{}};n.create=function(){var t=new r.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.clone=function(t){var e=new r.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.fromValues=function(t,e,a,n,i,s,o,l,u,c,h,_,d,p,m,M){var f=new r.ARRAY_TYPE(16);return f[0]=t,f[1]=e,f[2]=a,f[3]=n,f[4]=i,f[5]=s,f[6]=o,f[7]=l,f[8]=u,f[9]=c,f[10]=h,f[11]=_,f[12]=d,f[13]=p,f[14]=m,f[15]=M,f},n.set=function(t,e,a,r,n,i,s,o,l,u,c,h,_,d,p,m,M){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t[6]=o,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=_,t[12]=d,t[13]=p,t[14]=m,t[15]=M,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.scalar.transpose=function(t,e){if(t===e){var a=e[1],r=e[2],n=e[3],i=e[6],s=e[7],o=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=a,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=i,t[11]=e[14],t[12]=n,t[13]=s,t[14]=o}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},n.SIMD.transpose=function(t,e){var a,r,n,i,s,o,l,u,c,h;return a=SIMD.Float32x4.load(e,0),r=SIMD.Float32x4.load(e,4),n=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.shuffle(a,r,0,1,4,5),o=SIMD.Float32x4.shuffle(n,i,0,1,4,5),l=SIMD.Float32x4.shuffle(s,o,0,2,4,6),u=SIMD.Float32x4.shuffle(s,o,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),s=SIMD.Float32x4.shuffle(a,r,2,3,6,7),o=SIMD.Float32x4.shuffle(n,i,2,3,6,7),c=SIMD.Float32x4.shuffle(s,o,0,2,4,6),h=SIMD.Float32x4.shuffle(s,o,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},n.transpose=r.USE_SIMD?n.SIMD.transpose:n.scalar.transpose,n.scalar.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15],v=a*o-r*s,g=a*l-n*s,y=a*u-i*s,S=r*l-n*o,I=r*u-i*o,D=n*u-i*l,x=c*m-h*p,b=c*M-_*p,F=c*f-d*p,C=h*M-_*m,R=h*f-d*m,w=_*f-d*M,U=v*w-g*R+y*C+S*F-I*b+D*x;return U?(U=1/U,t[0]=(o*w-l*R+u*C)*U,t[1]=(n*R-r*w-i*C)*U,t[2]=(m*D-M*I+f*S)*U,t[3]=(_*I-h*D-d*S)*U,t[4]=(l*F-s*w-u*b)*U,t[5]=(a*w-n*F+i*b)*U,t[6]=(M*y-p*D-f*g)*U,t[7]=(c*D-_*y+d*g)*U,t[8]=(s*R-o*F+u*x)*U,t[9]=(r*F-a*R-i*x)*U,t[10]=(p*I-m*y+f*v)*U,t[11]=(h*y-c*I-d*v)*U,t[12]=(o*b-s*C-l*x)*U,t[13]=(a*C-r*b+n*x)*U,t[14]=(m*g-p*S-M*v)*U,t[15]=(c*S-h*g+_*v)*U,t):null},n.SIMD.invert=function(t,e){var a,r,n,i,s,o,l,u,c,h,_=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return s=SIMD.Float32x4.shuffle(_,d,0,1,4,5),r=SIMD.Float32x4.shuffle(p,m,0,1,4,5),a=SIMD.Float32x4.shuffle(s,r,0,2,4,6),r=SIMD.Float32x4.shuffle(r,s,1,3,5,7),s=SIMD.Float32x4.shuffle(_,d,2,3,6,7),i=SIMD.Float32x4.shuffle(p,m,2,3,6,7),n=SIMD.Float32x4.shuffle(s,i,0,2,4,6),i=SIMD.Float32x4.shuffle(i,s,1,3,5,7),s=SIMD.Float32x4.mul(n,i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),o=SIMD.Float32x4.mul(r,s),l=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,s),o),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),s=SIMD.Float32x4.mul(r,n),s=SIMD.Float32x4.swizzle(s,1,0,3,2),o=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),o),c=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(o,SIMD.Float32x4.mul(i,s)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),s=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(r,2,3,0,1),i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),n=SIMD.Float32x4.swizzle(n,2,3,0,1),o=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,s),o),u=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(o,SIMD.Float32x4.mul(n,s)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),s=SIMD.Float32x4.mul(a,r),s=SIMD.Float32x4.swizzle(s,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,s),c),s=SIMD.Float32x4.swizzle(s,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,s),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,s)),s=SIMD.Float32x4.mul(a,i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(n,s)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(r,s),u),s=SIMD.Float32x4.swizzle(s,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,s),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(r,s)),s=SIMD.Float32x4.mul(a,n),s=SIMD.Float32x4.swizzle(s,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(r,s)),s=SIMD.Float32x4.swizzle(s,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,s)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(r,s),c),h=SIMD.Float32x4.mul(a,o),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),s=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(s,s),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(s,s))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,o)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},n.invert=r.USE_SIMD?n.SIMD.invert:n.scalar.invert,n.scalar.adjoint=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15];return t[0]=o*(_*f-d*M)-h*(l*f-u*M)+m*(l*d-u*_),t[1]=-(r*(_*f-d*M)-h*(n*f-i*M)+m*(n*d-i*_)),t[2]=r*(l*f-u*M)-o*(n*f-i*M)+m*(n*u-i*l),t[3]=-(r*(l*d-u*_)-o*(n*d-i*_)+h*(n*u-i*l)),t[4]=-(s*(_*f-d*M)-c*(l*f-u*M)+p*(l*d-u*_)),t[5]=a*(_*f-d*M)-c*(n*f-i*M)+p*(n*d-i*_),t[6]=-(a*(l*f-u*M)-s*(n*f-i*M)+p*(n*u-i*l)),t[7]=a*(l*d-u*_)-s*(n*d-i*_)+c*(n*u-i*l),t[8]=s*(h*f-d*m)-c*(o*f-u*m)+p*(o*d-u*h),t[9]=-(a*(h*f-d*m)-c*(r*f-i*m)+p*(r*d-i*h)),t[10]=a*(o*f-u*m)-s*(r*f-i*m)+p*(r*u-i*o),t[11]=-(a*(o*d-u*h)-s*(r*d-i*h)+c*(r*u-i*o)),t[12]=-(s*(h*M-_*m)-c*(o*M-l*m)+p*(o*_-l*h)),t[13]=a*(h*M-_*m)-c*(r*M-n*m)+p*(r*_-n*h),t[14]=-(a*(o*M-l*m)-s*(r*M-n*m)+p*(r*l-n*o)),t[15]=a*(o*_-l*h)-s*(r*_-n*h)+c*(r*l-n*o),t},n.SIMD.adjoint=function(t,e){var a,r,n,i,s,o,l,u,c,h,_,d,p;return a=SIMD.Float32x4.load(e,0),r=SIMD.Float32x4.load(e,4),n=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),c=SIMD.Float32x4.shuffle(a,r,0,1,4,5),o=SIMD.Float32x4.shuffle(n,i,0,1,4,5),s=SIMD.Float32x4.shuffle(c,o,0,2,4,6),o=SIMD.Float32x4.shuffle(o,c,1,3,5,7),c=SIMD.Float32x4.shuffle(a,r,2,3,6,7),u=SIMD.Float32x4.shuffle(n,i,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(o,c),_=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),h),_=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),_),_=SIMD.Float32x4.swizzle(_,2,3,0,1),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(s,o),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(s,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),_=SIMD.Float32x4.sub(_,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),_),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(o,c)),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),_),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(o,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),_=SIMD.Float32x4.sub(_,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,_),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},n.adjoint=r.USE_SIMD?n.SIMD.adjoint:n.scalar.adjoint,n.determinant=function(t){var e=t[0],a=t[1],r=t[2],n=t[3],i=t[4],s=t[5],o=t[6],l=t[7],u=t[8],c=t[9],h=t[10],_=t[11],d=t[12],p=t[13],m=t[14],M=t[15];return(e*s-a*i)*(h*M-_*m)-(e*o-r*i)*(c*M-_*p)+(e*l-n*i)*(c*m-h*p)+(a*o-r*s)*(u*M-_*d)-(a*l-n*s)*(u*m-h*d)+(r*l-n*o)*(u*p-c*d)},n.SIMD.multiply=function(t,e,a){var r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),s=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.load(a,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,3,3,3,3),s))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(a,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),s))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(a,8),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),s))));SIMD.Float32x4.store(t,8,_);var d=SIMD.Float32x4.load(a,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),s))));return SIMD.Float32x4.store(t,12,p),t},n.scalar.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=e[9],d=e[10],p=e[11],m=e[12],M=e[13],f=e[14],v=e[15],g=a[0],y=a[1],S=a[2],I=a[3];return t[0]=g*r+y*o+S*h+I*m,t[1]=g*n+y*l+S*_+I*M,t[2]=g*i+y*u+S*d+I*f,t[3]=g*s+y*c+S*p+I*v,g=a[4],y=a[5],S=a[6],I=a[7],t[4]=g*r+y*o+S*h+I*m,t[5]=g*n+y*l+S*_+I*M,t[6]=g*i+y*u+S*d+I*f,t[7]=g*s+y*c+S*p+I*v,g=a[8],y=a[9],S=a[10],I=a[11],t[8]=g*r+y*o+S*h+I*m,t[9]=g*n+y*l+S*_+I*M,t[10]=g*i+y*u+S*d+I*f,t[11]=g*s+y*c+S*p+I*v,g=a[12],y=a[13],S=a[14],I=a[15],t[12]=g*r+y*o+S*h+I*m,t[13]=g*n+y*l+S*_+I*M,t[14]=g*i+y*u+S*d+I*f,t[15]=g*s+y*c+S*p+I*v,t},n.multiply=r.USE_SIMD?n.SIMD.multiply:n.scalar.multiply,n.mul=n.multiply,n.scalar.translate=function(t,e,a){var r,n,i,s,o,l,u,c,h,_,d,p,m=a[0],M=a[1],f=a[2];return e===t?(t[12]=e[0]*m+e[4]*M+e[8]*f+e[12],t[13]=e[1]*m+e[5]*M+e[9]*f+e[13],t[14]=e[2]*m+e[6]*M+e[10]*f+e[14],t[15]=e[3]*m+e[7]*M+e[11]*f+e[15]):(r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=e[9],d=e[10],p=e[11],t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=_,t[10]=d,t[11]=p,t[12]=r*m+o*M+h*f+e[12],t[13]=n*m+l*M+_*f+e[13],t[14]=i*m+u*M+d*f+e[14],t[15]=s*m+c*M+p*f+e[15]),t},n.SIMD.translate=function(t,e,a){var r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),s=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4(a[0],a[1],a[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),r=SIMD.Float32x4.mul(r,SIMD.Float32x4.swizzle(o,0,0,0,0)),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,1,1,1,1)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,2,2,2,2));var l=SIMD.Float32x4.add(r,SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,s)));return SIMD.Float32x4.store(t,12,l),t},n.translate=r.USE_SIMD?n.SIMD.translate:n.scalar.translate,n.scalar.scale=function(t,e,a){var r=a[0],n=a[1],i=a[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.SIMD.scale=function(t,e,a){var r,n,i,s=SIMD.Float32x4(a[0],a[1],a[2],0);return r=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(r,SIMD.Float32x4.swizzle(s,0,0,0,0))),n=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,1,1,1,1))),i=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.scale=r.USE_SIMD?n.SIMD.scale:n.scalar.scale,n.rotate=function(t,e,a,n){var i,s,o,l,u,c,h,_,d,p,m,M,f,v,g,y,S,I,D,x,b,F,C,R,w=n[0],U=n[1],P=n[2],A=Math.sqrt(w*w+U*U+P*P);return Math.abs(A)0?(r=2*Math.sqrt(a+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t},n.fromRotationTranslationScale=function(t,e,a,r){var n=e[0],i=e[1],s=e[2],o=e[3],l=n+n,u=i+i,c=s+s,h=n*l,_=n*u,d=n*c,p=i*u,m=i*c,M=s*c,f=o*l,v=o*u,g=o*c,y=r[0],S=r[1],I=r[2];return t[0]=(1-(p+M))*y,t[1]=(_+g)*y,t[2]=(d-v)*y,t[3]=0,t[4]=(_-g)*S,t[5]=(1-(h+M))*S,t[6]=(m+f)*S,t[7]=0,t[8]=(d+v)*I,t[9]=(m-f)*I,t[10]=(1-(h+p))*I,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t},n.fromRotationTranslationScaleOrigin=function(t,e,a,r,n){var i=e[0],s=e[1],o=e[2],l=e[3],u=i+i,c=s+s,h=o+o,_=i*u,d=i*c,p=i*h,m=s*c,M=s*h,f=o*h,v=l*u,g=l*c,y=l*h,S=r[0],I=r[1],D=r[2],x=n[0],b=n[1],F=n[2];return t[0]=(1-(m+f))*S,t[1]=(d+y)*S,t[2]=(p-g)*S,t[3]=0,t[4]=(d-y)*I,t[5]=(1-(_+f))*I,t[6]=(M+v)*I,t[7]=0,t[8]=(p+g)*D,t[9]=(M-v)*D,t[10]=(1-(_+m))*D,t[11]=0,t[12]=a[0]+x-(t[0]*x+t[4]*b+t[8]*F),t[13]=a[1]+b-(t[1]*x+t[5]*b+t[9]*F),t[14]=a[2]+F-(t[2]*x+t[6]*b+t[10]*F),t[15]=1,t},n.fromQuat=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a+a,o=r+r,l=n+n,u=a*s,c=r*s,h=r*o,_=n*s,d=n*o,p=n*l,m=i*s,M=i*o,f=i*l;return t[0]=1-h-p,t[1]=c+f,t[2]=_-M,t[3]=0,t[4]=c-f,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=_+M,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.frustum=function(t,e,a,r,n,i,s){var o=1/(a-e),l=1/(n-r),u=1/(i-s);return t[0]=2*i*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*i*l,t[6]=0,t[7]=0,t[8]=(a+e)*o,t[9]=(n+r)*l,t[10]=(s+i)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*i*2*u,t[15]=0,t},n.perspective=function(t,e,a,r,n){var i=1/Math.tan(e/2),s=1/(r-n);return t[0]=i/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(n+r)*s,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*n*r*s,t[15]=0,t},n.perspectiveFromFieldOfView=function(t,e,a,r){var n=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),u=2/(n+i);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(s-o)*l*.5,t[9]=(n-i)*u*.5,t[10]=r/(a-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*a/(a-r),t[15]=0,t},n.ortho=function(t,e,a,r,n,i,s){var o=1/(e-a),l=1/(r-n),u=1/(i-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+a)*o,t[13]=(n+r)*l,t[14]=(s+i)*u,t[15]=1,t},n.lookAt=function(t,e,a,i){var s,o,l,u,c,h,_,d,p,m,M=e[0],f=e[1],v=e[2],g=i[0],y=i[1],S=i[2],I=a[0],D=a[1],x=a[2];return Math.abs(M-I).999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(i.cross(t,n,s),r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=1+l,o.normalize(r,r))}}(),o.setAxes=function(){var t=n.create();return function(e,a,r,n){return t[0]=r[0],t[3]=r[1],t[6]=r[2],t[1]=n[0],t[4]=n[1],t[7]=n[2],t[2]=-a[0],t[5]=-a[1],t[8]=-a[2],o.normalize(e,o.fromMat3(e,t))}}(),o.clone=s.clone,o.fromValues=s.fromValues,o.copy=s.copy,o.set=s.set,o.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},o.setAxisAngle=function(t,e,a){a*=.5;var r=Math.sin(a);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(a),t},o.getAxisAngle=function(t,e){var a=2*Math.acos(e[3]),r=Math.sin(a/2);return 0!=r?(t[0]=e[0]/r,t[1]=e[1]/r,t[2]=e[2]/r):(t[0]=1,t[1]=0,t[2]=0),a},o.add=s.add,o.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1],u=a[2],c=a[3];return t[0]=r*c+s*o+n*u-i*l,t[1]=n*c+s*l+i*o-r*u,t[2]=i*c+s*u+r*l-n*o,t[3]=s*c-r*o-n*l-i*u,t},o.mul=o.multiply,o.scale=s.scale,o.rotateX=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+s*o,t[1]=n*l+i*o,t[2]=i*l-n*o,t[3]=s*l-r*o,t},o.rotateY=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l-i*o,t[1]=n*l+s*o,t[2]=i*l+r*o,t[3]=s*l-n*o,t},o.rotateZ=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+n*o,t[1]=n*l-r*o,t[2]=i*l+s*o,t[3]=s*l-i*o,t},o.calculateW=function(t,e){var a=e[0],r=e[1],n=e[2];return t[0]=a,t[1]=r,t[2]=n,t[3]=Math.sqrt(Math.abs(1-a*a-r*r-n*n)),t},o.dot=s.dot,o.lerp=s.lerp,o.slerp=function(t,e,a,r){var n,i,s,o,l,u=e[0],c=e[1],h=e[2],_=e[3],d=a[0],p=a[1],m=a[2],M=a[3];return(i=u*d+c*p+h*m+_*M)<0&&(i=-i,d=-d,p=-p,m=-m,M=-M),1-i>1e-6?(n=Math.acos(i),s=Math.sin(n),o=Math.sin((1-r)*n)/s,l=Math.sin(r*n)/s):(o=1-r,l=r),t[0]=o*u+l*d,t[1]=o*c+l*p,t[2]=o*h+l*m,t[3]=o*_+l*M,t},o.sqlerp=function(){var t=o.create(),e=o.create();return function(a,r,n,i,s,l){return o.slerp(t,r,s,l),o.slerp(e,n,i,l),o.slerp(a,t,e,2*l*(1-l)),a}}(),o.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*a+r*r+n*n+i*i,o=s?1/s:0;return t[0]=-a*o,t[1]=-r*o,t[2]=-n*o,t[3]=i*o,t},o.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},o.length=s.length,o.len=o.length,o.squaredLength=s.squaredLength,o.sqrLen=o.squaredLength,o.normalize=s.normalize,o.fromMat3=function(t,e){var a,r=e[0]+e[4]+e[8];if(r>0)a=Math.sqrt(r+1),t[3]=.5*a,a=.5/a,t[0]=(e[5]-e[7])*a,t[1]=(e[6]-e[2])*a,t[2]=(e[1]-e[3])*a;else{var n=0;e[4]>e[0]&&(n=1),e[8]>e[3*n+n]&&(n=2);var i=(n+1)%3,s=(n+2)%3;a=Math.sqrt(e[3*n+n]-e[3*i+i]-e[3*s+s]+1),t[n]=.5*a,a=.5/a,t[3]=(e[3*i+s]-e[3*s+i])*a,t[i]=(e[3*i+n]+e[3*n+i])*a,t[s]=(e[3*s+n]+e[3*n+s])*a}return t},o.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},o.exactEquals=s.exactEquals,o.equals=s.equals,t.exports=o},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},n.fromValues=function(t,e,a){var n=new r.ARRAY_TYPE(3);return n[0]=t,n[1]=e,n[2]=a,n},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},n.set=function(t,e,a,r){return t[0]=e,t[1]=a,t[2]=r,t},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t},n.sub=n.subtract,n.multiply=function(t,e,a){return t[0]=e[0]*a[0],t[1]=e[1]*a[1],t[2]=e[2]*a[2],t},n.mul=n.multiply,n.divide=function(t,e,a){return t[0]=e[0]/a[0],t[1]=e[1]/a[1],t[2]=e[2]/a[2],t},n.div=n.divide,n.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},n.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},n.min=function(t,e,a){return t[0]=Math.min(e[0],a[0]),t[1]=Math.min(e[1],a[1]),t[2]=Math.min(e[2],a[2]),t},n.max=function(t,e,a){return t[0]=Math.max(e[0],a[0]),t[1]=Math.max(e[1],a[1]),t[2]=Math.max(e[2],a[2]),t},n.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},n.scale=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},n.scaleAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t},n.distance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(a*a+r*r+n*n)},n.dist=n.distance,n.squaredDistance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return a*a+r*r+n*n},n.sqrDist=n.squaredDistance,n.length=function(t){var e=t[0],a=t[1],r=t[2];return Math.sqrt(e*e+a*a+r*r)},n.len=n.length,n.squaredLength=function(t){var e=t[0],a=t[1],r=t[2];return e*e+a*a+r*r},n.sqrLen=n.squaredLength,n.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},n.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},n.normalize=function(t,e){var a=e[0],r=e[1],n=e[2],i=a*a+r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},n.cross=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2];return t[0]=n*l-i*o,t[1]=i*s-r*l,t[2]=r*o-n*s,t},n.lerp=function(t,e,a,r){var n=e[0],i=e[1],s=e[2];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t[2]=s+r*(a[2]-s),t},n.hermite=function(t,e,a,r,n,i){var s=i*i,o=s*(2*i-3)+1,l=s*(i-2)+i,u=s*(i-1),c=s*(3-2*i);return t[0]=e[0]*o+a[0]*l+r[0]*u+n[0]*c,t[1]=e[1]*o+a[1]*l+r[1]*u+n[1]*c,t[2]=e[2]*o+a[2]*l+r[2]*u+n[2]*c,t},n.bezier=function(t,e,a,r,n,i){var s=1-i,o=s*s,l=i*i,u=o*s,c=3*i*o,h=3*l*s,_=l*i;return t[0]=e[0]*u+a[0]*c+r[0]*h+n[0]*_,t[1]=e[1]*u+a[1]*c+r[1]*h+n[1]*_,t[2]=e[2]*u+a[2]*c+r[2]*h+n[2]*_,t},n.random=function(t,e){e=e||1;var a=2*r.RANDOM()*Math.PI,n=2*r.RANDOM()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(a)*i,t[1]=Math.sin(a)*i,t[2]=n*e,t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[3]*r+a[7]*n+a[11]*i+a[15];return s=s||1,t[0]=(a[0]*r+a[4]*n+a[8]*i+a[12])/s,t[1]=(a[1]*r+a[5]*n+a[9]*i+a[13])/s,t[2]=(a[2]*r+a[6]*n+a[10]*i+a[14])/s,t},n.transformMat3=function(t,e,a){var r=e[0],n=e[1],i=e[2];return t[0]=r*a[0]+n*a[3]+i*a[6],t[1]=r*a[1]+n*a[4]+i*a[7],t[2]=r*a[2]+n*a[5]+i*a[8],t},n.transformQuat=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2],u=a[3],c=u*r+o*i-l*n,h=u*n+l*r-s*i,_=u*i+s*n-o*r,d=-s*r-o*n-l*i;return t[0]=c*u+d*-s+h*-l-_*-o,t[1]=h*u+d*-o+_*-s-c*-l,t[2]=_*u+d*-l+c*-o-h*-s,t},n.rotateX=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[0],i[1]=n[1]*Math.cos(r)-n[2]*Math.sin(r),i[2]=n[1]*Math.sin(r)+n[2]*Math.cos(r),t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.rotateY=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[2]*Math.sin(r)+n[0]*Math.cos(r),i[1]=n[1],i[2]=n[2]*Math.cos(r)-n[0]*Math.sin(r),t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.rotateZ=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[0]*Math.cos(r)-n[1]*Math.sin(r),i[1]=n[0]*Math.sin(r)+n[1]*Math.cos(r),i[2]=n[2],t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=3),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o1?0:Math.acos(i)},n.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=e[0],o=e[1],l=e[2];return Math.abs(a-s)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(n-o)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-l)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.fromValues=function(t,e,a,n){var i=new r.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=a,i[3]=n,i},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.set=function(t,e,a,r,n){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t},n.sub=n.subtract,n.multiply=function(t,e,a){return t[0]=e[0]*a[0],t[1]=e[1]*a[1],t[2]=e[2]*a[2],t[3]=e[3]*a[3],t},n.mul=n.multiply,n.divide=function(t,e,a){return t[0]=e[0]/a[0],t[1]=e[1]/a[1],t[2]=e[2]/a[2],t[3]=e[3]/a[3],t},n.div=n.divide,n.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},n.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},n.min=function(t,e,a){return t[0]=Math.min(e[0],a[0]),t[1]=Math.min(e[1],a[1]),t[2]=Math.min(e[2],a[2]),t[3]=Math.min(e[3],a[3]),t},n.max=function(t,e,a){return t[0]=Math.max(e[0],a[0]),t[1]=Math.max(e[1],a[1]),t[2]=Math.max(e[2],a[2]),t[3]=Math.max(e[3],a[3]),t},n.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},n.scale=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t},n.scaleAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t},n.distance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(a*a+r*r+n*n+i*i)},n.dist=n.distance,n.squaredDistance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2],i=e[3]-t[3];return a*a+r*r+n*n+i*i},n.sqrDist=n.squaredDistance,n.length=function(t){var e=t[0],a=t[1],r=t[2],n=t[3];return Math.sqrt(e*e+a*a+r*r+n*n)},n.len=n.length,n.squaredLength=function(t){var e=t[0],a=t[1],r=t[2],n=t[3];return e*e+a*a+r*r+n*n},n.sqrLen=n.squaredLength,n.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},n.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},n.normalize=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*a+r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s),t[0]=a*s,t[1]=r*s,t[2]=n*s,t[3]=i*s),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},n.lerp=function(t,e,a,r){var n=e[0],i=e[1],s=e[2],o=e[3];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t[2]=s+r*(a[2]-s),t[3]=o+r*(a[3]-o),t},n.random=function(t,e){return e=e||1,t[0]=r.RANDOM(),t[1]=r.RANDOM(),t[2]=r.RANDOM(),t[3]=r.RANDOM(),n.normalize(t,t),n.scale(t,t,e),t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3];return t[0]=a[0]*r+a[4]*n+a[8]*i+a[12]*s,t[1]=a[1]*r+a[5]*n+a[9]*i+a[13]*s,t[2]=a[2]*r+a[6]*n+a[10]*i+a[14]*s,t[3]=a[3]*r+a[7]*n+a[11]*i+a[15]*s,t},n.transformQuat=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2],u=a[3],c=u*r+o*i-l*n,h=u*n+l*r-s*i,_=u*i+s*n-o*r,d=-s*r-o*n-l*i;return t[0]=c*u+d*-s+h*-l-_*-o,t[1]=h*u+d*-o+_*-s-c*-l,t[2]=_*u+d*-l+c*-o-h*-s,t[3]=e[3],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=4),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},n.cross=function(t,e,a){var r=e[0]*a[1]-e[1]*a[0];return t[0]=t[1]=0,t[2]=r,t},n.lerp=function(t,e,a,r){var n=e[0],i=e[1];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t},n.random=function(t,e){e=e||1;var a=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(a)*e,t[1]=Math.sin(a)*e,t},n.transformMat2=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[2]*n,t[1]=a[1]*r+a[3]*n,t},n.transformMat2d=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[2]*n+a[4],t[1]=a[1]*r+a[3]*n+a[5],t},n.transformMat3=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[3]*n+a[6],t[1]=a[1]*r+a[4]*n+a[7],t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[4]*n+a[12],t[1]=a[1]*r+a[5]*n+a[13],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=2),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o0?(e=.5/Math.sqrt(d+1),a[Q_W]=.25/e,a[Q_X]=(h-u)*e,a[Q_Y]=(s-c)*e,a[Q_Z]=(o-i)*e):n>l&&n>_?(e=2*Math.sqrt(1+n-l-_),a[Q_W]=(h-u)/e,a[Q_X]=.25*e,a[Q_Y]=(i+o)/e,a[Q_Z]=(s+c)/e):l>_?(e=2*Math.sqrt(1+l-n-_),a[Q_W]=(s-c)/e,a[Q_X]=(i+o)/e,a[Q_Y]=.25*e,a[Q_Z]=(u+h)/e):(e=2*Math.sqrt(1+_-n-l),a[Q_W]=(o-i)/e,a[Q_X]=(s+c)/e,a[Q_Y]=(u+h)/e,a[Q_Z]=.25*e),a},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 a=Utils.rotateVec_90(e),r=vec3.fromValues(e[Q_X],e[Q_Y],0),n=vec3.fromValues(a[Q_X],a[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(r,n,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 a=mat4.create(),r=0;r<16;r++)a[r]=t[r]+e[r];return a},Utils.mulMat=function(t,e){for(var a=mat4.create(),r=0;r<16;r++)a[r]=t[r]*e;return a},Utils.clamp=function(t,e,a){return ta?a:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,a){newVec1=vec3.scale(newVec1,t,1-a),newVec2=vec3.scale(newVec2,e,a);var r=vec3.create();return r=vec3.add(r,newVec1,newVec2)},Utils.vec2Interp=function(t,e,a){var r=vec2.create(),n=vec2.create();r=vec2.scale(r,t,1-a),n=vec2.scale(n,e,a);var i=vec2.create();return i=vec2.add(i,r,n)},Utils.ptsInterp=function(t,e,a){for(var r=[],n=0;n.05&&n.push(i);this.relevant_bones_indices.push(n)}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;er&&(r=o),oa&&(a=i),i1)for(var s=r.getIndexByTime(t),o=1;o1)for(var s=r.getIndexByTime(t),o=1;o0?d.setLocalDisplacements(Utils.ptsInterp(_.getLocalDisplacements(),h.getLocalDisplacements(),l)):d.setPostDisplacements(Utils.ptsInterp(_.getPostDisplacements(),h.getPostDisplacements(),l)),u.push(d)}r.displacement_cache_table[s+o]=u}},CreatureModuleUtils.FillDeformationCache=function(t,e,a,r,n){var i=t[e];n.init(a,r);var s=a;for(var o in i){var l=i[o],u=[];for(var c in l){var h=l[c],_=new MeshDisplacementCache(c),d=CreatureModuleUtils.ReadBoolJSON(h,"use_local_displacements"),p=CreatureModuleUtils.ReadBoolJSON(h,"use_post_displacements");if(1==d){m=CreatureModuleUtils.ReadPointsArray2DJSON(h,"local_displacements");_.setLocalDisplacements(m)}if(1==p){var m=CreatureModuleUtils.ReadPointsArray2DJSON(h,"post_displacements");_.setPostDisplacements(m)}u.push(_)}var M=n.getIndexByTime(o);n.displacement_cache_table[M]=u,CreatureModuleUtils.FillDeformationGapCache(s,o,M,n,u),s=o}n.makeAllReady()},CreatureModuleUtils.FillDeformationCacheFlat=function(t,e,a,r){r.init(e,a);for(var n=e,i=0;i1)for(var s=r.getIndexByTime(t),o=1;o=o&&r<=l){n=!0;break}}n&&t[r]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),a[0]=this.frame&&(this.triggered=!0,!0))},CreatureGameController.prototype.BuildFrameCallbacks=function(t){if(null!=this.meta_asset)for(var e in this.meta_asset.anim_events_map){var a=this.meta_asset.anim_events_map[e];for(var r in a){var n=a[r],i=new CreatureFrameCallback;i.animClipName=e,i.name=n,i.frame=Number(r),i.callback=t(animClipName,name),this.event_callbacks.push(i)}}},CreatureGameController.prototype.AddFrameCallback=function(t,e,a,r){var n=new CreatureFrameCallback;n.animClipName=t,n.name=e,n.frame=a,n.callback=r,this.event_callbacks.push(n)},CreatureGameController.prototype.ResetFrameCallbacks=function(){for(var t in this.event_callbacks)this.event_callbacks[t].resetCallback()},CreatureGameController.prototype.ProcessCallbacks=function(t){var e=t.getActualRuntime();e0)){var r=a.cache_pts;this.UpdateRegionsSwitches(t);for(var n=a.start_time;n<=a.end_time;n++){this.setRunTime(n);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i,this.getRunTime()),r.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var a=this.getRunTime(),r=this.animations[t];this.setRunTime(e);for(var n=[],i=0;i<3*this.target_creature.total_num_pts;i++)n[i]=0;this.PoseCreature(t,n,e),r.fill_cache_pts.push(n),r.verifyFillCache(),this.setRunTime(a)},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.ProcessAutoBlending=function(){this.blending_factor+=this.auto_blend_delta,this.blending_factor>1&&(this.blending_factor=1)},CreatureManager.prototype.IncreAutoBlendRunTimes=function(t){set_animation_name="";for(var e=0;eanim_end_time?this.should_loop?ret_time=anim_start_time:ret_time=anim_end_time:ret_timea?this.should_loop?this.run_time=e:this.run_time=a:this.run_time0?(this.UpdateRegionsSwitches(cur_animation_name),e.poseFromCachePts(cur_animation_run_time,this.blend_render_pts[t],this.target_creature.total_num_pts)):(this.UpdateRegionsSwitches(cur_animation_name),this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t],cur_animation_run_time))}for(var a=0;a<3*this.target_creature.total_num_pts;a++){var r=a,n=this.blend_render_pts[0][a],i=this.blend_render_pts[1][a];this.target_creature.render_pts[r]=(1-this.blending_factor)*n+this.blending_factor*i}}else(e=this.animations[this.active_animation_name]).cache_pts.length>0?e.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,this.getRunTime());this.RunUVItemSwap()},CreatureManager.prototype.RunUVItemSwap=function(){var t=this.target_creature.render_composition.getRegionsMap(),e=this.target_creature.uv_swap_packets,a=this.target_creature.active_uv_swap_actions;if(!isDictEmpty(e)&&!isDictEmpty(a))for(var r in a)if(r in t)for(var n=a[r],i=e[r],s=0;s=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)) 2) { throw new Error('Wrong `type` argument'); } + + this.fx.alpha = (type === Phaser.Camera.FADE_IN) ? 1 : 0; this._fxDuration = duration; - this._fxType = 1; + this._fxType = type; return true; }, @@ -14525,7 +14582,7 @@ Phaser.Camera.prototype = { */ updateFX: function () { - if (this._fxType === 0) + if (this._fxType === Phaser.Camera.FLASH) { // flash this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; @@ -14537,9 +14594,21 @@ Phaser.Camera.prototype = { this.onFlashComplete.dispatch(); } } + else if (this._fxType === Phaser.Camera.FADE_IN) + { + // fade in + this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; + + if (this.fx.alpha <= 0) + { + this._fxDuration = 0; + this.fx.alpha = 0; + this.onFadeComplete.dispatch(); + } + } else { - // fade + // fade out this.fx.alpha += this.game.time.elapsedMS / this._fxDuration; if (this.fx.alpha >= 1) @@ -15332,7 +15401,7 @@ Phaser.StateManager = function (game, pendingState) * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -15592,15 +15661,11 @@ Phaser.StateManager.prototype = { { if (this._pendingState && this.game.isBooted) { - var previousStateKey = this.current; - // Already got a state running? this.clearCurrentState(); this.setCurrentState(this._pendingState); - this.onStateChange.dispatch(this.current, previousStateKey); - if (this.current !== this._pendingState) { return; @@ -15787,6 +15852,7 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { + var previousStateKey = this.current; var state = this.states[key]; this.callbackContext = state; @@ -15821,6 +15887,8 @@ Phaser.StateManager.prototype = { this.current = key; this._created = false; + this.onStateChange.dispatch(this.current, previousStateKey); + // At this point key and pendingState should equal each other this.onInitCallback.apply(this.callbackContext, this._args); @@ -22070,7 +22138,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {boolean} [GameConfig.keyboard=true] - Starts the keyboard input handler. * @property {number} [GameConfig.maxPointers=-1] - Sets {@link Phaser.Input#maxPointers}. * @property {boolean} [GameConfig.mouse=true] - Starts the mouse input handler, if the mspointer and touch handlers were not started. - * @property {boolean} [GameConfig.mouseWheel=true] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. + * @property {boolean} [GameConfig.mouseWheel=false] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. * @property {boolean} [GameConfig.mspointer=true] - Starts the {@link Phaser.MSPointer Pointer Events} handler (mspointer), if supported by the device. * @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. @@ -22803,12 +22871,7 @@ Phaser.Game.prototype = { this._paused = true; this.time.gamePaused(); - - if (this.sound.muteOnPause) - { - this.sound.setMute(); - } - + this.sound.gamePaused(); this.onPause.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -22834,14 +22897,8 @@ Phaser.Game.prototype = { this._paused = false; this.time.gameResumed(); - this.input.reset(); - - if (this.sound.muteOnPause) - { - this.sound.unsetMute(); - } - + this.sound.gameResumed(); this.onResume.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -23380,7 +23437,7 @@ Phaser.Input.prototype = { * @property {boolean} [keyboard=true] * @property {boolean} [maxPointers=-1] * @property {boolean} [mouse=true] - * @property {boolean} [mouseWheel=true] + * @property {boolean} [mouseWheel=false] * @property {boolean} [mspointer=true] * @property {boolean} [pointerLock=true] * @property {boolean} [touch=true] @@ -23453,7 +23510,7 @@ Phaser.Input.prototype = { this.mousePointer.active = true; - if (config.mouseWheel !== false) + if (config.mouseWheel === true) { this.mouseWheel.start(); } @@ -32730,6 +32787,7 @@ Phaser.Component.Core.init = function (game, x, y, key, frame) if (this.components.PhysicsBody) { // Enable-body checks for hasOwnProperty; makes sure to lift property from prototype. + // eslint-disable-next-line no-self-assign this.body = this.body; } @@ -66829,6 +66887,12 @@ Phaser.SoundManager = function (game) */ this.onTouchUnlock = new Phaser.Signal(); + /** + * This signal is dispatched when the AudioContext state changes, only if using Web Audio. + * @property {Phaser.Signal} onStateChange + */ + this.onStateChange = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -66950,10 +67014,16 @@ Phaser.SoundManager = function (game) this._watchContext = null; /** - * @property {function} _resumeWebAudioOnClick - Bound 'click' handler. Added in boot(), if necessary. + * @property {function} _onClick - Bound handler for 'click' on the game canvas. Added in boot(), if necessary. + * @private + */ + this._onClick = this._onClick.bind(this); + + /** + * @property {function} _onStateChange - Bound handler for 'onstatechange' on the AudioContext. Added in boot(), if necessary. * @private */ - this._resumeWebAudioOnClick = this._resumeWebAudioOnClick.bind(this); + this._onStateChange = this._onStateChange.bind(this); }; Phaser.SoundManager.prototype = { @@ -67049,13 +67119,13 @@ Phaser.SoundManager.prototype = { this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); - /* - * A suspended context is actually normal (momentarily) in Firefox. - * In that case the input handler will do nothing, which is fine. - */ + // "A newly-created AudioContext will always begin in the suspended state, and a state change event will be fired whenever the state changes to a different state." + + this.context.onstatechange = this._onStateChange; + if (this.context.state === 'suspended') { - this.game.canvas.addEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.addEventListener('click', this._onClick); } } @@ -67106,13 +67176,24 @@ Phaser.SoundManager.prototype = { }, /** - * Try to resume a suspended WebAudio context. - * - * If the context isn't suspended, or if WebAudio isn't in use, nothing is done. + * Try to resume the Web Audio context, if using Web Audio. * * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. */ resumeWebAudio: function () + { + if (this.usingWebAudio) + { + return this.context.resume(); + } + }, + + /** + * Try to resume a suspended Web Audio context, if using Web Audio and the context is suspended. + * + * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. + */ + resumeWebAudioIfSuspended: function () { if (this.usingWebAudio && this.context.state === 'suspended') { @@ -67155,7 +67236,7 @@ Phaser.SoundManager.prototype = { this._unlockSource.onended = function unlockSourceOnEndedHandler () { _this.setTouchUnlock(); - _this.resumeWebAudio(); + _this.resumeWebAudioIfSuspended(); }; if (this._unlockSource.start === undefined) @@ -67168,7 +67249,7 @@ Phaser.SoundManager.prototype = { } // This fixes locked audio in Chrome > 55 cross origin iframes? - this.resumeWebAudio(); + this.resumeWebAudioIfSuspended(); } // We can remove the event because we've done what we needed (started the unlock sound playing) @@ -67560,6 +67641,32 @@ Phaser.SoundManager.prototype = { this.onUnMute.dispatch(); }, + /** + * Called by the game when paused. + * @private + */ + gamePaused: function () + { + if (this.muteOnPause) + { + this.setMute(); + } + }, + + /** + * Called by the game when resumed. + * @private + */ + gameResumed: function () + { + this.resumeWebAudio(); + + if (this.muteOnPause) + { + this.unsetMute(); + } + }, + /** * Stops all the sounds in the game, then destroys them and finally clears up any callbacks. * @@ -67569,12 +67676,19 @@ Phaser.SoundManager.prototype = { { this.removeAll(); + this.onMute.dispose(); this.onSoundDecode.dispose(); + this.onStateChange.dispose(); + this.onTouchUnlock.dispose(); + this.onUnMute.dispose(); + this.onVolumeChange.dispose(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); if (this.context) { + this.context.onstatechange = null; + 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 @@ -67585,14 +67699,29 @@ Phaser.SoundManager.prototype = { { this.context.close(); } + + this.context = null; } }, - _resumeWebAudioOnClick: function () + /** + * Handler for this.context.onstatechange. Copied and bound in SoundManager constructor. + * @private + */ + _onStateChange: function () { - this.resumeWebAudio(); + this.onStateChange.dispatch(this.context.state); + }, + + /** + * Handler for this.game.canvas 'click'. Copied and bound in SoundManager constructor. + * @private + */ + _onClick: function () + { + this.resumeWebAudioIfSuspended(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); } }; @@ -70491,13 +70620,51 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Game ID ' + game.id); - this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' ' + game.width + ' x ' + game.height); + this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' (' + game.width + ' x ' + game.height + ')'); this.line('Paused: ' + game.paused); this.line('Stepping: ' + game.stepping + ' (' + game.stepCount + ')'); this.stop(); }, + /** + * Render game state info. + * + * Icons show (+) pending, (>) loading, (*) created. + * + * @method Phaser.Utils.Debug#state + * @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). + */ + state: function (x, y, color) + { + var state = this.game.state; + var keys = Object.keys(state.states); + + this.start(x, y, color); + + for (var i = 0; i < keys.length; i++) + { + var key = keys[i]; + + if (key === state.current) + { + this.line((state._created ? '* ' : '> ') + key); + } + else if (key === state._pendingState) + { + this.line('+ ' + key); + } + else + { + this.line(' ' + key); + } + } + + this.stop(); + }, + /** * Render Sound Manager information, including volume, mute, audio mode, and locked status. * @@ -81481,8 +81648,9 @@ Phaser.Tilemap.prototype = { }, /** - * Searches the entire map layer for the first tile matching the given index, then returns that Phaser.Tile object. - * If no match is found it returns null. + * Searches the entire map layer for the first tile or all tiles matching the given index. + * When `all` is false (the default), it returns a Phaser.Tile object or null. + * When `all` is true, it returns an array Phaser.Tile objects, or none (an empty array). * The search starts from the top-left tile and continues horizontally until it hits the end of the row, then it drops down to the next column. * If the reverse boolean is true, it scans starting from the bottom-right corner traveling up to the top-left. * diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index cdd64e68e..5417803f9 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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","postUpdate","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","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","all","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","_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","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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":";;CAoBA,WA+xMA,SAASA,EAAqBC,EAAIC,EAAOC,EAAQC,GAE7C,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,EAAoBrB,EAAIC,EAAOC,EAAQC,EAAWmB,GAEvD,IAAIC,EAAcvB,EAAGwB,oBACjBC,EAAqBzB,EAAG0B,qBACxBC,EAAc,KACdC,EAAW,EAiBf,OAfA5B,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,sBAEfC,QAAQC,MAAM,8BAA+BC,EAAUjB,IAE3DL,EAAYtB,MAAQA,EACpBsB,EAAYrB,OAASA,EACrBqB,EAAYuB,cAAgBnB,EAC5BJ,EAAYe,aAAeb,EACpBF,EA50MP,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,EAiBbjB,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,GAGzB7D,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,uBACL5C,KAAK6C,yBAsBTC,gBAAiB,SAAUzB,GAEvB,IAAKA,IAAWrB,KAAKqB,SAAWrB,KAAK+C,KAEjC,OAAO/C,KAGX,IAAIgD,EAAIhD,KAAKqB,OAETA,EAEA2B,EAAI3B,EAEErB,KAAKqB,SAEX2B,EAAIhD,KAAK+C,KAAKE,OAIlB,IAIIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAJhBC,EAAKR,EAAEzB,eACPkC,EAAKzD,KAAKuB,eAMVvB,KAAKgB,SAAWQ,OAAOkC,KAAKC,KAGxB3D,KAAKgB,WAAahB,KAAK4D,gBAEvB5D,KAAK4D,cAAgB5D,KAAKgB,SAC1BhB,KAAK8B,IAAM4B,KAAKG,IAAI7D,KAAKgB,UACzBhB,KAAK+B,IAAM2B,KAAKI,IAAI9D,KAAKgB,WAI7BkC,EAAIlD,KAAK+B,IAAM/B,KAAKc,MAAMiD,EAC1BZ,EAAInD,KAAK8B,IAAM9B,KAAKc,MAAMiD,EAC1BX,GAAKpD,KAAK8B,IAAM9B,KAAKc,MAAMkD,EAC3BX,EAAIrD,KAAK+B,IAAM/B,KAAKc,MAAMkD,EAC1BV,EAAKtD,KAAKY,SAASmD,EACnBR,EAAKvD,KAAKY,SAASoD,GAGfhE,KAAKe,MAAMgD,GAAK/D,KAAKe,MAAMiD,KAE3BV,GAAMtD,KAAKe,MAAMgD,EAAIb,EAAIlD,KAAKe,MAAMiD,EAAIZ,EACxCG,GAAMvD,KAAKe,MAAMgD,EAAIZ,EAAInD,KAAKe,MAAMiD,EAAIX,GAI5CI,EAAGP,EAAIA,EAAIM,EAAGN,EAAIC,EAAIK,EAAGJ,EACzBK,EAAGN,EAAID,EAAIM,EAAGL,EAAIA,EAAIK,EAAGH,EACzBI,EAAGL,EAAIA,EAAII,EAAGN,EAAIG,EAAIG,EAAGJ,EACzBK,EAAGJ,EAAID,EAAII,EAAGL,EAAIE,EAAIG,EAAGH,EACzBI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,KAKnCL,EAAIlD,KAAKc,MAAMiD,EACfZ,EAAI,EACJC,EAAI,EACJC,EAAIrD,KAAKc,MAAMkD,EACfV,EAAKtD,KAAKY,SAASmD,EAAI/D,KAAKe,MAAMgD,EAAIb,EACtCK,EAAKvD,KAAKY,SAASoD,EAAIhE,KAAKe,MAAMiD,EAAIX,EAEtCI,EAAGP,EAAIA,EAAIM,EAAGN,EACdO,EAAGN,EAAID,EAAIM,EAAGL,EACdM,EAAGL,EAAIC,EAAIG,EAAGJ,EACdK,EAAGJ,EAAIA,EAAIG,EAAGH,EACdI,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,GAEjCnD,KAAK4B,cAAiBuB,EAAI,EAAKO,KAAKU,KAAKlB,EAAIgB,IAAMR,KAAKU,KAAKlB,EAAIgB,GACjElE,KAAK2B,WAAWoC,EAAIG,EACpBlE,KAAK2B,WAAWqC,EAAIC,EAASC,OAE5B,GAAId,GAAKC,EACd,CACI,IAAIgB,EAAIX,KAAKS,KAAMf,EAAIA,EAAMC,EAAIA,GAEjCrD,KAAK4B,cAAgBJ,OAAOkC,KAAKY,SAAYjB,EAAI,EAAKK,KAAKU,MAAMhB,EAAIiB,IAAMX,KAAKU,KAAKhB,EAAIiB,IACzFrE,KAAK2B,WAAWoC,EAAIE,EAASI,EAC7BrE,KAAK2B,WAAWqC,EAAIK,OAIpBrE,KAAK2B,WAAWoC,EAAI,EACpB/D,KAAK2B,WAAWqC,EAAI,EAiBxB,OAbAhE,KAAKsB,WAAatB,KAAKiB,MAAQ+B,EAAE1B,WACjCtB,KAAK0B,cAAcqC,EAAIN,EAAGH,GAC1BtD,KAAK0B,cAAcsC,EAAIP,EAAGF,GAG1BvD,KAAKkC,eAAiB,KAGlBlC,KAAKuE,mBAELvE,KAAKuE,kBAAkBC,KAAKxE,KAAKyE,yBAA0BhB,EAAID,GAG5DxD,MAQX0E,UAAW,aAkBXC,gBAAiB,SAAUC,EAAY9G,EAAW+G,GAE9C,IAAIC,EAAS9E,KAAK+E,iBAEdC,EAAgB,IAAIxD,OAAOyD,cAAcjF,KAAK+C,KAAqB,EAAf+B,EAAOlH,MAA2B,EAAhBkH,EAAOjH,OAAYgH,EAAU/G,EAAW8G,GAOlH,OALApG,EAAKmC,cAAcuE,YAAY5B,IAAMwB,EAAOf,EAC5CvF,EAAKmC,cAAcuE,YAAY3B,IAAMuB,EAAOd,EAE5CgB,EAAcG,OAAOnF,KAAMxB,EAAKmC,cAAcuE,aAEvCF,GASXI,YAAa,WAIT,OAFApF,KAAKqF,wBAEErF,MAUXsF,SAAU,SAAU1E,GAIhB,OAFAZ,KAAK8C,kBAEE9C,KAAKuB,eAAegE,MAAM3E,IAWrC4E,QAAS,SAAU5E,EAAU6E,GASzB,OAPIA,IAEA7E,EAAW6E,EAAKH,SAAS1E,IAG7BZ,KAAK8C,kBAEE9C,KAAKuB,eAAemE,aAAa9E,IAU5C+E,oBAAqB,SAAUC,GAE3B5F,KAAK6F,cAAcvE,WAAatB,KAAKsB,WAEjCsE,EAAcjI,GAEda,EAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAK6F,cAAeD,GAI5DpH,EAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAK6F,cAAeD,IAUrEP,sBAAuB,WAEnBrF,KAAKoC,gBAAiB,EAEtB,IAAI0C,EAAS9E,KAAK+E,iBAQlB,GALAD,EAAOlH,MAAQ8F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOlH,QAC5CkH,EAAOjH,OAAS6F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOjH,SAE7CmC,KAAK8C,kBAEA9C,KAAK6F,cAaN7F,KAAK6F,cAAc9H,QAAQoI,OAAOrB,EAAOlH,MAAOkH,EAAOjH,YAZ3D,CACI,IAAIoB,EAAc,EACde,KAAKjC,SAAWiC,KAAKjC,QAAQqI,aAAe5H,EAAK6H,4BAEjDpH,EAAce,KAAKjC,QAAQqI,YAAYE,cAE3C,IAAItB,EAAgB,IAAIxD,OAAOyD,cAAcjF,KAAK+C,KAAM+B,EAAOlH,MAAOkH,EAAOjH,YAAQ0I,OAAWA,OAAWA,OAAWA,EAAWtH,GACjIe,KAAK6F,cAAgB,IAAIrH,EAAKsH,OAAOd,GACrChF,KAAK6F,cAActE,eAAiBvB,KAAKuB,eAQ7C,IAAIiF,EAAcxG,KAAKyG,SAEvBzG,KAAKyG,SAAW,KAChBzG,KAAK6F,cAAca,QAAUF,EAE7BhI,EAAKmC,cAAcuE,YAAY5B,IAAMwB,EAAOf,EAC5CvF,EAAKmC,cAAcuE,YAAY3B,IAAMuB,EAAOd,EAC5ChE,KAAK6F,cAAc9H,QAAQoH,OAAOnF,KAAMxB,EAAKmC,cAAcuE,aAAa,GACxElF,KAAK6F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOlH,MAClDoC,KAAK6F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOjH,OAElDmC,KAAKyG,SAAWD,EAEhBxG,KAAKoC,gBAAiB,GAS1BQ,qBAAsB,WAEb5C,KAAK6F,gBAKV7F,KAAK6F,cAAc9H,QAAQyE,SAAQ,GAEnCxC,KAAK6F,cAAgB,OAGzBhD,sBAAuB,WAEd7C,KAAK4G,gBAKVpF,OAAOqF,WAAWC,eAAe9G,KAAK4G,eAEtC5G,KAAK4G,cAAgB,QAM7BpI,EAAKmC,cAAc2B,UAAUyE,6BAA+BvI,EAAKmC,cAAc2B,UAAUQ,gBAEzFkE,OAAOC,iBAAiBzI,EAAKmC,cAAc2B,WAQvCyB,GAEImD,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,IAW1BpD,GAEIkD,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,IAU1BC,cAEIH,IAAK,WAED,GAAKlH,KAAKkB,QAKV,CACI,IAAIoG,EAAOtH,KAAKqB,OAEhB,IAAKiG,EAED,OAAOtH,KAAKkB,QAIZ,EACA,CACI,IAAKoG,EAAKpG,QAEN,OAAO,EAGXoG,EAAOA,EAAKjG,aAETiG,GAGX,OAAO,EAxBP,OAAO,IAuCnBC,MAEIL,IAAK,WAED,OAAOlH,KAAKmC,OAGhBgF,IAAK,SAAUC,GAEPpH,KAAKmC,QAELnC,KAAKmC,MAAMqF,QAAS,GAGxBxH,KAAKmC,MAAQiF,EAETA,IAEApH,KAAKmC,MAAMqF,QAAS,KAmBhCd,SAEIQ,IAAK,WAED,OAAOlH,KAAKyG,UAGhBU,IAAK,SAAUC,GAEX,GAAIK,MAAMC,QAAQN,GAClB,CAII,IAAK,IAFDO,KAEKjF,EAAI,EAAGA,EAAI0E,EAAMzE,OAAQD,IAI9B,IAAK,IAFDkF,EAAeR,EAAM1E,GAAGiF,OAEnBE,EAAI,EAAGA,EAAID,EAAajF,OAAQkF,IAErCF,EAAOG,KAAKF,EAAaC,IAKjC7H,KAAK+H,cAAiBC,OAAQhI,KAAM4H,aAAcD,GAGtD3H,KAAKyG,SAAWW,EAEZpH,KAAKiI,WAAajI,KAAKiI,YAAczJ,EAAK0J,WAAWC,WAErDnI,KAAKiI,UAAYzJ,EAAK0J,WAAWE,UAuB7CC,eAEInB,IAAK,WAED,OAAOlH,KAAKoC,gBAGhB+E,IAAK,SAAUC,GAEPpH,KAAKoC,iBAAmBgF,IAKxBA,EAEApH,KAAKqF,wBAILrF,KAAK4C,uBAGT5C,KAAKoC,eAAiBgF,OAmBlC5I,EAAK8J,uBAAyB,WAE1B9J,EAAKmC,cAAc6D,KAAKxE,MASxBA,KAAKyC,YAWLzC,KAAKuI,kBAAmB,GAG5B/J,EAAK8J,uBAAuBhG,UAAY0E,OAAOwB,OAAOhK,EAAKmC,cAAc2B,WACzE9D,EAAK8J,uBAAuBhG,UAAUC,YAAc/D,EAAK8J,uBASzD9J,EAAK8J,uBAAuBhG,UAAUmG,SAAW,SAAUC,GAEvD,OAAO1I,KAAK2I,WAAWD,EAAO1I,KAAKyC,SAASE,SAWhDnE,EAAK8J,uBAAuBhG,UAAUqG,WAAa,SAAUD,EAAOE,GAEhE,GAAIA,GAAS,GAAKA,GAAS5I,KAAKyC,SAASE,OAWrC,OATI+F,EAAMrH,QAENqH,EAAMrH,OAAOwH,YAAYH,GAG7BA,EAAMrH,OAASrB,KAEfA,KAAKyC,SAASqG,OAAOF,EAAO,EAAGF,GAExBA,EAIP,MAAM,IAAIK,MAAML,EAAQ,yBAA2BE,EAAQ,8BAAgC5I,KAAKyC,SAASE,SAWjHnE,EAAK8J,uBAAuBhG,UAAU0G,aAAe,SAAUN,EAAOO,GAElE,GAAIP,IAAUO,EAAd,CAKA,IAAIC,EAASlJ,KAAKmJ,cAAcT,GAC5BU,EAASpJ,KAAKmJ,cAAcF,GAEhC,GAAIC,EAAS,GAAKE,EAAS,EAEvB,MAAM,IAAIL,MAAM,iFAGpB/I,KAAKyC,SAASyG,GAAUD,EACxBjJ,KAAKyC,SAAS2G,GAAUV,IAU5BlK,EAAK8J,uBAAuBhG,UAAU6G,cAAgB,SAAUT,GAE5D,IAAIE,EAAQ5I,KAAKyC,SAAS4G,QAAQX,GAElC,IAAe,IAAXE,EAEA,MAAM,IAAIG,MAAM,4DAGpB,OAAOH,GAUXpK,EAAK8J,uBAAuBhG,UAAUgH,cAAgB,SAAUZ,EAAOE,GAEnE,GAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,OAEpC,MAAM,IAAIoG,MAAM,uCAGpB,IAAIQ,EAAevJ,KAAKmJ,cAAcT,GAEtC1I,KAAKyC,SAASqG,OAAOS,EAAc,GACnCvJ,KAAKyC,SAASqG,OAAOF,EAAO,EAAGF,IAUnClK,EAAK8J,uBAAuBhG,UAAUkH,WAAa,SAAUZ,GAEzD,GAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,OAEpC,MAAM,IAAIoG,MAAM,8BAAgCH,EAAQ,kGAG5D,OAAO5I,KAAKyC,SAASmG,IAUzBpK,EAAK8J,uBAAuBhG,UAAUuG,YAAc,SAAUH,GAE1D,IAAIE,EAAQ5I,KAAKyC,SAAS4G,QAAQX,GAElC,IAAe,IAAXE,EAKJ,OAAO5I,KAAKyJ,cAAcb,IAU9BpK,EAAK8J,uBAAuBhG,UAAUmH,cAAgB,SAAUb,GAE5D,IAAIF,EAAQ1I,KAAKwJ,WAAWZ,GAS5B,OAPIF,IAEAA,EAAMrH,YAASkF,EAEfvG,KAAKyC,SAASqG,OAAOF,EAAO,IAGzBF,GAGXlK,EAAK8J,uBAAuBhG,UAAUoH,gBAAkB,SAAUhB,GAE9D,GAAIA,EAAMrH,SAAWrB,KAKrB,OAAOA,KAAKsJ,cAAcZ,EAAO1I,KAAKyC,SAASE,OAAS,IAG5DnE,EAAK8J,uBAAuBhG,UAAUqH,gBAAkB,SAAUjB,GAE9D,GAAIA,EAAMrH,SAAWrB,KAKrB,OAAOA,KAAKsJ,cAAcZ,EAAO,IAUrClK,EAAK8J,uBAAuBhG,UAAUsH,eAAiB,SAAUC,EAAYC,QAEtDvD,IAAfsD,IAA4BA,EAAa,QAC5BtD,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,QAEvD,IAAIoH,EAAQD,EAAWD,EAEvB,GAAIE,EAAQ,GAAKA,GAASD,EAC1B,CAGI,IAAK,IAFDE,EAAUhK,KAAKyC,SAASqG,OAAOe,EAAYE,GAEtCrH,EAAI,EAAGA,EAAIsH,EAAQrH,OAAQD,IAEpBsH,EAAQtH,GACdrB,YAASkF,EAGnB,OAAOyD,EAEN,GAAc,IAAVD,GAAwC,IAAzB/J,KAAKyC,SAASE,OAElC,SAIA,MAAM,IAAIoG,MAAM,iFAUxBvK,EAAK8J,uBAAuBhG,UAAUQ,gBAAkB,WAEpD,GAAK9C,KAAKkB,UAKVlB,KAAK+G,gCAED/G,KAAKoC,gBAKT,IAAK,IAAIM,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,mBAKzBtE,EAAK8J,uBAAuBhG,UAAU2H,sCAAwCzL,EAAK8J,uBAAuBhG,UAAUQ,gBASpHtE,EAAK8J,uBAAuBhG,UAAU4H,UAAY,SAAUC,GAExD,IAAIC,EAAwCD,GAAyBA,aAAiC3L,EAAKmC,cACvG0J,GAAsC,EAErCD,EAMDC,EAFKF,aAAiC3L,EAAK8J,wBAEL6B,EAAsBG,SAAStK,MAJrEmK,EAAwBnK,KAW5B,IAAI0C,EAEJ,GAAI0H,EACJ,CACI,IAAIG,EAAcJ,EAAsB5I,eAIxC,IAFA4I,EAAsB5I,eAAiBC,OAAOgJ,eAEzC9H,EAAI,EAAGA,EAAIyH,EAAsB1H,SAASE,OAAQD,IAEnDyH,EAAsB1H,SAASC,GAAGI,kBAI1C,IAMI2H,EACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAMRI,GAAe,EAEnB,IAAKvI,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtB1C,KAAKyC,SAASC,GAEfxB,UAKX+J,GAAe,EAIfL,EAAQA,GAFRH,EAAczK,KAAKyC,SAASC,GAAGwH,aAEJnG,EAAK6G,EAAOH,EAAY1G,EACnD+G,EAAQA,EAAOL,EAAYzG,EAAK8G,EAAOL,EAAYzG,EAEnD0G,EAAYD,EAAY7M,MAAQ6M,EAAY1G,EAC5C4G,EAAYF,EAAY5M,OAAS4M,EAAYzG,EAE7C+G,EAAQA,EAAOL,EAAaK,EAAOL,EACnCM,EAAQA,EAAOL,EAAaK,EAAOL,GAGvC,IAAI7F,EAAS9E,KAAKgC,QAElB,IAAKiJ,EACL,CAGI,IAAIC,GAFJpG,EAAS,IAAItG,EAAKyD,WAEF8B,EACZoH,EAAKrG,EAAOlH,MAAQkH,EAAOf,EAE3BqH,EAAKtG,EAAOd,EACZqH,EAAKvG,EAAOjH,OAASiH,EAAOd,EAE5BzC,EAAiBvB,KAAKuB,eAEtB2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAE3BwH,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,GALAlG,EAAOf,EAAI6G,EACX9F,EAAOd,EAAI8G,EACXhG,EAAOlH,MAAQmN,EAAOH,EACtB9F,EAAOjH,OAASmN,EAAOF,EAEnBV,EAIA,IAFAD,EAAsB5I,eAAiBgJ,EAElC7H,EAAI,EAAGA,EAAIyH,EAAsB1H,SAASE,OAAQD,IAEnDyH,EAAsB1H,SAASC,GAAGI,kBAI1C,IAAKuH,EACL,CACI,IAAIyB,EAA8B3B,EAAsBD,YAExDpF,EAAOf,GAAK+H,EAA4B/H,EACxCe,EAAOd,GAAK8H,EAA4B9H,EAG5C,OAAOc,GASXtG,EAAK8J,uBAAuBhG,UAAUyC,eAAiB,WAEnD,OAAO/E,KAAKkK,UAAUlK,OAU1BxB,EAAK8J,uBAAuBhG,UAAUgI,SAAW,SAAU5B,GAEvD,QAAKA,IAIIA,IAAU1I,MAMRA,KAAKsK,SAAS5B,EAAMrH,UAWnC7C,EAAK8J,uBAAuBhG,UAAUyD,aAAe,SAAUH,GAE3D,GAAK5F,KAAKkB,WAAWlB,KAAKiB,OAAS,GAKnC,GAAIjB,KAAKoC,eAELpC,KAAK2F,oBAAoBC,OAF7B,CAMA,IAAIlD,EAEJ,GAAI1C,KAAKmC,OAASnC,KAAKyG,SACvB,CAgBI,IAdIzG,KAAKyG,WAELb,EAAcmG,YAAYC,QAC1BpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKmC,QAELyD,EAAcmG,YAAYI,OAC1BvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CA,EAAcmG,YAAYO,SAIzB5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlCA,EAAcmG,YAAYI,OAEtBnM,KAAKmC,OAASyD,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,GAC5D5F,KAAKyG,UAAYb,EAAcqG,cAAcO,YAEjD5G,EAAcmG,YAAYO,aAK1B,IAAK5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGqD,aAAaH,KAY1CpH,EAAK8J,uBAAuBhG,UAAU0D,cAAgB,SAAUJ,GAE5D,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,MAKnC,GAAIjB,KAAKoC,eAELpC,KAAK2F,oBAAoBC,OAF7B,CAMI5F,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnD,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,KAU1CoB,OAAOyF,eAAejO,EAAK8J,uBAAuBhG,UAAW,SAEzD4E,IAAK,WAED,OAAOlH,KAAK+E,iBAAiBnH,MAAQoC,KAAKc,MAAMiD,GAGpDoD,IAAK,SAAUC,GAEX,IAAIxJ,EAAQoC,KAAK+E,iBAAiBnH,MAI9BoC,KAAKc,MAAMiD,EAFD,IAAVnG,EAEewJ,EAAQxJ,EAIR,EAGnBoC,KAAK0M,OAAStF,KAUtBJ,OAAOyF,eAAejO,EAAK8J,uBAAuBhG,UAAW,UAEzD4E,IAAK,WAED,OAAOlH,KAAK+E,iBAAiBlH,OAASmC,KAAKc,MAAMkD,GAGrDmD,IAAK,SAAUC,GAEX,IAAIvJ,EAASmC,KAAK+E,iBAAiBlH,OAI/BmC,KAAKc,MAAMkD,EAFA,IAAXnG,EAEeuJ,EAAQvJ,EAIR,EAGnBmC,KAAK2M,QAAUvF,KAiBvB5I,EAAKsH,OAAS,SAAU/H,GAEpBS,EAAK8J,uBAAuB9D,KAAKxE,MAajCA,KAAK2G,OAAS,IAAInI,EAAKqC,MAAMrC,EAAKsH,OAAO8G,cAAc7I,EAAGvF,EAAKsH,OAAO8G,cAAc5I,GAQpFhE,KAAKjC,QAAUA,GAAWS,EAAKqO,QAAQC,aASvC9M,KAAK0M,OAAS,EASd1M,KAAK2M,QAAU,EASf3M,KAAK+M,KAAO,SAUZ/M,KAAKgN,YAAc,EASnBhN,KAAK4G,cAAgB,KAWrB5G,KAAKiI,UAAYzJ,EAAK0J,WAAWE,OAUjCpI,KAAKiN,OAAS,KASdjN,KAAKkN,QAAS,EAEVlN,KAAKjC,QAAQqI,YAAY+G,WAEzBnN,KAAKoN,kBAGTpN,KAAKoB,YAAa,GAQtB5C,EAAKsH,OAAO8G,eAAiB7I,EAAG,EAAGC,EAAG,GAGtCxF,EAAKsH,OAAOxD,UAAY0E,OAAOwB,OAAOhK,EAAK8J,uBAAuBhG,WAClE9D,EAAKsH,OAAOxD,UAAUC,YAAc/D,EAAKsH,OAQzCkB,OAAOyF,eAAejO,EAAKsH,OAAOxD,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKc,MAAMiD,EAAI/D,KAAKjC,QAAQsP,MAAMzP,OAG7CuJ,IAAK,SAAUC,GAEXpH,KAAKc,MAAMiD,EAAIqD,EAAQpH,KAAKjC,QAAQsP,MAAMzP,MAC1CoC,KAAK0M,OAAStF,KAWtBJ,OAAOyF,eAAejO,EAAKsH,OAAOxD,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKc,MAAMkD,EAAIhE,KAAKjC,QAAQsP,MAAMxP,QAG7CsJ,IAAK,SAAUC,GAEXpH,KAAKc,MAAMkD,EAAIoD,EAAQpH,KAAKjC,QAAQsP,MAAMxP,OAC1CmC,KAAK2M,QAAUvF,KAavB5I,EAAKsH,OAAOxD,UAAUgL,WAAa,SAAUvP,EAASwP,GAE9CA,GAEAvN,KAAKjC,QAAQqI,YAAY5D,UAI7BxC,KAAKjC,QAAQqI,YAAYoH,YAAa,EACtCxN,KAAKjC,QAAUA,EACfiC,KAAKjC,QAAQ0P,OAAQ,EACrBzN,KAAKgN,YAAc,GAUvBxO,EAAKsH,OAAOxD,UAAU8K,gBAAkB,WAGhCpN,KAAK0M,SAAU1M,KAAKc,MAAMiD,EAAI/D,KAAK0M,OAAS1M,KAAKjC,QAAQsP,MAAMzP,OAC/DoC,KAAK2M,UAAW3M,KAAKc,MAAMkD,EAAIhE,KAAK2M,QAAU3M,KAAKjC,QAAQsP,MAAMxP,SAiBzEW,EAAKsH,OAAOxD,UAAU4H,UAAY,SAAUwD,GAExC,IAAI9P,EAAQoC,KAAKjC,QAAQsP,MAAMzP,MAC3BC,EAASmC,KAAKjC,QAAQsP,MAAMxP,OAE5BqN,EAAKtN,GAAS,EAAIoC,KAAK2G,OAAO5C,GAC9BoH,EAAKvN,GAASoC,KAAK2G,OAAO5C,EAE1BqH,EAAKvN,GAAU,EAAImC,KAAK2G,OAAO3C,GAC/BqH,EAAKxN,GAAUmC,KAAK2G,OAAO3C,EAE3BzC,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEX,GAAU,IAAN1H,GAAiB,IAANC,EACf,CAEI,GAAIF,EAAI,EACR,CACIA,IAAM,EACFyK,EAAOzC,EACXA,GAAMC,EACNA,GAAMwC,EAGV,GAAItK,EAAI,EACR,CACIA,IAAM,EACN,IAAIsK,EAAOvC,EACXA,GAAMC,EACNA,GAAMsC,EAOV/C,EAAO1H,EAAIiI,EAAK7H,EAChByH,EAAO7H,EAAIgI,EAAK5H,EAChBwH,EAAOzH,EAAIgI,EAAK9H,EAChByH,EAAO3H,EAAI+H,EAAK7H,MAGpB,CACI,IAAI+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAK3BqH,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,IAAIlG,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXtG,EAAKsH,OAAOxD,UAAUyC,eAAiB,WAEnC,IAAIwF,EAAcvK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,OAAOgJ,eAE7B,IAAK,IAAI9H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,kBAGrB,IAAIgC,EAAS9E,KAAKkK,YAIlB,IAFAlK,KAAKuB,eAAiBgJ,EAEjB7H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGI,kBAGrB,OAAOgC,GAWXtG,EAAKsH,OAAOxD,UAAUyD,aAAe,SAAUH,EAAe8H,GAG1D,GAAK1N,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKoB,WAA9C,CAGA,IAAIqC,EAAKzD,KAAKuB,eAQd,GANImM,IAEAjK,EAAKiK,GAIL1N,KAAKmC,OAASnC,KAAKyG,SACvB,CACI,IAAIsF,EAAcnG,EAAcmG,YAG5B/L,KAAKyG,WAELsF,EAAYC,QACZpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKmC,QAEL4J,EAAYI,OACZvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CmG,EAAYO,SAIhBP,EAAY5G,OAAOnF,MAGnB,IAAS0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAIlCmG,EAAYI,OAERnM,KAAKmC,OAASyD,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,GAC5D5F,KAAKyG,UAAYb,EAAcqG,cAAcO,YAEjDT,EAAYO,YAGhB,CACI1G,EAAcmG,YAAY5G,OAAOnF,MAGjC,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,EAAenC,MAazDjF,EAAKsH,OAAOxD,UAAU0D,cAAgB,SAAUJ,EAAe8H,GAG3D,MAAK1N,KAAKkB,SAA0B,IAAflB,KAAKiB,QAAgBjB,KAAKoB,YAAcpB,KAAKjC,QAAQ6P,KAAKhQ,MAAQ,GAAKoC,KAAKjC,QAAQ6P,KAAK/P,OAAS,GAAvH,CAKA,IAAI4F,EAAKzD,KAAKuB,eAoBd,GAjBImM,IAEAjK,EAAKiK,GAGL1N,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtCrC,EAAckI,QAAQC,yBAA2BvP,EAAKwP,iBAAiBpI,EAAciI,mBAGrF7N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAI9C5F,KAAKjC,QAAQ0P,MAAlB,CAgBA,IAAI7I,EAAa5E,KAAKjC,QAAQqI,YAAYxB,WAAagB,EAAchB,WAErEgB,EAAckI,QAAQG,YAAcjO,KAAKsB,WAGrCsE,EAAcsI,gBAAkBtI,EAAc9H,YAAckC,KAAKjC,QAAQqI,YAAYtI,YAErF8H,EAAc9H,UAAYkC,KAAKjC,QAAQqI,YAAYtI,UACnD8H,EAAckI,QAAQlI,EAAcsI,gBAAmBtI,EAAc9H,YAAcU,EAAKC,WAAWC,QAIvG,IAAIyP,EAAMnO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQqQ,KAAKrK,EAAI/D,KAAK2G,OAAO5C,EAAI/D,KAAKjC,QAAQqQ,KAAKxQ,MAAQoC,KAAK2G,OAAO5C,GAAK/D,KAAKjC,QAAQsP,MAAMzP,MAC/HyQ,EAAMrO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQqQ,KAAKpK,EAAIhE,KAAK2G,OAAO3C,EAAIhE,KAAKjC,QAAQqQ,KAAKvQ,OAASmC,KAAK2G,OAAO3C,GAAKhE,KAAKjC,QAAQsP,MAAMxP,OAEhIyF,EAAMG,EAAGH,GAAKsC,EAAchB,WAAcgB,EAAc0I,OACxD/K,EAAME,EAAGF,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAExDC,EAAKxO,KAAKjC,QAAQ6P,KAAKhQ,MACvB6Q,EAAKzO,KAAKjC,QAAQ6P,KAAK/P,OAE3B,GAAImC,KAAKjC,QAAQ2Q,QACjB,CACI,IAAIxL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EACPC,EAAII,EAAGJ,EACPsL,EAAIH,EAGRlL,EAAKG,EAAGL,EAAIqL,EAAKnL,EACjBC,EAAKE,EAAGJ,EAAIoL,EAAKlL,EAMjBE,EAAGP,EAAQ,sBAAJA,EAA6BE,EACpCK,EAAGN,EAAQ,sBAAJA,EAA6BE,EACpCI,EAAGL,EAAIF,EAAQ,sBAAJE,EACXK,EAAGJ,EAAIF,EAAQ,sBAAJE,EAGXmL,EAAKC,EACLA,EAAKE,EAqBT,GAjBI/I,EAAcgJ,aAEdhJ,EAAckI,QAAQe,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAQ,EAALC,EAAa,EAALC,GACnE4K,GAAM,EACNE,GAAM,GAINzI,EAAckI,QAAQe,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAGnE4K,GAAMvJ,EACNyJ,GAAMzJ,EAEN4J,GAAM,EACNC,GAAM,EAEDD,GAAOC,EAAZ,CAKA,GAAkB,WAAdzO,KAAK+M,MAED/M,KAAKjC,QAAQ+Q,gBAAkB9O,KAAKgN,aAAehN,KAAK+M,QAExD/M,KAAK4G,cAAgBpI,EAAKuQ,aAAaC,iBAAiBhP,KAAMA,KAAK+M,MAEnE/M,KAAKgN,WAAahN,KAAK+M,KACvB/M,KAAKjC,QAAQ+Q,gBAAiB,GAGlClJ,EAAckI,QAAQmB,UAAUjP,KAAK4G,cAAe,EAAG,EAAG4H,EAAIC,EAAIN,EAAIE,EAAIG,EAAK5J,EAAY6J,EAAK7J,OAGpG,CACI,IAAIsK,EAAKlP,KAAKjC,QAAQ6P,KAAK7J,EACvBoL,EAAKnP,KAAKjC,QAAQ6P,KAAK5J,EAE3B4B,EAAckI,QAAQmB,UAAUjP,KAAKjC,QAAQqI,YAAYgJ,OAAQF,EAAIC,EAAIX,EAAIC,EAAIN,EAAIE,EAAIG,EAAK5J,EAAY6J,EAAK7J,GAGnH,IAASlC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,QAjHtC,CAGI,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,MAoH9CpH,EAAK6Q,mBAAqB,aAW1B7Q,EAAK8Q,oBAAsB,SAAU3R,EAAI4R,GAErC,OAAO/Q,EAAKgR,eAAe7R,EAAI4R,EAAW5R,EAAG8R,gBAUjDjR,EAAKkR,sBAAwB,SAAU/R,EAAI4R,GAEvC,OAAO/Q,EAAKgR,eAAe7R,EAAI4R,EAAW5R,EAAGgS,kBAYjDnR,EAAKgR,eAAiB,SAAU7R,EAAI4R,EAAWK,GAE3C,IAAIC,EAAMN,EAEN9H,MAAMC,QAAQ6H,KAEdM,EAAMN,EAAUO,KAAK,OAGzB,IAAI7C,EAAStP,EAAGoS,aAAaH,GAI7B,OAHAjS,EAAGqS,aAAa/C,EAAQ4C,GACxBlS,EAAGsS,cAAchD,GAEZtP,EAAGuS,mBAAmBjD,EAAQtP,EAAGwS,gBAM/BlD,GAJHmD,OAAO9P,QAAQ+P,IAAI1S,EAAG2S,iBAAiBrD,IAChC,OAcfzO,EAAK+R,eAAiB,SAAU5S,EAAI6S,EAAWC,GAE3C,IAAIC,EAAiBlS,EAAKkR,sBAAsB/R,EAAI8S,GAChDE,EAAenS,EAAK8Q,oBAAoB3R,EAAI6S,GAE5CI,EAAgBjT,EAAGkT,gBAYvB,OAVAlT,EAAGmT,aAAaF,EAAeD,GAC/BhT,EAAGmT,aAAaF,EAAeF,GAC/B/S,EAAGoT,YAAYH,GAEVjT,EAAGqT,oBAAoBJ,EAAejT,EAAGsT,eAE1Cb,OAAO9P,QAAQ+P,IAAI1S,EAAGuT,kBAAkBN,IACxCR,OAAO9P,QAAQ+P,IAAI,iCAGhBO,GAaXpS,EAAK2S,WAAa,SAAUxT,GAOxBqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,YAAc,KAOnBzQ,KAAKsR,aAAe,EAQpBtR,KAAKuR,UAAW,EAOhBvR,KAAKwR,OAAQ,EAQbxR,KAAKyR,cAELzR,KAAK0R,QAGTlT,EAAK2S,WAAW7O,UAAUC,YAAc/D,EAAK2S,WAE7C3S,EAAK2S,WAAW7O,UAAUqP,mBAAqB,WAE3C,IAAIhU,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,+CACRA,EAAQ,wCAExB5I,KAAKyQ,aACD,iCACA,wBACA,+FACA,8BACA,uBACA,+BACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,4DACA,KAGJ,IAAIP,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,WAAahS,EAAK2S,WAAWa,iBAAkBhS,KAAKyQ,aAE/F9S,EAAGsU,WAAWZ,GAMdrR,KAAKkS,cAAgBvU,EAAGwU,mBAAmBd,EAAS,oBACpDrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cAGjDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,iBAEnD,IAAIuB,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKkS,cAAeU,IAUN,IAAzB5S,KAAK0S,iBAEJ1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK0S,eAAgB1S,KAAK2S,eAKxF,IAAK,IAAIK,KAAOhT,KAAKiT,SAGjBjT,KAAKiT,SAASD,GAAKE,gBAAkBvV,EAAGwU,mBAAmBd,EAAS2B,GAGxEhT,KAAKmT,eAELnT,KAAKqR,QAAUA,GAGnB7S,EAAK2S,WAAW7O,UAAU8Q,kBAAoB,WAEjB,OAArBpT,KAAKyQ,cAELzQ,KAAKyQ,aACD,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,kEACA,MAIR,IAAI9S,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,WAAahS,EAAK2S,WAAWa,iBAAkBhS,KAAKyQ,aAE/F9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW1V,EAAGwU,mBAAmBd,EAAS,YAC/CrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cAGjDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,kBAWvB,IAAzBrR,KAAK0S,iBAEJ1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK0S,eAAgB1S,KAAK2S,eAKxF,IAAK,IAAIK,KAAOhT,KAAKiT,SAGjBjT,KAAKiT,SAASD,GAAKE,gBAAkBvV,EAAGwU,mBAAmBd,EAAS2B,GAGxEhT,KAAKmT,eAELnT,KAAKqR,QAAUA,GAQnB7S,EAAK2S,WAAW7O,UAAUoP,KAAO,SAAU4B,GAEnC9U,EAAK6H,4BAA8BiN,EAEnCtT,KAAK2R,qBAIL3R,KAAKoT,qBAYb5U,EAAK2S,WAAW7O,UAAU6Q,aAAe,WAErCnT,KAAKsR,aAAe,EACpB,IACIiC,EADA5V,EAAKqC,KAAKrC,GAGd,IAAK,IAAIqV,KAAOhT,KAAKiT,SACrB,CAGI,IAAIO,GAFJD,EAAUvT,KAAKiT,SAASD,IAELQ,KAEN,cAATA,GAEAD,EAAQE,OAAQ,EAEM,OAAlBF,EAAQnM,OAERpH,KAAK0T,cAAcH,IAGT,SAATC,GAA4B,SAATA,GAA4B,SAATA,GAG3CD,EAAQI,UAAW,EACnBJ,EAAQK,cAAgB,EAEX,SAATJ,EAEAD,EAAQM,OAASlW,EAAGmW,iBAEN,SAATN,EAELD,EAAQM,OAASlW,EAAGoW,iBAEN,SAATP,IAELD,EAAQM,OAASlW,EAAGqW,oBAMxBT,EAAQM,OAASlW,EAAG,UAAY6V,GAI5BD,EAAQK,cAFC,OAATJ,GAA0B,OAATA,EAEO,EAEV,OAATA,GAA0B,OAATA,EAEE,EAEV,OAATA,GAA0B,OAATA,EAEE,EAIA,KAWxChV,EAAK2S,WAAW7O,UAAUoR,cAAgB,SAAUH,GAEhD,GAAKA,EAAQnM,OAAUmM,EAAQnM,MAAMhB,aAAgBmN,EAAQnM,MAAMhB,YAAY+G,UAA/E,CAKA,IAAIxP,EAAKqC,KAAKrC,GAOd,GAJAA,EAAG6B,cAAc7B,EAAG8B,SAAWO,KAAKsR,cACpC3T,EAAGM,YAAYN,EAAGO,WAAYqV,EAAQnM,MAAMhB,YAAY6N,YAAYtW,EAAGuW,KAGnEX,EAAQY,YACZ,CACI,IAAIC,EAAOb,EAAQY,YAgBfE,EAAaD,EAAc,UAAIA,EAAKC,UAAY1W,EAAGe,OACnD4V,EAAaF,EAAc,UAAIA,EAAKE,UAAY3W,EAAGe,OACnD6V,EAASH,EAAU,MAAIA,EAAKG,MAAQ5W,EAAGU,cACvCmW,EAASJ,EAAU,MAAIA,EAAKI,MAAQ7W,EAAGU,cACvCoW,EAAUL,EAAc,UAAIzW,EAAG+W,UAAY/W,EAAGmB,KAUlD,GARIsV,EAAKO,SAELJ,EAAQ5W,EAAGiX,OACXJ,EAAQ7W,EAAGiX,QAGfjX,EAAGkX,YAAYlX,EAAGmX,sBAAuBV,EAAKW,OAE1CX,EAAKxW,MACT,CACI,IAAIA,EAASwW,EAAU,MAAIA,EAAKxW,MAAQ,IACpCC,EAAUuW,EAAW,OAAIA,EAAKvW,OAAS,EACvCmX,EAAUZ,EAAW,OAAIA,EAAKY,OAAS,EAG3CrX,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGuW,EAAQ7W,EAAOC,EAAQmX,EAAQP,EAAQ9W,EAAGoB,cAAe,WAKzFpB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGuW,EAAQ9W,EAAGmB,KAAMnB,EAAGoB,cAAewU,EAAQnM,MAAMhB,YAAYgJ,QAGjGzR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoB8V,GACvD1W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoB0V,GACvD3W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBmW,GACnD5W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBkW,GAGvD7W,EAAGsX,UAAU1B,EAAQL,gBAAiBlT,KAAKsR,cAE3CiC,EAAQE,OAAQ,EAEhBzT,KAAKsR,iBAQT9S,EAAK2S,WAAW7O,UAAU4S,aAAe,WAErClV,KAAKsR,aAAe,EACpB,IAAIiC,EACA5V,EAAKqC,KAAKrC,GAGd,IAAK,IAAIqV,KAAOhT,KAAKiT,SAGa,KAD9BM,EAAUvT,KAAKiT,SAASD,IACZY,eAEiB,IAArBL,EAAQI,SAERJ,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQ4B,UAAW5B,EAAQnM,OAI5EmM,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,OAG9B,IAA1BmM,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,GAEjD,IAA1BuP,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,EAAGuP,EAAQnM,MAAMgO,GAElE,IAA1B7B,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,EAAGuP,EAAQnM,MAAMgO,EAAG7B,EAAQnM,MAAMiO,GAE5F,cAAjB9B,EAAQC,OAETD,EAAQE,OAER9V,EAAG6B,cAAc7B,EAAG,UAAYqC,KAAKsR,eAElCiC,EAAQnM,MAAMhB,YAAYkP,OAAO3X,EAAGuW,IAEnC1V,EAAK+W,UAAU5X,EAAGuW,IAAIsB,cAAcjC,EAAQnM,MAAMhB,aAKlDzI,EAAGM,YAAYN,EAAGO,WAAYqV,EAAQnM,MAAMhB,YAAY6N,YAAYtW,EAAGuW,KAI3EvW,EAAGsX,UAAU1B,EAAQL,gBAAiBlT,KAAKsR,cAC3CtR,KAAKsR,gBAILtR,KAAK0T,cAAcH,KAWnC/U,EAAK2S,WAAW7O,UAAUE,QAAU,WAEhCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAStBjT,EAAK2S,WAAWa,kBACZ,8BACA,kCACA,kCACA,gCACA,yBACA,iCAEA,iCACA,6BAEA,8BACA,uBACA,+BAEA,uCAEA,oBACA,uDACA,qGACA,oCACA,qDACA,oCACA,KAYJxT,EAAKkX,eAAiB,SAAU/X,GAsB5B,GAfAqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAEX7S,EAAK6H,0BACT,CACI,IAAI1I,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,wCAQxB5I,KAAKyQ,aACD,qCACA,wBACA,+FACA,8BACA,wBACA,+BACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,2DACA,UAKJ5R,KAAKyQ,aACD,qCACA,wBACA,8BACA,wBACA,+BACA,8BACA,oBACA,iEACA,KASRzQ,KAAKwQ,WACD,mCACA,kCACA,iCACA,yBACA,6BACA,gCACA,0BACA,iCAEA,iCACA,6BACA,wBAEA,8BACA,wBACA,+BAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCACA,oCAGA,sBACA,KAQJxQ,KAAKsR,aAAe,EAEpBtR,KAAK0R,QAGTlT,EAAKkX,eAAepT,UAAUC,YAAc/D,EAAKkX,eAOjDlX,EAAKkX,eAAepT,UAAUoP,KAAO,WAEjC,IAAI/T,EAAKqC,KAAKrC,GACV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAS3D,GAPA9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW7U,EAAK6H,0BACjB1I,EAAGwU,mBAAmBd,EAAS,oBAC/B1T,EAAGwU,mBAAmBd,EAAS,YAE/B7S,EAAK6H,0BACT,CACI,IAAIuM,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKqT,SAAUT,GAGjC5S,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cACjDrR,KAAK2V,QAAUhY,EAAGwU,mBAAmBd,EAAS,WAG9CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAK4V,eAAiBjY,EAAG6U,kBAAkBnB,EAAS,kBAEpDrR,KAAK6V,OAASlY,EAAG6U,kBAAkBnB,EAAS,UAC5CrR,KAAK8V,UAAYnY,EAAG6U,kBAAkBnB,EAAS,aAE/CrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UAEpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,kBAUtB,IAAzBrR,KAAK0S,iBAEL1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YACDzR,KAAKuS,gBACLvS,KAAK4V,eACL5V,KAAK6V,OACL7V,KAAK8V,UACL9V,KAAKyS,cACLzS,KAAK0S,eACL1S,KAAK2S,eAKT3S,KAAKqR,QAAUA,GAQnB7S,EAAKkX,eAAepT,UAAUE,QAAU,WAEpCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAYtBjT,EAAKuX,YAAc,SAAUpY,GAsBzB,GAfAqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAEX7S,EAAK6H,0BACT,CACI,IAAI1I,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,qGACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,gCASxB5I,KAAKyQ,aACD,iCACA,2BACA,+FACA,8BACA,+BAGA,uBACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,2DACA,UAUJ5R,KAAKyQ,aACD,iCACA,2BACA,8BACA,+BAGA,uBACA,8BACA,oBACA,wDACA,KASRzQ,KAAKwQ,WACD,+BACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BAMA,8BACA,+BAIA,oBACA,+DACA,4BACA,qGACA,oCACA,oCAGA,KAGJxQ,KAAK0R,QAGTlT,EAAKuX,YAAYzT,UAAUC,YAAc/D,EAAKuX,YAO9CvX,EAAKuX,YAAYzT,UAAUoP,KAAO,WAE9B,IAAI/T,EAAKqC,KAAKrC,GACV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAS3D,GARA9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW7U,EAAK6H,0BACjB1I,EAAGwU,mBAAmBd,EAAS,oBAC/B1T,EAAGwU,mBAAmBd,EAAS,YAG/B7S,EAAK6H,0BACT,CACI,IAAIuM,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKqT,SAAUT,GAGjC5S,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,iBAKnDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBAEnDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK2S,eAEnE3S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAKuX,YAAYzT,UAAUE,QAAU,WAEjCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKiW,UAAY,MAYrBzX,EAAK0X,gBAAkB,SAAUvY,GAO7BqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJzQ,KAAKwQ,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJxQ,KAAK0R,QAGTlT,EAAK0X,gBAAgB5T,UAAUC,YAAc/D,EAAK0X,gBAOlD1X,EAAK0X,gBAAgB5T,UAAUoP,KAAO,WAElC,IAAI/T,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAC3D9S,EAAGsU,WAAWZ,GAGdrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKmW,UAAYxY,EAAGwU,mBAAmBd,EAAS,QAChDrR,KAAK+U,MAAQpX,EAAGwU,mBAAmBd,EAAS,SAG5CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UAEpDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAK0S,gBAE/C1S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAK0X,gBAAgB5T,UAAUE,QAAU,WAErCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAYtBjT,EAAK4X,uBAAyB,SAAUzY,GAOpCqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJzQ,KAAKwQ,WACD,kCAGA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJxQ,KAAK0R,QAGTlT,EAAK4X,uBAAuB9T,UAAUC,YAAc/D,EAAK4X,uBAOzD5X,EAAK4X,uBAAuB9T,UAAUoP,KAAO,WAEzC,IAAI/T,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAC3D9S,EAAGsU,WAAWZ,GAGdrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKmW,UAAYxY,EAAGwU,mBAAmBd,EAAS,QAChDrR,KAAKqW,MAAQ1Y,EAAGwU,mBAAmBd,EAAS,SAC5CrR,KAAK+U,MAAQpX,EAAGwU,mBAAmBd,EAAS,SAG5CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBAIrDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAK0S,gBAE/C1S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAK4X,uBAAuB9T,UAAUE,QAAU,WAE5CxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKiW,UAAY,MAOrBzX,EAAK8X,cACL9X,EAAK+W,aACL/W,EAAK6H,2BAA4B,EAYjC7H,EAAK+X,cAAgB,SAAUxT,EAAMyT,GAKjCxW,KAAK+C,KAAOA,EAEPvE,EAAKiY,kBAENjY,EAAKiY,gBAAkBzW,MAG3BA,KAAK0W,cAML1W,KAAKwT,KAAOhS,OAAOmV,MASnB3W,KAAK4E,WAAa7B,EAAK6B,WAQvB5E,KAAK4W,YAAc7T,EAAK6T,YAQxB5W,KAAK6W,YAAa,EAQlB7W,KAAK8W,sBAAwB/T,EAAK+T,sBAYlC9W,KAAK+W,kBAAoBhU,EAAKgU,kBAU9B/W,KAAKgX,gBAAkBjU,EAAKiU,gBAQ5BhX,KAAKpC,MAAQmF,EAAKnF,MAQlBoC,KAAKnC,OAASkF,EAAKlF,OAQnBmC,KAAKiX,KAAOlU,EAAKmU,OAOjBlX,KAAKmX,iBACDlW,MAAOjB,KAAK4W,YACZQ,UAAWrU,EAAKqU,UAChBC,6BAA8Bb,EAAOa,6BACrCC,mBAAoBtX,KAAK4W,aAAoC,kBAArB5W,KAAK4W,YAC7CW,SAAS,EACTT,sBAAuB9W,KAAK8W,sBAC5BE,gBAAiBjU,EAAKiU,iBAO1BhX,KAAKwX,WAAa,IAAIhZ,EAAKqC,MAM3Bb,KAAKyX,OAAS,IAAIjZ,EAAKqC,MASvBb,KAAK0X,cAAgB,IAAIlZ,EAAKmZ,mBAO9B3X,KAAK+L,YAAc,IAAIvN,EAAKoZ,iBAAiB7U,GAO7C/C,KAAKoM,YAAc,IAAI5N,EAAKqZ,iBAO5B7X,KAAKiM,cAAgB,IAAIzN,EAAKsZ,mBAO9B9X,KAAK+X,eAAiB,IAAIvZ,EAAKwZ,oBAO/BhY,KAAKiY,iBAAmB,IAAIzZ,EAAK0Z,sBAMjClY,KAAK4F,iBAML5F,KAAKmY,0BAGLnY,KAAK4F,cAAc7C,KAAO/C,KAAK+C,KAC/B/C,KAAK4F,cAAcjI,GAAKqC,KAAKrC,GAC7BqC,KAAK4F,cAAcwS,UAAY,EAC/BpY,KAAK4F,cAAc8R,cAAgB1X,KAAK0X,cACxC1X,KAAK4F,cAAcwG,YAAcpM,KAAKoM,YACtCpM,KAAK4F,cAAcqG,cAAgBjM,KAAKiM,cACxCjM,KAAK4F,cAAcqS,iBAAmBjY,KAAKiY,iBAC3CjY,KAAK4F,cAAcmG,YAAc/L,KAAK+L,YACtC/L,KAAK4F,cAAcmS,eAAiB/X,KAAK+X,eACzC/X,KAAK4F,cAAcf,SAAW7E,KAC9BA,KAAK4F,cAAchB,WAAa5E,KAAK4E,WACrC5E,KAAK4F,cAAcgJ,YAAc4H,EAAO5H,cAAe,EACvD5O,KAAK4F,cAAcyS,yBAA2B,KAG9CrY,KAAKsY,cAGLtY,KAAKuY,iBAIT/Z,EAAK+X,cAAcjU,UAAUC,YAAc/D,EAAK+X,cAKhD/X,EAAK+X,cAAcjU,UAAUgW,YAAc,WAEvC,IAAI3a,EAAKqC,KAAKiX,KAAKuB,WAAW,QAASxY,KAAKmX,kBAAoBnX,KAAKiX,KAAKuB,WAAW,qBAAsBxY,KAAKmX,iBAIhH,GAFAnX,KAAKrC,GAAKA,GAELA,EAGD,MAAM,IAAIoL,MAAM,sEAGpB/I,KAAKyY,YAAc9a,EAAGkU,aAAalU,EAAGmU,yBACtC9R,KAAK0Y,eAAiB1Y,KAAKrC,GAAGkU,aAAalU,EAAGgb,kBAE9C3Y,KAAK4Y,YAAcjb,EAAGuW,GAAK1V,EAAK+X,cAAcqC,cAE9Cpa,EAAK8X,WAAWtW,KAAK4Y,aAAejb,EAEpCa,EAAK+W,UAAUvV,KAAK4Y,aAAe5Y,KAGnCrC,EAAGkb,QAAQlb,EAAGmb,YACdnb,EAAGkb,QAAQlb,EAAGob,WACdpb,EAAGqb,OAAOrb,EAAGsb,OAGbjZ,KAAK0X,cAAcwB,WAAWvb,GAC9BqC,KAAK+L,YAAYmN,WAAWvb,GAC5BqC,KAAKoM,YAAY8M,WAAWvb,GAC5BqC,KAAKiM,cAAciN,WAAWvb,GAC9BqC,KAAKiY,iBAAiBiB,WAAWvb,GACjCqC,KAAK+X,eAAemB,WAAWvb,GAE/BqC,KAAK4F,cAAcjI,GAAKqC,KAAKrC,GAG7BqC,KAAKmG,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAG7BmC,KAAK0W,WAAWyC,eAEhB,IAAIC,EAAOzb,EAAG0b,aAAa,kCAAoC1b,EAAG0b,aAAa,wCAC3EC,EAAQ3b,EAAG0b,aAAa,mCAAqC1b,EAAG0b,aAAa,yCAC7EE,EAAO5b,EAAG0b,aAAa,kCAAoC1b,EAAG0b,aAAa,wCAE3ED,IAAQpZ,KAAK0W,WAAWyC,YAAYK,KAAOJ,GAC3CE,IAAStZ,KAAK0W,WAAWyC,YAAYM,MAAQH,GAC7CC,IAAQvZ,KAAK0W,WAAWyC,YAAYO,KAAOH,IA0BnD/a,EAAK+X,cAAcjU,UAAUqX,mBAAqB,SAAUC,GAExD,GAAKpb,EAAK6H,0BAAV,CA0BA,IAAK,IArBDwT,EAAW,SAAUC,GAQrB,QANEA,EACFA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,KACbA,GAETnc,EAAKqC,KAAKrC,GACV8a,EAAc9a,EAAGkU,aAAalU,EAAGmU,yBACjC4G,EAAiB/a,EAAGkU,aAAalU,EAAGgb,kBACpCoB,EAAa/Z,KAAK+C,KAAKiX,MAAMC,OAAOC,MACpCC,EAAY,KAOPzX,EAAI,EAAGA,EAAI1C,KAAKmY,uBAAuBxV,OAAQD,KAEpDyX,EAAYna,KAAKmY,uBAAuBzV,MAErBqX,EAMnBA,EAAWI,GAAWC,KAAK9T,aAAe,EAJtChG,QAAQ+Z,KAAK,iEAAkEF,GAMvF,IAAI9B,EAA2B,EAAmBwB,EAASnW,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,SACrFmC,KAAKmY,uBAAuBxV,OAAS,EAGrC,IAAK,IAAIkF,EAAI,EAAGA,EAAI+R,EAAsBjX,SAAUkF,EAIhD,IAFAsS,EAAYP,EAAsB/R,MAEfkS,EAAnB,CAOA,IAAIK,EAAOL,EAAWI,GAAWC,MACjC/B,GAA4BwB,EAASnW,KAAKuC,IAAImU,EAAKxc,MAAOwc,EAAKvc,WAC/B,GAE5Buc,EAAK9T,aAAe,EACpBhG,QAAQ+Z,KAAK,4GACTF,EAAW9B,IAIf+B,EAAK9T,aAAgB,EAAKuB,GAAK4Q,EAAc,GAEjDzY,KAAKmY,uBAAuBrQ,KAAKqS,QAjB7B7Z,QAAQ+Z,KAAK,iEAAkEF,GAsBvF,OAFAna,KAAK4F,cAAcyS,yBAA2BA,EAEvCrY,KAAKmY,uBApER7X,QAAQ+Z,KAAK,mGA6ErB7b,EAAK+X,cAAcjU,UAAU6C,OAAS,SAAUmV,GAG5C,IAAIta,KAAKua,YAAT,CAKA,IAAI5c,EAAKqC,KAAKrC,GAGdA,EAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAOoC,KAAKnC,QAGnCF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAE/BK,KAAK+C,KAAKgU,oBAEVpZ,EAAG8c,WAAWH,EAAMI,SAASxW,EAAGoW,EAAMI,SAASC,EAAGL,EAAMI,SAASvX,EAAGmX,EAAMI,SAASxX,GAEnFvF,EAAGid,MAAMjd,EAAGkd,mBAGhB7a,KAAKyX,OAAO1T,EAAI/D,KAAK+C,KAAK+X,OAAOC,OAAOhX,EACxC/D,KAAKyX,OAAOzT,EAAIhE,KAAK+C,KAAK+X,OAAOC,OAAO/W,EAExChE,KAAKgb,oBAAoBV,EAAOta,KAAKwX,cAWzChZ,EAAK+X,cAAcjU,UAAU0Y,oBAAsB,SAAUC,EAAezD,EAAY0D,EAAQxN,GAE5F1N,KAAK4F,cAAcqS,iBAAiBkD,aAAa3c,EAAK0J,WAAWE,QAGjEpI,KAAK4F,cAAcwS,UAAY,EAG/BpY,KAAK4F,cAAcmP,MAAQmG,GAAU,EAAI,EAGzClb,KAAK4F,cAAc4R,WAAaA,EAGhCxX,KAAK4F,cAAc6R,OAASzX,KAAKyX,OAGjCzX,KAAK+L,YAAYqP,MAAMpb,KAAK4F,eAG5B5F,KAAKiM,cAAcmP,MAAMpb,KAAK4F,cAAesV,GAG7CD,EAAclV,aAAa/F,KAAK4F,cAAe8H,GAG/C1N,KAAK+L,YAAYsP,OAUrB7c,EAAK+X,cAAcjU,UAAU6D,OAAS,SAAUvI,EAAOC,GAEnDmC,KAAKpC,MAAQA,EAAQoC,KAAK4E,WAC1B5E,KAAKnC,OAASA,EAASmC,KAAK4E,WAE5B5E,KAAKiX,KAAKrZ,MAAQoC,KAAKpC,MACvBoC,KAAKiX,KAAKpZ,OAASmC,KAAKnC,OAEpBmC,KAAK6W,aAEL7W,KAAKiX,KAAKqE,MAAM1d,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAAa,KACvD5E,KAAKiX,KAAKqE,MAAMzd,OAASmC,KAAKnC,OAASmC,KAAK4E,WAAa,MAG7D5E,KAAKrC,GAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAOoC,KAAKnC,QAExCmC,KAAKwX,WAAWzT,EAAI/D,KAAKpC,MAAQ,EAAIoC,KAAK4E,WAC1C5E,KAAKwX,WAAWxT,GAAKhE,KAAKnC,OAAS,EAAImC,KAAK4E,YAUhDpG,EAAK+X,cAAcjU,UAAUiZ,wBAA0B,SAAUxd,GAE7D,IAAKA,EAAQoP,UAET,OAAO,EAEX,IAAIxP,EAAKqC,KAAKrC,GACV6d,EAAkBzd,EAAQqR,OA2C9B,OAzCKrR,EAAQkW,YAAYtW,EAAGuW,MAExBnW,EAAQkW,YAAYtW,EAAGuW,IAAMvW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQuI,cAEvC3I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAErDvW,EAAG8d,qBACC9d,EAAGO,WACH,EACAsd,EAAgBE,kBAChBF,EAAgB5d,MAChB4d,EAAgB3d,OAChB,EACA2d,EAAgBrH,aAGpBxW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQ4d,QAAUna,OAAOkC,KAAKkY,aAAa7d,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGke,qBAAuBle,EAAGme,wBACnIne,EAAGoe,eAAepe,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQie,WAOTre,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGiX,QACtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGiX,UANtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAO1DN,EAAQuX,OAAO3X,EAAGuW,KAAM,GACjB,GAUX1V,EAAK+X,cAAcjU,UAAUkT,cAAgB,SAAUzX,GAEnD,IAAKA,EAAQoP,YAAcpP,EAAQqR,OAE/B,OAAO,EAEX,GAAIrR,EAAQqR,OAAO6M,qBAEf,OAAOjc,KAAKub,wBAAwBxd,GAGxC,IAAIJ,EAAKqC,KAAKrC,GAwCd,OAtCKI,EAAQkW,YAAYtW,EAAGuW,MAExBnW,EAAQkW,YAAYtW,EAAGuW,IAAMvW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQuI,cAEvC3I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAErDvW,EAAGkX,YAAYlX,EAAGue,+BAAgCne,EAAQuZ,oBAE1D3Z,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMnB,EAAGmB,KAAMnB,EAAGoB,cAAehB,EAAQqR,QAE5EzR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQ4d,QAAUna,OAAOkC,KAAKkY,aAAa7d,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGke,qBAAuBle,EAAGme,wBACnIne,EAAGoe,eAAepe,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQie,WAOTre,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGiX,QACtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGiX,UANtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAQ1DN,EAAQuX,OAAO3X,EAAGuW,KAAM,GAGjB,GAQX1V,EAAK+X,cAAcjU,UAAUE,QAAU,WAEnChE,EAAK8X,WAAWtW,KAAK4Y,aAAe,KAEpC5Y,KAAKwX,WAAa,KAClBxX,KAAKyX,OAAS,KAEdzX,KAAK0X,cAAclV,UACnBxC,KAAK+L,YAAYvJ,UACjBxC,KAAKoM,YAAY5J,UACjBxC,KAAKiM,cAAczJ,UAEnBxC,KAAK0X,cAAgB,KACrB1X,KAAK+L,YAAc,KACnB/L,KAAKoM,YAAc,KACnBpM,KAAKiM,cAAgB,KAErBjM,KAAKrC,GAAK,KACVqC,KAAK4F,cAAgB,KAErBpE,OAAOqF,WAAWsV,OAAOnc,MAEzBxB,EAAK+W,UAAUvV,KAAK4Y,aAAe,KAEnCpa,EAAK+X,cAAcqC,eAQvBpa,EAAK+X,cAAcjU,UAAUiW,cAAgB,WAEzC,IAAI5a,EAAKqC,KAAKrC,GAEd,IAAKa,EAAK4d,gBACV,CACI,IAAIjZ,KACAkZ,EAAQ7d,EAAK0J,WAEjB/E,EAAEkZ,EAAMjU,SAAYzK,EAAG2e,IAAK3e,EAAG4e,qBAC/BpZ,EAAEkZ,EAAMG,MAAS7e,EAAG8e,UAAW9e,EAAG+e,WAClCvZ,EAAEkZ,EAAMlU,WAAcxK,EAAGgf,UAAWhf,EAAG4e,qBACvCpZ,EAAEkZ,EAAMO,SAAYjf,EAAG8e,UAAW9e,EAAG2e,KACrCnZ,EAAEkZ,EAAMQ,UAAalf,EAAG2e,IAAK3e,EAAG4e,qBAChCpZ,EAAEkZ,EAAMS,SAAYnf,EAAG2e,IAAK3e,EAAG4e,qBAC/BpZ,EAAEkZ,EAAMU,UAAapf,EAAG2e,IAAK3e,EAAG4e,qBAChCpZ,EAAEkZ,EAAMW,cAAiBrf,EAAG2e,IAAK3e,EAAG4e,qBACpCpZ,EAAEkZ,EAAMY,aAAgBtf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMa,aAAgBvf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMc,aAAgBxf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMe,aAAgBzf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMgB,YAAe1f,EAAG2e,IAAK3e,EAAG4e,qBAClCpZ,EAAEkZ,EAAMiB,MAAS3f,EAAG2e,IAAK3e,EAAG4e,qBAC5BpZ,EAAEkZ,EAAMkB,aAAgB5f,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMmB,QAAW7f,EAAG2e,IAAK3e,EAAG4e,qBAC9BpZ,EAAEkZ,EAAMoB,aAAgB9f,EAAG2e,IAAK3e,EAAG4e,qBAEnC/d,EAAK4d,gBAAkBjZ,IAI/B3E,EAAK+X,cAAcjU,UAAUob,kBAAoB,WAE7C,IAAI/f,EAAKqC,KAAKrC,GACd,OAAOA,EAAGkU,aAAalU,EAAGmU,0BAG9BtT,EAAKmf,mBAAqB,WAEtBnf,EAAK6H,2BAA4B,GAGrC7H,EAAK+X,cAAcqC,YAAc,EACjCpa,EAAK+X,cAAcqH,gBAWnBpf,EAAK0Z,sBAAwB,WAMzBlY,KAAK6N,iBAAmB,OAG5BrP,EAAK0Z,sBAAsB5V,UAAUC,YAAc/D,EAAK0Z,sBAQxD1Z,EAAK0Z,sBAAsB5V,UAAU4W,WAAa,SAAUvb,GAExDqC,KAAKrC,GAAKA,GASda,EAAK0Z,sBAAsB5V,UAAU6Y,aAAe,SAAUlT,GAE1D,GAAGjI,KAAK6N,mBAAqB5F,EAAa,OAAO,EAEjDjI,KAAK6N,iBAAmB5F,EAExB,IAAI4V,EAAiBrf,EAAK4d,gBAAgBpc,KAAK6N,kBAO/C,OALIgQ,GAEA7d,KAAKrC,GAAGmgB,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXrf,EAAK0Z,sBAAsB5V,UAAUE,QAAU,WAE3CxC,KAAKrC,GAAK,MAYda,EAAKqZ,iBAAmB,aAIxBrZ,EAAKqZ,iBAAiBvV,UAAUC,YAAc/D,EAAKqZ,iBAQnDrZ,EAAKqZ,iBAAiBvV,UAAU4W,WAAa,SAAUvb,GAEnDqC,KAAKrC,GAAKA,GAUda,EAAKqZ,iBAAiBvV,UAAU+J,SAAW,SAAU0R,EAAUnY,GAE3D,IAAIjI,EAAKiI,EAAcjI,GAEnBogB,EAASvM,OAEThT,EAAKwf,cAAcC,eAAeF,EAAUpgB,QAGjB4I,IAA3BwX,EAASG,OAAOvgB,EAAGuW,UAAqD3N,IAAhCwX,EAASG,OAAOvgB,EAAGuW,IAAIE,MAA6D,IAAvC2J,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAKzR,QAKrHiD,EAAcmS,eAAeoG,YAAYJ,EAAUA,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAK,GAAIxO,IAUvFpH,EAAKqZ,iBAAiBvV,UAAUiK,QAAU,SAAUwR,EAAUnY,GAE1D,IAAIjI,EAAKqC,KAAKrC,QAEiB4I,IAA3BwX,EAASG,OAAOvgB,EAAGuW,UAAqD3N,IAAhCwX,EAASG,OAAOvgB,EAAGuW,IAAIE,MAA6D,IAAvC2J,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAKzR,QAKrHiD,EAAcmS,eAAeqG,WAAWL,EAAUA,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAK,GAAIxO,IAQtFpH,EAAKqZ,iBAAiBvV,UAAUE,QAAU,WAEtCxC,KAAKrC,GAAK,MAYda,EAAKwZ,oBAAsB,WAEvBhY,KAAKqe,gBACLre,KAAKse,SAAU,EACfte,KAAKue,MAAQ,GASjB/f,EAAKwZ,oBAAoB1V,UAAU4W,WAAa,SAAUvb,GAEtDqC,KAAKrC,GAAKA,GAWda,EAAKwZ,oBAAoB1V,UAAU6b,YAAc,SAAUK,EAAUC,EAAW7Y,GAE5E,IAAIjI,EAAKqC,KAAKrC,GACdqC,KAAK0e,aAAaF,EAAUC,EAAW7Y,GAEP,IAA7B5F,KAAKqe,aAAa1b,SAEjBhF,EAAGqb,OAAOrb,EAAGghB,cACbhhB,EAAGid,MAAMjd,EAAGihB,oBACZ5e,KAAKse,SAAU,EACfte,KAAKue,MAAQ,GAGjBve,KAAKqe,aAAavW,KAAK2W,GAEvB,IAAII,EAAQ7e,KAAKue,MAEjB5gB,EAAGmhB,WAAU,GAAO,GAAO,GAAO,GAElCnhB,EAAGohB,YAAYphB,EAAGqhB,OAAO,EAAE,KAC3BrhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGwhB,QAIV,IAAnBV,EAAUW,MAETzhB,EAAG0hB,aAAa1hB,EAAG2hB,aAAcb,EAAU7L,QAAQjQ,OAAS,EAAGhF,EAAG4hB,eAAgB,GAE/Evf,KAAKse,SAEJ3gB,EAAGohB,YAAYphB,EAAG6hB,MAAO,IAAOX,EAAO,KACvClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,QAIhC9hB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAC/BlhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,OAIpC/hB,EAAG0hB,aAAa1hB,EAAG2hB,aAAc,EAAG3hB,EAAG4hB,eAAiD,GAAhCd,EAAU7L,QAAQjQ,OAAS,IAEhF3C,KAAKse,QAEJ3gB,EAAGohB,YAAYphB,EAAG6hB,MAAM,KAAQX,EAAQ,GAAI,KAI5ClhB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KAGvC7e,KAAKse,SAAWte,KAAKse,UAIjBte,KAAKse,SAOL3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAC/BlhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,QANhC/hB,EAAGohB,YAAYphB,EAAG6hB,MAAO,IAAOX,EAAO,KACvClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,OAQpC9hB,EAAG0hB,aAAa1hB,EAAGgiB,eAAgBlB,EAAU7L,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,GAE5Evf,KAAKse,QAML3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KAJnClhB,EAAGohB,YAAYphB,EAAG6hB,MAAM,KAAQX,EAAQ,GAAI,MAQpDlhB,EAAGmhB,WAAU,GAAM,GAAM,GAAM,GAC/BnhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGuhB,MAEhClf,KAAKue,SAWT/f,EAAKwZ,oBAAoB1V,UAAUoc,aAAe,SAAUF,EAAUC,EAAW7Y,GAG7E5F,KAAK4f,iBAAmBpB,EAExB,IAKIvR,EALAtP,EAAKqC,KAAKrC,GAGV6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OAGL,IAAnBgH,EAAUW,MAETnS,EAASrH,EAAc8R,cAAcmI,uBAErCja,EAAc8R,cAAcoI,UAAU7S,GAEtCtP,EAAGoiB,UAAU9S,EAAO8H,MAAOnP,EAAcmP,OAEzCpX,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOwI,EAASjd,eAAeye,SAAQ,IAErFriB,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGuiB,WAAWjT,EAAOkJ,UAAW3U,OAAO2e,MAAMC,cAAc5B,EAASzR,OACpEpP,EAAGuiB,WAAWjT,EAAOoJ,MAAOoI,EAAUpI,OAEtC1Y,EAAGoiB,UAAU9S,EAAOhM,MAAOud,EAASld,WAAamd,EAAUxd,OAE3DtD,EAAG0iB,WAAW1iB,EAAG2iB,aAAc7B,EAAUvD,QAEzCvd,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAO,GAO1E7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBhC,EAAUiC,eAKjDzT,EAASrH,EAAc8R,cAAciJ,gBACrC/a,EAAc8R,cAAcoI,UAAU7S,GAEtCtP,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOwI,EAASjd,eAAeye,SAAQ,IAErFriB,EAAGoiB,UAAU9S,EAAO8H,MAAOnP,EAAcmP,OACzCpX,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGuiB,WAAWjT,EAAOkJ,UAAW3U,OAAO2e,MAAMC,cAAc5B,EAASzR,OAEpEpP,EAAGoiB,UAAU9S,EAAOhM,MAAOud,EAASld,YAEpC3D,EAAG0iB,WAAW1iB,EAAG2iB,aAAc7B,EAAUvD,QAEzCvd,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,GAAO,GAC1E7iB,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAM,GAAO,GAGxE7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBhC,EAAUiC,eAUzDliB,EAAKwZ,oBAAoB1V,UAAU8b,WAAa,SAAUI,EAAUC,EAAW7Y,GAE3E,IAAIjI,EAAKqC,KAAKrC,GAKd,GAJAqC,KAAKqe,aAAauC,MAElB5gB,KAAKue,QAE2B,IAA7Bve,KAAKqe,aAAa1b,OAGjBhF,EAAGkb,QAAQlb,EAAGghB,kBAGlB,CACI,IAAIE,EAAQ7e,KAAKue,MAEjBve,KAAK0e,aAAaF,EAAUC,EAAW7Y,GAEvCjI,EAAGmhB,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBL,EAAUW,MAETpf,KAAKse,SAAWte,KAAKse,QAElBte,KAAKse,SAEJ3gB,EAAGohB,YAAYphB,EAAG6hB,MAAO,KAAQX,EAAQ,GAAI,KAC7ClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,QAIhC/hB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KACnClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,OAIpC9hB,EAAG0hB,aAAa1hB,EAAG2hB,aAAc,EAAG3hB,EAAG4hB,eAAiD,GAAhCd,EAAU7L,QAAQjQ,OAAS,IAEnFhF,EAAGohB,YAAYphB,EAAGqhB,OAAO,EAAE,KAC3BrhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGwhB,QAGhCxhB,EAAG0hB,aAAa1hB,EAAG2hB,aAAcb,EAAU7L,QAAQjQ,OAAS,EAAGhF,EAAG4hB,eAAgB,GAE9Evf,KAAKse,QAML3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAJ/BlhB,EAAGohB,YAAYphB,EAAG6hB,MAAM,IAAO,EAAS,OAUxCxf,KAAKse,SAOL3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KACnClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,QANhC9hB,EAAGohB,YAAYphB,EAAG6hB,MAAO,KAAQX,EAAQ,GAAI,KAC7ClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,OAQpC/hB,EAAG0hB,aAAa1hB,EAAGgiB,eAAgBlB,EAAU7L,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,GAE5Evf,KAAKse,QAML3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAJ/BlhB,EAAGohB,YAAYphB,EAAG6hB,MAAM,IAAO,EAAS,MAQhD7hB,EAAGmhB,WAAU,GAAM,GAAM,GAAM,GAC/BnhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGuhB,QASxC1gB,EAAKwZ,oBAAoB1V,UAAUE,QAAU,WAEzCxC,KAAKqe,aAAe,KACpBre,KAAKrC,GAAK,MAYda,EAAKmZ,mBAAqB,WAMtB3X,KAAK6gB,UAAY,GAMjB7gB,KAAK8gB,eAML9gB,KAAK+gB,mBAEL,IAAK,IAAIre,EAAI,EAAGA,EAAI1C,KAAK6gB,UAAWne,IAEhC1C,KAAK8gB,YAAYpe,IAAK,EAO1B1C,KAAKghB,UAGTxiB,EAAKmZ,mBAAmBrV,UAAUC,YAAc/D,EAAKmZ,mBAQrDnZ,EAAKmZ,mBAAmBrV,UAAU4W,WAAa,SAAUvb,GAErDqC,KAAKrC,GAAKA,EAGVqC,KAAK2gB,gBAAkB,IAAIniB,EAAK0X,gBAAgBvY,GAGhDqC,KAAK6f,uBAAyB,IAAIrhB,EAAK4X,uBAAuBzY,GAG9DqC,KAAKihB,cAAgB,IAAIziB,EAAK2S,WAAWxT,GAGzCqC,KAAKkhB,WAAa,IAAI1iB,EAAKkX,eAAe/X,GAG1CqC,KAAKmhB,YAAc,IAAI3iB,EAAKuX,YAAYpY,GAGxCqC,KAAKohB,eAAiB5iB,EAAK6iB,eAAiB,IAAI7iB,EAAK6iB,eAAe1jB,GAAM,KAE1EqC,KAAK8f,UAAU9f,KAAKihB,gBASxBziB,EAAKmZ,mBAAmBrV,UAAUgf,WAAa,SAAUC,GAGrD,IAAI7e,EAEJ,IAAKA,EAAI,EAAGA,EAAI1C,KAAK+gB,gBAAgBpe,OAAQD,IAEzC1C,KAAK+gB,gBAAgBre,IAAK,EAI9B,IAAKA,EAAI,EAAGA,EAAI6e,EAAQ5e,OAAQD,IAChC,CACI,IAAI8e,EAAWD,EAAQ7e,GACvB1C,KAAK+gB,gBAAgBS,IAAY,EAGrC,IAAI7jB,EAAKqC,KAAKrC,GAEd,IAAK+E,EAAI,EAAGA,EAAI1C,KAAK8gB,YAAYne,OAAQD,IAElC1C,KAAK8gB,YAAYpe,KAAO1C,KAAK+gB,gBAAgBre,KAE5C1C,KAAK8gB,YAAYpe,GAAK1C,KAAK+gB,gBAAgBre,GAExC1C,KAAK+gB,gBAAgBre,GAEpB/E,EAAG8jB,wBAAwB/e,GAI3B/E,EAAG+jB,yBAAyBhf,KAY5ClE,EAAKmZ,mBAAmBrV,UAAUwd,UAAY,SAAU7S,GAEpD,OAAGjN,KAAK2hB,aAAe1U,EAAOmE,OAE9BpR,KAAK2hB,WAAa1U,EAAOmE,KAEzBpR,KAAK4hB,cAAgB3U,EAErBjN,KAAKrC,GAAGsU,WAAWhF,EAAOoE,SAC1BrR,KAAKshB,WAAWrU,EAAOwE,aAEhB,IAQXjT,EAAKmZ,mBAAmBrV,UAAUE,QAAU,WAExCxC,KAAK8gB,YAAc,KAEnB9gB,KAAK+gB,gBAAkB,KAEvB/gB,KAAK2gB,gBAAgBne,UAErBxC,KAAK6f,uBAAuBrd,UAE5BxC,KAAKihB,cAAcze,UAEnBxC,KAAKkhB,WAAW1e,UAEhBxC,KAAKmhB,YAAY3e,UAEbxC,KAAKohB,gBAELphB,KAAKohB,eAAe5e,UAGxBxC,KAAKrC,GAAK,MAoBda,EAAKoZ,iBAAmB,SAAU7U,GAK9B/C,KAAK+C,KAAOA,EAMZ/C,KAAK6hB,SAAW,EAOhB7hB,KAAK8hB,KAAO,IAQZ9hB,KAAK+hB,WAAa,GAClB,IAAIC,EAAWhiB,KAAK+hB,WAAa/hB,KAAK8hB,KAAO,EAMzCG,EAAyB,EAAZjiB,KAAK8hB,KAQtB9hB,KAAKkiB,SAAW,IAAIC,YAAYH,GAQhChiB,KAAKoiB,UAAY,IAAIC,aAAariB,KAAKkiB,UAQvCliB,KAAKsiB,OAAS,IAAIC,YAAYviB,KAAKkiB,UAQnCliB,KAAK4S,QAAU,IAAI4P,YAAYP,GAM/BjiB,KAAKyiB,eAAiB,EAEtB,IAAK,IAAI/f,EAAI,EAAGmF,EAAI,EAAGnF,EAAIuf,EAAYvf,GAAK,EAAGmF,GAAK,EAEhD7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAO9B7H,KAAK0iB,SAAU,EAMf1iB,KAAK2iB,iBAAmB,EAMxB3iB,KAAK4iB,mBAAqB,KAM1B5iB,KAAKwR,OAAQ,EAMbxR,KAAK6iB,YAML7iB,KAAKkI,cAMLlI,KAAK8iB,WAML9iB,KAAK+iB,WAML/iB,KAAKihB,cAAgB,MAOzBziB,EAAKoZ,iBAAiBtV,UAAU4W,WAAa,SAAUvb,GAInD,GAFAqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBACvC9R,KAAKrC,GAAKA,EACNa,EAAK6H,0BACT,CAEI,IAAK,IADD0L,EAAa,6GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACVnJ,EAAQ,+CACRA,EAAQ,wCAEhB5I,KAAKihB,cAAgB,IAAIzf,OAAOwhB,OAC5BhjB,KAAK+C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,mCAAqCvG,KAAK4R,aAAe,KACzD,oBACAG,EACA,wEACA,WAKR/R,KAAKihB,cAAgB,IAAIzf,OAAOwhB,OAC5BhjB,KAAK+C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,iEACA,MAKZvG,KAAKijB,aAAetlB,EAAGulB,eACvBljB,KAAK0gB,YAAc/iB,EAAGulB,eAKtBvlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,aAExDzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAG0lB,cAEjDrjB,KAAK6N,iBAAmB,MAExB,IAAIZ,EAAS,IAAIzO,EAAK2S,WAAWxT,GAEjCsP,EAAOwD,YAAczQ,KAAKihB,cAAcxQ,YACxCxD,EAAOgG,YACPhG,EAAOyE,OAEP1R,KAAKihB,cAAc6B,QAAQnlB,EAAGuW,IAAMjH,GAOxCzO,EAAKoZ,iBAAiBtV,UAAU8Y,MAAQ,SAAUxV,GAE9C5F,KAAK4F,cAAgBA,EACrB5F,KAAKiN,OAASjN,KAAK4F,cAAc8R,cAAcuJ,cAE/CjhB,KAAKsM,SAMT9N,EAAKoZ,iBAAiBtV,UAAU+Y,IAAM,WAElCrb,KAAKgM,SAQTxN,EAAKoZ,iBAAiBtV,UAAU6C,OAAS,SAAUme,EAAQ5V,GAEvD,IAAI3P,EAAUulB,EAAOvlB,QACjBqI,EAAcrI,EAAQqI,YACtBzI,EAAKqC,KAAKrC,GACVa,EAAK+X,cAAcqH,aAAaxX,EAAYE,eAAiBF,IAE7DpG,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW2G,EAAYE,cAC3C3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcqH,aAAaxX,EAAYE,cAAgBF,GAIhE,IAAI3C,EAAK6f,EAAO/hB,eAEZmM,IAEAjK,EAAKiK,GAIL1N,KAAK2iB,kBAAoB3iB,KAAK8hB,OAE9B9hB,KAAKgM,QACLhM,KAAK4iB,mBAAqB7kB,EAAQqI,aAItC,IAAImd,EAAMxlB,EAAQylB,KAGlB,GAAKD,EAAL,CAKA,IAGIrY,EAAIC,EAAIC,EAAIC,EAHZoY,EAAKH,EAAO3c,OAAO5C,EACnB2f,EAAKJ,EAAO3c,OAAO3C,EAIvB,GAAIjG,EAAQqQ,KACZ,CAEI,IAAIA,EAAOrQ,EAAQqQ,KAGnBlD,GADAC,EAAKiD,EAAKrK,EAAI0f,EAAKrV,EAAKxQ,OACdG,EAAQ6P,KAAKhQ,MAGvBwN,GADAC,EAAK+C,EAAKpK,EAAI0f,EAAKtV,EAAKvQ,QACdE,EAAQ6P,KAAK/P,YAIvBqN,EAAMnN,EAAQsP,MAAW,OAAK,EAAIoW,GAClCtY,EAAMpN,EAAQsP,MAAW,OAAKoW,EAE9BrY,EAAKrN,EAAQsP,MAAMxP,QAAU,EAAI6lB,GACjCrY,EAAKtN,EAAQsP,MAAMxP,QAAU6lB,EAGjC,IAAIhhB,EAAI1C,KAAK2iB,iBAAmB3iB,KAAK+hB,WACjCnd,EAAa7G,EAAQqI,YAAYxB,WACjC0B,EAAevI,EAAQqI,YAAYE,aAEnCpD,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAERkL,EAAK1Q,EAAQ6P,KAAK/P,OAEtB,GAAIE,EAAQ2Q,QACZ,CACI,IAAIiV,EAAKlgB,EAAGP,EACR0gB,EAAKngB,EAAGN,EACR0gB,EAAKpgB,EAAGL,EACR0gB,EAAKrgB,EAAGJ,EACR0gB,EAAM5Y,EACN6Y,EAAM9Y,EAGV5H,EAAKG,EAAGL,EAAIqL,EAAKnL,EACjBC,EAAKE,EAAGJ,EAAIoL,EAAKlL,EAMjBL,EAAS,sBAALygB,EAA8BE,EAClC1gB,EAAS,sBAALygB,EAA8BE,EAClC1gB,EAAIugB,EAAU,sBAALE,EACTxgB,EAAIugB,EAAU,sBAALE,EAGT/lB,EAAQkmB,qBAGR/Y,EAAKE,EACLD,EAAKE,EACLD,EAAK4Y,EACL3Y,EAAK0Y,EAGT,IAAIzB,EAAStiB,KAAKsiB,OACdF,EAAYpiB,KAAKoiB,UACjBrV,EAAOuW,EAAOvW,KACdsJ,GAAStJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBuW,EAAOhiB,YAAoB,IAE7FtB,KAAK4F,cAAcgJ,aAEnBwT,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAIW,GACrB9B,EAAU1f,KAAO6gB,EAAIY,GACrB7B,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAIjY,GACrB8W,EAAU1f,KAAO6gB,EAAIhY,GACrB+W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAI/X,GACrB4W,EAAU1f,KAAO6gB,EAAI9X,GACrB6W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAI7X,GACrB0W,EAAU1f,KAAO6gB,EAAI5X,GACrB2W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,IAIjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACnC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EACnC6e,EAAU1f,KAAO6gB,EAAIW,GACrB9B,EAAU1f,KAAO6gB,EAAIY,GACrB7B,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACnC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EACnC6e,EAAU1f,KAAO6gB,EAAIjY,GACrB8W,EAAU1f,KAAO6gB,EAAIhY,GACrB+W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EACnC6e,EAAU1f,KAAO6gB,EAAI/X,GACrB4W,EAAU1f,KAAO6gB,EAAI9X,GACrB6W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EACnC6e,EAAU1f,KAAO6gB,EAAI7X,GACrB0W,EAAU1f,KAAO6gB,EAAI5X,GACrB2W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,GAIrBtG,KAAK+iB,QAAQ/iB,KAAK2iB,oBAAsBW,IAS5C9kB,EAAKoZ,iBAAiBtV,UAAU8hB,mBAAqB,SAAUd,GAE3D,IAAIvlB,EAAUulB,EAAOe,cACjBje,EAAcrI,EAAQqI,YACtBzI,EAAKqC,KAAKrC,GACV2I,EAAegd,EAAOvlB,QAAQqI,YAAYE,aAC1C9H,EAAK+X,cAAcqH,aAAatX,IAAiBF,IAEjDpG,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcqH,aAAatX,GAAgBF,GAIhDpG,KAAK2iB,kBAAoB3iB,KAAK8hB,OAE9B9hB,KAAKgM,QACLhM,KAAK4iB,mBAAqB7kB,EAAQqI,aAIjCkd,EAAOE,OAERF,EAAOE,KAAO,IAAIhlB,EAAK8lB,YAG3B,IAAIf,EAAMD,EAAOE,KAEbnO,EAAItX,EAAQqI,YAAYxI,MACxB2mB,EAAIxmB,EAAQqI,YAAYvI,OAY5BylB,EAAOkB,aAAazgB,GAAKsR,EAAIiO,EAAOmB,gBAAgB1gB,EACpDuf,EAAOkB,aAAaxgB,GAAKugB,EAAIjB,EAAOmB,gBAAgBzgB,EAEpD,IAAI0gB,EAAUpB,EAAOkB,aAAazgB,GAAKsR,EAAIiO,EAAOmB,gBAAgB1gB,GAC9D4gB,EAAUrB,EAAOkB,aAAaxgB,GAAKugB,EAAIjB,EAAOmB,gBAAgBzgB,GAE9D4gB,EAAUtB,EAAO1lB,MAAQyX,GAAMiO,EAAOuB,UAAU9gB,EAAIuf,EAAOmB,gBAAgB1gB,GAC3E+gB,EAAUxB,EAAOzlB,OAAS0mB,GAAMjB,EAAOuB,UAAU7gB,EAAIsf,EAAOmB,gBAAgBzgB,GAEhFuf,EAAIW,GAAK,EAAIQ,EACbnB,EAAIY,GAAK,EAAIQ,EAEbpB,EAAIjY,GAAM,EAAIsZ,EAAUF,EACxBnB,EAAIhY,GAAK,EAAIoZ,EAEbpB,EAAI/X,GAAM,EAAIoZ,EAAUF,EACxBnB,EAAI9X,GAAM,EAAIqZ,EAAUH,EAExBpB,EAAI7X,GAAK,EAAIgZ,EACbnB,EAAI5X,GAAM,EAAImZ,EAAUH,EAGxB,IAAI5X,EAAOuW,EAAOvW,KACdsJ,GAAStJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBuW,EAAOhiB,YAAoB,IAE7F8gB,EAAYpiB,KAAKoiB,UACjBE,EAAStiB,KAAKsiB,OAEd1kB,EAAQ0lB,EAAO1lB,MACfC,EAASylB,EAAOzlB,OAGhB4lB,EAAKH,EAAO3c,OAAO5C,EACnB2f,EAAKJ,EAAO3c,OAAO3C,EACnBkH,EAAKtN,GAAS,EAAI6lB,GAClBtY,EAAKvN,GAAS6lB,EAEdrY,EAAKvN,GAAU,EAAI6lB,GACnBrY,EAAKxN,GAAU6lB,EAEfhhB,EAAI1C,KAAK2iB,iBAAmB3iB,KAAK+hB,WAEjCnd,EAAa7G,EAAQqI,YAAYxB,WAEjCnB,EAAK6f,EAAO/hB,eAEZ2B,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAGZ6e,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACnC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAGnC6e,EAAU1f,KAAO6gB,EAAIW,GACrB9B,EAAU1f,KAAO6gB,EAAIY,GAGrB7B,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjB8b,EAAU1f,KAAQQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACpC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAGnC6e,EAAU1f,KAAO6gB,EAAIjY,GACrB8W,EAAU1f,KAAO6gB,EAAIhY,GAGrB+W,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAGnC6e,EAAU1f,KAAO6gB,EAAI/X,GACrB4W,EAAU1f,KAAO6gB,EAAI9X,GAGrB6W,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAGnC6e,EAAU1f,KAAO6gB,EAAI7X,GACrB0W,EAAU1f,KAAO6gB,EAAI5X,GAGrB2W,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjBtG,KAAK+iB,QAAQ/iB,KAAK2iB,oBAAsBW,GAQ5C9kB,EAAKoZ,iBAAiBtV,UAAU0J,MAAQ,WAGpC,GAA8B,IAA1BhM,KAAK2iB,iBAAT,CAKA,IACI1V,EADAtP,EAAKqC,KAAKrC,GAGd,GAAIqC,KAAKwR,MACT,CACIxR,KAAKwR,OAAQ,EAEbvE,EAASjN,KAAKihB,cAAc6B,QAAQnlB,EAAGuW,IAGvCvW,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAG5C,IAAIqE,EAAS/kB,KAAK+hB,WAClBpkB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAOuE,EAAQ,GAC3EpnB,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAOuE,EAAQ,GAGzEpnB,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAGoB,eAAe,EAAMgmB,EAAQ,IAGjFpnB,EAAG4iB,oBAAoBtT,EAAO0F,cAAe,EAAGhV,EAAG6iB,OAAO,EAAOuE,EAAQ,IAI7E,GAAI/kB,KAAK2iB,iBAAgC,GAAZ3iB,KAAK8hB,KAE9BnkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAKkiB,cAG9C,CACIvkB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpC,IAAIhM,EAAOjX,KAAKoiB,UAAU6C,SAAS,EAAGjlB,KAAK2iB,iBAAmB3iB,KAAK+hB,YACnEpkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGrJ,GAezC,IAAK,IAZDiO,EAAaC,EAAeC,EAU5B9B,EATA+B,EAAY,EACZ/Y,EAAQ,EAERsW,EAAqB,KACrB/U,EAAmB7N,KAAK4F,cAAcqS,iBAAiBpK,iBACvD+T,EAAgB,KAEhB0D,GAAY,EACZC,GAAa,EAGR7iB,EAAI,EAAGmF,EAAI7H,KAAK2iB,iBAAkBjgB,EAAImF,EAAGnF,IAClD,CAKQwiB,GAJJ5B,EAAStjB,KAAK+iB,QAAQrgB,IAEX2hB,cAEOf,EAAOe,cAAcje,YAIrBkd,EAAOvlB,QAAQqI,YAMjCkf,EAAYzX,KAHZsX,EAAgB7B,EAAOrb,WAIvBsd,EAAa3D,KAHbwD,EAAa9B,EAAOrW,QAAUjN,KAAKihB,eAKnC,IAAIuE,EAAON,EAAY1X,WAQvB,GANIgY,GAAQlC,EAAO7gB,SAASE,OAAS,IAEjC6iB,GAAO,IAKPF,GACAC,KAEAvlB,KAAKylB,YAAY7C,EAAoByC,EAAW/Y,GAEhDA,EAAQ5J,EACR2iB,EAAY,EACZzC,EAAqBsC,EAEjBI,IAEAzX,EAAmBsX,EACnBnlB,KAAK4F,cAAcqS,iBAAiBkD,aAAatN,IAGjD0X,GACJ,EAGItY,GAFA2U,EAAgBwD,GAEOtC,QAAQnlB,EAAGuW,QAI9BjH,EAAS,IAAIzO,EAAK2S,WAAWxT,IAEtB8S,YAAcmR,EAAcnR,YACnCxD,EAAOgG,SAAW2O,EAAc3O,SAChChG,EAAOyE,OAEPkQ,EAAckB,QAAQnlB,EAAGuW,IAAMjH,GAInCjN,KAAK4F,cAAc8R,cAAcoI,UAAU7S,GAEvCA,EAAOuE,OAEPvE,EAAOiI,eAOX,IAAIsC,EAAaxX,KAAK4F,cAAc4R,WACpC7Z,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,EAAGyT,EAAWxT,GAG/D,IAAIqO,EAAerS,KAAK4F,cAAc6R,OACtC9Z,EAAGsiB,UAAUhT,EAAOoF,aAAcA,EAAatO,EAAGsO,EAAarO,GAMvEqhB,IAGJrlB,KAAKylB,YAAY7C,EAAoByC,EAAW/Y,GAGhDtM,KAAK2iB,iBAAmB,IAS5BnkB,EAAKoZ,iBAAiBtV,UAAUmjB,YAAc,SAAU1nB,EAAS+jB,EAAM4D,GAEnE,GAAa,IAAT5D,EAAJ,CAKA,IAAInkB,EAAKqC,KAAKrC,GAGd,GAAII,EAAQuX,OAAO3X,EAAGuW,KAElB,IAAKlU,KAAK4F,cAAcf,SAAS2Q,cAAczX,GAG3C,YAKJJ,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAGzDvW,EAAG0hB,aAAa1hB,EAAGgoB,UAAkB,EAAP7D,EAAUnkB,EAAG4hB,eAA6B,EAAbmG,EAAiB,GAG5E1lB,KAAK4F,cAAcwS,cAMvB5Z,EAAKoZ,iBAAiBtV,UAAU6J,KAAO,WAEnCnM,KAAKgM,QACLhM,KAAKwR,OAAQ,GAMjBhT,EAAKoZ,iBAAiBtV,UAAUgK,MAAQ,WAEpCtM,KAAKwR,OAAQ,GAQjBhT,EAAKoZ,iBAAiBtV,UAAUE,QAAU,WAEtCxC,KAAKkiB,SAAW,KAChBliB,KAAK4S,QAAU,KAEf5S,KAAKrC,GAAGioB,aAAa5lB,KAAKijB,cAC1BjjB,KAAKrC,GAAGioB,aAAa5lB,KAAK0gB,aAE1B1gB,KAAK4iB,mBAAqB,KAE1B5iB,KAAKrC,GAAK,MAiBda,EAAKqnB,qBAAuB,SAAUloB,GAMlCqC,KAAK6hB,SAAW,GAMhB7hB,KAAK8lB,QAAU,IAMf9lB,KAAK8hB,KAAO9hB,KAAK8lB,QAGjB,IAAI9D,EAAuB,EAAZhiB,KAAK8hB,KAAW9hB,KAAK6hB,SAGhCI,EAA4B,EAAfjiB,KAAK8lB,QAOtB9lB,KAAKkiB,SAAW,IAAIG,aAAaL,GAOjChiB,KAAK4S,QAAU,IAAI4P,YAAYP,GAM/BjiB,KAAKijB,aAAe,KAMpBjjB,KAAK0gB,YAAc,KAMnB1gB,KAAKyiB,eAAiB,EAEtB,IAAK,IAAI/f,EAAI,EAAGmF,EAAI,EAAGnF,EAAIuf,EAAYvf,GAAK,EAAGmF,GAAK,EAEhD7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAO9B7H,KAAK0iB,SAAU,EAMf1iB,KAAK2iB,iBAAmB,EAMxB3iB,KAAK4iB,mBAAqB,KAM1B5iB,KAAK6N,iBAAmB,EAMxB7N,KAAK4F,cAAgB,KAMrB5F,KAAKiN,OAAS,KAMdjN,KAAK0N,OAAS,KAEd1N,KAAKkZ,WAAWvb,IAGpBa,EAAKqnB,qBAAqBvjB,UAAUC,YAAc/D,EAAKqnB,qBAQvDrnB,EAAKqnB,qBAAqBvjB,UAAU4W,WAAa,SAAUvb,GAEvDqC,KAAKrC,GAAKA,EAGVqC,KAAKijB,aAAetlB,EAAGulB,eACvBljB,KAAK0gB,YAAc/iB,EAAGulB,eAKtBvlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,aAExDzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAG0lB,eAQrD7kB,EAAKqnB,qBAAqBvjB,UAAU8Y,MAAQ,SAAUrP,EAAanG,GAE/D5F,KAAK4F,cAAgBA,EACrB5F,KAAKiN,OAASjN,KAAK4F,cAAc8R,cAAcwJ,WAE/ClhB,KAAK0N,OAAS3B,EAAYxK,eAAeye,SAAQ,GAEjDhgB,KAAKsM,SAMT9N,EAAKqnB,qBAAqBvjB,UAAU+Y,IAAM,WAEtCrb,KAAKgM,SAOTxN,EAAKqnB,qBAAqBvjB,UAAU6C,OAAS,SAAU4G,GAEnD,IAAItJ,EAAWsJ,EAAYtJ,SACvB6gB,EAAS7gB,EAAS,GAKtB,GAAI6gB,EAAOvlB,QAAQylB,KAAnB,CAEAxjB,KAAK4iB,mBAAqBU,EAAOvlB,QAAQqI,YAGtCkd,EAAOrb,YAAcjI,KAAK4F,cAAcqS,iBAAiBpK,mBAExD7N,KAAKgM,QACLhM,KAAK4F,cAAcqS,iBAAiBkD,aAAamI,EAAOrb,YAG5D,IAAI3B,EAAetG,KAAK4iB,mBAAmBtc,aACvC3I,EAAKqC,KAAKrC,GAEdA,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAY8B,KAAK4iB,mBAAmB3O,YAAYtW,EAAGuW,KACrE1V,EAAK+X,cAAcqH,aAAatX,GAAgBtG,KAAK4iB,mBAErD,IAAI,IAAIlgB,EAAI,EAAEmF,EAAIpF,EAASE,OAAQD,EAAImF,EAAGnF,IAEtC1C,KAAK+lB,aAAatjB,EAASC,IAG/B1C,KAAKgM,UAOTxN,EAAKqnB,qBAAqBvjB,UAAUyjB,aAAe,SAAUzC,GAEzD,IACIld,EADUkd,EAAOvlB,QACKqI,YACtBzI,EAAKqC,KAAKrC,GACV2I,EAAegd,EAAOvlB,QAAQqI,YAAYE,aAE9C,IAAI9H,EAAK+X,cAAcqH,aAAatX,IAAiBF,IACjDA,EAAY6N,YAAYtW,EAAGuW,KAAQoP,EAAOvlB,QAAQqI,YAAYoH,aAE9DxN,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcqH,aAAatX,GAAgBF,EAC5Ckd,EAAOvlB,QAAQylB,QAInBF,EAAOpiB,QAAX,CAEA,IAAIqiB,EAEA3lB,EAAOC,EAAQqN,EAAIC,EAAIC,EAAIC,EAAIzC,EAD/BsZ,EAAWliB,KAAKkiB,SAQpB,GALAqB,EAAMD,EAAOvlB,QAAQylB,KAErB5lB,EAAQ0lB,EAAOvlB,QAAQsP,MAAMzP,MAC7BC,EAASylB,EAAOvlB,QAAQsP,MAAMxP,OAE1BylB,EAAOvlB,QAAQqQ,KACnB,CAEI,IAAIA,EAAOkV,EAAOvlB,QAAQqQ,KAG1BlD,GADAC,EAAKiD,EAAKrK,EAAIuf,EAAO3c,OAAO5C,EAAIqK,EAAKxQ,OAC3B0lB,EAAOvlB,QAAQ6P,KAAKhQ,MAG9BwN,GADAC,EAAK+C,EAAKpK,EAAIsf,EAAO3c,OAAO3C,EAAIoK,EAAKvQ,QAC3BylB,EAAOvlB,QAAQ6P,KAAK/P,YAI9BqN,EAAKtN,GAAS,EAAI0lB,EAAO3c,OAAO5C,GAChCoH,EAAKvN,GAAS0lB,EAAO3c,OAAO5C,EAE5BqH,EAAKvN,GAAU,EAAIylB,EAAO3c,OAAO3C,GACjCqH,EAAKxN,GAAUylB,EAAO3c,OAAO3C,EAGjC4E,EAAgC,EAAxB5I,KAAK2iB,iBAAuB3iB,KAAK6hB,SAGzCK,EAAStZ,KAAWuC,EACpB+W,EAAStZ,KAAWyC,EAEpB6W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAIW,GACxBhC,EAAStZ,KAAW2a,EAAIhY,GAGxB2W,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,EAIpB4b,EAAStZ,KAAWsC,EACpBgX,EAAStZ,KAAWyC,EAEpB6W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAIjY,GACxB4W,EAAStZ,KAAW2a,EAAIhY,GAGxB2W,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,EAGpB4b,EAAStZ,KAAWsC,EACpBgX,EAAStZ,KAAWwC,EAEpB8W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAI/X,GACxB0W,EAAStZ,KAAW2a,EAAI9X,GAGxByW,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,EAIpB4b,EAAStZ,KAAWuC,EACpB+W,EAAStZ,KAAWwC,EAEpB8W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAI7X,GACxBwW,EAAStZ,KAAW2a,EAAI5X,GAGxBuW,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,IAGpBtG,KAAK2iB,kBAEuB3iB,KAAK8hB,MAE7B9hB,KAAKgM,UAObxN,EAAKqnB,qBAAqBvjB,UAAU0J,MAAQ,WAGxC,GAA8B,IAA1BhM,KAAK2iB,iBAAT,CAEA,IAAIhlB,EAAKqC,KAAKrC,GAId,GAAIqC,KAAK4iB,mBAAmB3O,YAAYtW,EAAGuW,IAA3C,CAUA,GAAGlU,KAAK2iB,iBAAgC,GAAZ3iB,KAAK8hB,KAE7BnkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAKkiB,cAG9C,CACI,IAAIjL,EAAOjX,KAAKkiB,SAAS+C,SAAS,EAA2B,EAAxBjlB,KAAK2iB,iBAAuB3iB,KAAK6hB,UAEtElkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGrJ,GAIzCtZ,EAAG0hB,aAAa1hB,EAAGgoB,UAAmC,EAAxB3lB,KAAK2iB,iBAAsBhlB,EAAG4hB,eAAgB,GAG5Evf,KAAK2iB,iBAAmB,EAGxB3iB,KAAK4F,cAAcwS,iBA1BfpY,KAAK4F,cAAcf,SAAS2Q,cAAcxV,KAAK4iB,mBAAoBjlB,KAiC3Ea,EAAKqnB,qBAAqBvjB,UAAU6J,KAAO,WAEvCnM,KAAKgM,SAMTxN,EAAKqnB,qBAAqBvjB,UAAUgK,MAAQ,WAExC,IAAI3O,EAAKqC,KAAKrC,GAGdA,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAG5C,IAAIlJ,EAAaxX,KAAK4F,cAAc4R,WACpC7Z,EAAGsiB,UAAUjgB,KAAKiN,OAAOmF,iBAAkBoF,EAAWzT,EAAGyT,EAAWxT,GAGpErG,EAAGoW,iBAAiB/T,KAAKiN,OAAO0I,SAAS,EAAO3V,KAAK0N,QAGrD,IAAIqX,EAAyB,EAAhB/kB,KAAK6hB,SAElBlkB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAOuE,EAAQ,GAChFpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO2I,eAAgB,EAAGjY,EAAG6iB,OAAO,EAAOuE,EAAQ,GAC/EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO4I,OAAQ,EAAGlY,EAAG6iB,OAAO,EAAOuE,EAAQ,IACvEpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO6I,UAAW,EAAGnY,EAAG6iB,OAAO,EAAOuE,EAAQ,IAC1EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAOuE,EAAQ,IAC9EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAOuE,EAAQ,IAC/EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO0F,cAAe,EAAGhV,EAAG6iB,OAAO,EAAOuE,EAAQ,KAWlFvmB,EAAKsZ,mBAAqB,WAMtB9X,KAAKgmB,eAMLhmB,KAAK0kB,QAAU,EAMf1kB,KAAK2kB,QAAU,GAGnBnmB,EAAKsZ,mBAAmBxV,UAAUC,YAAc/D,EAAKsZ,mBAQrDtZ,EAAKsZ,mBAAmBxV,UAAU4W,WAAa,SAAUvb,GAErDqC,KAAKrC,GAAKA,EACVqC,KAAKimB,eAELjmB,KAAKkmB,qBAQT1nB,EAAKsZ,mBAAmBxV,UAAU8Y,MAAQ,SAAUxV,EAAesV,GAE/Dlb,KAAK4F,cAAgBA,EACrB5F,KAAKihB,cAAgBrb,EAAc8R,cAAcuJ,cAEjD,IAAIzJ,EAAaxX,KAAK4F,cAAc4R,WACpCxX,KAAKpC,MAAuB,EAAf4Z,EAAWzT,EACxB/D,KAAKnC,OAAyB,GAAf2Z,EAAWxT,EAC1BhE,KAAKkb,OAASA,GASlB1c,EAAKsZ,mBAAmBxV,UAAU4J,WAAa,SAAUia,GAErD,IAAIxoB,EAAKqC,KAAKrC,GAEV6Z,EAAaxX,KAAK4F,cAAc4R,WAChCC,EAASzX,KAAK4F,cAAc6R,OAEhC0O,EAAYC,YAAcD,EAAYne,OAAOnG,YAAcskB,EAAYne,OAAOkC,YAG9Eic,EAAYE,sBAAwBrmB,KAAK4F,cAAcmS,eACvD/X,KAAK4F,cAAcmS,eAAiB,IAAIvZ,EAAKwZ,oBAC7ChY,KAAK4F,cAAcmS,eAAemB,WAAWvb,GAC7CA,EAAGkb,QAAQlb,EAAGghB,cAQd3e,KAAKgmB,YAAYle,KAAKqe,GAEtB,IAAIG,EAASH,EAAYve,aAAa,GAEtC5H,KAAK0kB,SAAWyB,EAAYC,YAAYriB,EACxC/D,KAAK2kB,SAAWwB,EAAYC,YAAYpiB,EAExC,IAAIjG,EAAUiC,KAAKimB,YAAYrF,MAC3B7iB,EAMAA,EAAQoI,OAAOnG,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAJ5F7G,EAAU,IAAIS,EAAK+nB,cAAcvmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAO3HjH,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAEtC,IAAI8D,EAAaskB,EAAYC,YAEzBI,EAAUF,EAAOE,QACrB3kB,EAAWkC,GAAKyiB,EAChB3kB,EAAWmC,GAAKwiB,EAChB3kB,EAAWjE,OAAmB,EAAV4oB,EACpB3kB,EAAWhE,QAAoB,EAAV2oB,EAGlB3kB,EAAWkC,EAAI,IAAKlC,EAAWkC,EAAI,GACnClC,EAAWjE,MAAQoC,KAAKpC,QAASiE,EAAWjE,MAAQoC,KAAKpC,OACzDiE,EAAWmC,EAAI,IAAKnC,EAAWmC,EAAI,GACnCnC,EAAWhE,OAASmC,KAAKnC,SAAUgE,EAAWhE,OAASmC,KAAKnC,QAG/DF,EAAG+B,gBAAgB/B,EAAGgC,YAAa5B,EAAQ0oB,aAG3C9oB,EAAG6c,SAAS,EAAG,EAAG3Y,EAAWjE,MAAQoC,KAAK4F,cAAchB,WAAY/C,EAAWhE,OAASmC,KAAK4F,cAAchB,YAE3G4S,EAAWzT,EAAIlC,EAAWjE,MAAQ,EAClC4Z,EAAWxT,GAAKnC,EAAWhE,OAAS,EAEpC4Z,EAAO1T,GAAKlC,EAAWkC,EACvB0T,EAAOzT,GAAKnC,EAAWmC,EAUvBrG,EAAGmhB,WAAU,GAAM,GAAM,GAAM,GAC/BnhB,EAAG8c,WAAW,EAAE,EAAE,EAAG,GACrB9c,EAAGid,MAAMjd,EAAGkd,kBAEZsL,EAAYO,iBAAmB3oB,GAQnCS,EAAKsZ,mBAAmBxV,UAAUkK,UAAY,WAE1C,IAAI7O,EAAKqC,KAAKrC,GACVwoB,EAAcnmB,KAAKgmB,YAAYpF,MAC/B/e,EAAaskB,EAAYC,YACzBroB,EAAUooB,EAAYO,iBACtBlP,EAAaxX,KAAK4F,cAAc4R,WAChCC,EAASzX,KAAK4F,cAAc6R,OAEhC,GAAG0O,EAAYve,aAAajF,OAAS,EACrC,CACIhF,EAAG6c,SAAS,EAAG,EAAG3Y,EAAWjE,MAAQoC,KAAK4F,cAAchB,WAAY/C,EAAWhE,OAASmC,KAAK4F,cAAchB,YAE3GjH,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cAEpCjjB,KAAK2mB,YAAY,GAAK,EACtB3mB,KAAK2mB,YAAY,GAAK9kB,EAAWhE,OAEjCmC,KAAK2mB,YAAY,GAAK9kB,EAAWjE,MACjCoC,KAAK2mB,YAAY,GAAK9kB,EAAWhE,OAEjCmC,KAAK2mB,YAAY,GAAK,EACtB3mB,KAAK2mB,YAAY,GAAK,EAEtB3mB,KAAK2mB,YAAY,GAAK9kB,EAAWjE,MACjCoC,KAAK2mB,YAAY,GAAK,EAEtBhpB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK2mB,aAE1ChpB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UAGpC5mB,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAC3CmC,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAE3CF,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK6mB,SAE1C,IAAIC,EAAe/oB,EACfgpB,EAAgB/mB,KAAKimB,YAAYrF,MACjCmG,IAAiBA,EAAgB,IAAIvoB,EAAK+nB,cAAcvmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,aAClJmiB,EAAc5gB,OAAOnG,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAGlGjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaonB,EAAcN,aACjD9oB,EAAGid,MAAMjd,EAAGkd,kBAEZld,EAAGkb,QAAQlb,EAAGsb,OAEd,IAAK,IAAIvW,EAAI,EAAGA,EAAIyjB,EAAYve,aAAajF,OAAS,EAAGD,IACzD,CACI,IAAIskB,EAAab,EAAYve,aAAalF,GAE1C/E,EAAG+B,gBAAgB/B,EAAGgC,YAAaonB,EAAcN,aAGjD9oB,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY4oB,EAAa/oB,SAM3CiC,KAAKinB,gBAAgBD,EAAYnlB,EAAYA,EAAWjE,MAAOiE,EAAWhE,QAG1E,IAAI8P,EAAOmZ,EACXA,EAAeC,EACfA,EAAgBpZ,EAGpBhQ,EAAGqb,OAAOrb,EAAGsb,OAEblb,EAAU+oB,EACV9mB,KAAKimB,YAAYne,KAAKif,GAG1B,IAAIT,EAASH,EAAYve,aAAaue,EAAYve,aAAajF,OAAS,GAExE3C,KAAK0kB,SAAW7iB,EAAWkC,EAC3B/D,KAAK2kB,SAAW9iB,EAAWmC,EAE3B,IAAIkjB,EAAQlnB,KAAKpC,MACbupB,EAAQnnB,KAAKnC,OAEb6mB,EAAU,EACVC,EAAU,EAEVzJ,EAASlb,KAAKkb,OAGlB,GAA+B,IAA5Blb,KAAKgmB,YAAYrjB,OAEhBhF,EAAGmhB,WAAU,GAAM,GAAM,GAAM,OAGnC,CACI,IAAIsI,EAAgBpnB,KAAKgmB,YAAYhmB,KAAKgmB,YAAYrjB,OAAS,GAG/DukB,GAFArlB,EAAaulB,EAAchB,aAERxoB,MACnBupB,EAAQtlB,EAAWhE,OAEnB6mB,EAAU7iB,EAAWkC,EACrB4gB,EAAU9iB,EAAWmC,EAErBkX,EAASkM,EAAcV,iBAAiBD,YAI5CjP,EAAWzT,EAAImjB,EAAQ,EACvB1P,EAAWxT,GAAKmjB,EAAQ,EAExB1P,EAAO1T,EAAI2gB,EACXjN,EAAOzT,EAAI2gB,EAIX,IAAI5gB,GAFJlC,EAAaskB,EAAYC,aAENriB,EAAI2gB,EACnB1gB,EAAInC,EAAWmC,EAAI2gB,EAMvBhnB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cAEpCjjB,KAAK2mB,YAAY,GAAK5iB,EACtB/D,KAAK2mB,YAAY,GAAK3iB,EAAInC,EAAWhE,OAErCmC,KAAK2mB,YAAY,GAAK5iB,EAAIlC,EAAWjE,MACrCoC,KAAK2mB,YAAY,GAAK3iB,EAAInC,EAAWhE,OAErCmC,KAAK2mB,YAAY,GAAK5iB,EACtB/D,KAAK2mB,YAAY,GAAK3iB,EAEtBhE,KAAK2mB,YAAY,GAAK5iB,EAAIlC,EAAWjE,MACrCoC,KAAK2mB,YAAY,GAAK3iB,EAEtBrG,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK2mB,aAE1ChpB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UAEpC5mB,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAC3CmC,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAE3CF,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK6mB,SAE1ClpB,EAAG6c,SAAS,EAAG,EAAG0M,EAAQlnB,KAAK4F,cAAchB,WAAYuiB,EAAQnnB,KAAK4F,cAAchB,YAGpFjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaub,GAQnCvd,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAGlCiC,KAAK4F,cAAcmS,gBAEnB/X,KAAK4F,cAAcmS,eAAevV,UAEtCxC,KAAK4F,cAAcmS,eAAiBoO,EAAYE,sBAChDF,EAAYE,sBAAwB,KAChCrmB,KAAK4F,cAAcmS,eAAewG,MAAQ,EAE1C5gB,EAAGqb,OAAOrb,EAAGghB,cAIbhhB,EAAGkb,QAAQlb,EAAGghB,cAMlB3e,KAAKinB,gBAAgBX,EAAQzkB,EAAYqlB,EAAOC,GAUhDnnB,KAAKimB,YAAYne,KAAK/J,GACtBooB,EAAYO,iBAAmB,MAanCloB,EAAKsZ,mBAAmBxV,UAAU2kB,gBAAkB,SAAUX,EAAQzkB,EAAYjE,EAAOC,GAGrF,IAAIF,EAAKqC,KAAKrC,GACVsP,EAASqZ,EAAOxD,QAAQnlB,EAAGuW,IAE3BjH,KAEAA,EAAS,IAAIzO,EAAK2S,WAAWxT,IAEtB8S,YAAc6V,EAAO7V,YAC5BxD,EAAOgG,SAAWqT,EAAOrT,SACzBhG,EAAOyE,MAAK,GAEZ4U,EAAOxD,QAAQnlB,EAAGuW,IAAMjH,GAI5BjN,KAAK4F,cAAc8R,cAAcoI,UAAU7S,GAI3CtP,EAAGsiB,UAAUhT,EAAOmF,iBAAkBxU,EAAQ,GAAIC,EAAS,GAC3DF,EAAGsiB,UAAUhT,EAAOoF,aAAc,EAAE,GAEjCiU,EAAOrT,SAASX,aAEfgU,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAKpC,MAC3C0oB,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAKnC,OAC3CyoB,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAK2mB,YAAY,GACvDL,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAK2mB,YAAY,IAG3D1Z,EAAOiI,eAEPvX,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAG,GAEtE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UACpCjpB,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAO,EAAG,GAEpE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKV,aACpC3B,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAO,EAAG,GAErE7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAG5C/iB,EAAG0hB,aAAa1hB,EAAGgoB,UAAW,EAAGhoB,EAAG4hB,eAAgB,GAEpDvf,KAAK4F,cAAcwS,aAQvB5Z,EAAKsZ,mBAAmBxV,UAAU4jB,kBAAoB,WAElD,IAAIvoB,EAAKqC,KAAKrC,GAGdqC,KAAKijB,aAAetlB,EAAGulB,eACvBljB,KAAK4mB,SAAWjpB,EAAGulB,eACnBljB,KAAKV,YAAc3B,EAAGulB,eACtBljB,KAAK0gB,YAAc/iB,EAAGulB,eAMtBljB,KAAK2mB,YAAc,IAAItE,cAAe,EAAK,EACvC,EAAK,EACL,EAAK,EACL,EAAK,IAET1kB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAK2mB,YAAahpB,EAAGylB,aAGpDpjB,KAAK6mB,QAAU,IAAIxE,cAAe,EAAK,EACnC,EAAK,EACL,EAAK,EACL,EAAK,IAET1kB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UACpCjpB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAK6mB,QAASlpB,EAAGylB,aAEhDpjB,KAAKqnB,WAAa,IAAIhF,cAAe,EAAK,SACtC,EAAK,SACL,EAAK,SACL,EAAK,WAET1kB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKV,aACpC3B,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKqnB,WAAY1pB,EAAGylB,aAGnDzlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsB,IAAI+B,aAAc,EAAG,EAAG,EAAG,EAAG,EAAG,IAAM7kB,EAAGylB,cAQrF5kB,EAAKsZ,mBAAmBxV,UAAUE,QAAU,WAExC,IAAI7E,EAAKqC,KAAKrC,GAEdqC,KAAKgmB,YAAc,KAEnBhmB,KAAK0kB,QAAU,EACf1kB,KAAK2kB,QAAU,EAGf,IAAK,IAAIjiB,EAAI,EAAGA,EAAI1C,KAAKimB,YAAYtjB,OAAQD,IAEzC1C,KAAKimB,YAAYvjB,GAAGF,UAGxBxC,KAAKimB,YAAc,KAGnBtoB,EAAGioB,aAAa5lB,KAAKijB,cACrBtlB,EAAGioB,aAAa5lB,KAAK4mB,UACrBjpB,EAAGioB,aAAa5lB,KAAKV,aACrB3B,EAAGioB,aAAa5lB,KAAK0gB,cAyBzB,IAAIlgB,GACA8mB,MAAO,wBACPC,MAAO,qBACPC,MAAO,wBACPC,MAAO,2BA2vCP,OAptCJjpB,EAAK+nB,cAAgB,SAAU5oB,EAAIC,EAAOC,EAAQC,EAAWmB,GAEzDA,EAAqC,iBAAhBA,EAA2BA,EAAc,EAM9De,KAAKrC,GAAKA,EAQVqC,KAAKymB,YAAcznB,EAAmBrB,EAAIC,EAAOC,EAAQC,GAAaU,EAAKC,WAAWipB,QAASzoB,GAM/Fe,KAAKjC,QAAUiC,KAAKymB,YAAYhmB,cAChCT,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKC,aAAeD,KAAKymB,YAAYxmB,cAGzCzB,EAAK+nB,cAAcjkB,UAAUC,YAAc/D,EAAK+nB,cAOhD/nB,EAAK+nB,cAAcjkB,UAAUsY,MAAQ,WAEjC,IAAIjd,EAAKqC,KAAKrC,GAEdA,EAAG8c,WAAW,EAAE,EAAE,EAAG,GACrB9c,EAAGid,MAAMjd,EAAGkd,mBAUhBrc,EAAK+nB,cAAcjkB,UAAU6D,OAAS,SAAUvI,EAAOC,GAEnD,GAAGmC,KAAKpC,QAAUA,GAASoC,KAAKnC,SAAWA,EAA3C,CAEAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEd,IAAIF,EAAKqC,KAAKrC,GACdA,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,SACnCJ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMlB,EAAQC,EAAS,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAGxFpB,EAAGiC,iBAAiBjC,EAAGkC,aAAcG,KAAKC,cAC1CtC,EAAGgqB,oBAAoBhqB,EAAGkC,aAAclC,EAAGiqB,cAAehqB,EAAQC,KAQtEW,EAAK+nB,cAAcjkB,UAAUE,QAAU,WAEnC,IAAI7E,EAAKqC,KAAKrC,GACdA,EAAGkqB,kBAAkB7nB,KAAKymB,aAC1B9oB,EAAGmqB,cAAc9nB,KAAKjC,SAEtBiC,KAAKymB,YAAc,KACnBzmB,KAAKjC,QAAU,MAenBS,EAAKupB,aAAe,SAAUnqB,EAAOC,GAQjCmC,KAAKpC,MAAQA,EAQboC,KAAKnC,OAASA,EAQdmC,KAAKkX,OAAS1V,OAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,QAQ9DmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAEtCxY,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,GAGzBW,EAAKupB,aAAazlB,UAAUC,YAAc/D,EAAKupB,aAQ/CvpB,EAAKupB,aAAazlB,UAAUsY,MAAQ,WAEhC5a,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC7O,KAAK8N,QAAQka,UAAU,EAAE,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,SAUjDW,EAAKupB,aAAazlB,UAAU6D,OAAS,SAAUvI,EAAOC,GAElDmC,KAAKpC,MAAQoC,KAAKkX,OAAOtZ,MAAQA,EACjCoC,KAAKnC,OAASmC,KAAKkX,OAAOrZ,OAASA,GAQvCW,EAAKupB,aAAazlB,UAAUE,QAAU,WAElChB,OAAOqF,WAAWsV,OAAOnc,OAa7BxB,EAAKypB,kBAAoB,aAIzBzpB,EAAKypB,kBAAkB3lB,UAAUC,YAAc/D,EAAKypB,kBASpDzpB,EAAKypB,kBAAkB3lB,UAAU+J,SAAW,SAAU0R,EAAUnY,GAE5D,IAAIkI,EAAUlI,EAAckI,QAE5BA,EAAQoa,OAER,IAAIC,EAAapK,EAAS9c,MACtBmnB,EAAYrK,EAASxc,eAErBqD,EAAagB,EAAchB,WAE/BkJ,EAAQe,aAAauZ,EAAUllB,EAAI0B,EAC/BwjB,EAAUjlB,EAAIyB,EACdwjB,EAAUhlB,EAAIwB,EACdwjB,EAAU/kB,EAAIuB,EACdwjB,EAAU9kB,GAAKsB,EACfwjB,EAAU7kB,GAAKqB,GAEnBpG,EAAK6pB,eAAeC,mBAAmBvK,EAAUjQ,GAEjDA,EAAQya,OAERxK,EAASzc,WAAa6mB,GAS1B3pB,EAAKypB,kBAAkB3lB,UAAUiK,QAAU,SAAU3G,GAEjDA,EAAckI,QAAQ0a,WAa1BhqB,EAAKuQ,aAAe,aAWpBvQ,EAAKuQ,aAAaC,iBAAmB,SAAUsU,EAAQjN,GAEnD,IAAIa,EAASoM,EAAO1c,eAAiBpF,OAAOqF,WAAW2B,OAAOxI,MAI9D,OAFAxB,EAAKuQ,aAAa0Z,WAAWnF,EAAOvlB,QAASsY,EAAOa,GAE7CA,GAYX1Y,EAAKuQ,aAAa2Z,iBAAmB,SAAU3qB,EAASsY,EAAOa,GAE3D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAO7P,EAAQ6P,KACfyH,EAAIzH,EAAKhQ,MACT2mB,EAAI3W,EAAK/P,OAETE,EAAQ2Q,UAER2G,EAAIkP,EACJA,EAAI3W,EAAKhQ,OAGTsZ,EAAOtZ,QAAUyX,GAAK6B,EAAOrZ,SAAW0mB,IAExCrN,EAAOtZ,MAAQyX,EACf6B,EAAOrZ,OAAS0mB,GAGpBzW,EAAQka,UAAU,EAAG,EAAG3S,EAAGkP,GAE3BzW,EAAQ6a,UAAY,KAAO,SAAmB,EAARtS,GAAWuS,SAAS,KAAKC,QAAQ,GACvE/a,EAAQgb,SAAS,EAAG,EAAGzT,EAAGkP,GAE1BzW,EAAQC,yBAA2B,WACnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,GAE7EzW,EAAQC,yBAA2B,mBACnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,IAYjF/lB,EAAKuQ,aAAaga,iBAAmB,SAAUhrB,EAASsY,EAAOa,GAE3D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAO7P,EAAQ6P,KACfyH,EAAIzH,EAAKhQ,MACT2mB,EAAI3W,EAAK/P,OAETE,EAAQ2Q,UAER2G,EAAIkP,EACJA,EAAI3W,EAAKhQ,OAGTsZ,EAAOtZ,QAAUyX,GAAK6B,EAAOrZ,SAAW0mB,IAExCrN,EAAOtZ,MAAQyX,EACf6B,EAAOrZ,OAAS0mB,GAGpBzW,EAAQC,yBAA2B,OAEnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,GAW7E,IAAK,IATDyE,EAAYxnB,OAAO2e,MAAMC,cAAc/J,GACvCnS,EAAI8kB,EAAU,GACdrO,EAAIqO,EAAU,GACd7lB,EAAI6lB,EAAU,GAEdC,EAAYnb,EAAQob,aAAa,EAAG,EAAG7T,EAAGkP,GAE1C4E,EAASF,EAAU7U,KAEd1R,EAAI,EAAGA,EAAIymB,EAAOxmB,OAAQD,GAAK,EAMpC,GAJAymB,EAAOzmB,EAAI,IAAMwB,EACjBilB,EAAOzmB,EAAI,IAAMiY,EACjBwO,EAAOzmB,EAAI,IAAMS,GAEZ3E,EAAKuQ,aAAaqa,eACvB,CACI,IAAInoB,EAAQkoB,EAAOzmB,EAAI,GAEvBymB,EAAOzmB,EAAI,IAAM,IAAMzB,EACvBkoB,EAAOzmB,EAAI,IAAM,IAAMzB,EACvBkoB,EAAOzmB,EAAI,IAAM,IAAMzB,EAI/B6M,EAAQub,aAAaJ,EAAW,EAAG,IAevCzqB,EAAK8qB,eAAiB,SAAUvmB,EAAMyT,GAyFlC,GApFAxW,KAAK+C,KAAOA,EAEPvE,EAAKiY,kBAENjY,EAAKiY,gBAAkBzW,MAS3BA,KAAKwT,KAAOhS,OAAO+nB,OAQnBvpB,KAAK4E,WAAa7B,EAAK6B,WAYvB5E,KAAK+W,kBAAoBhU,EAAKgU,kBAQ9B/W,KAAK4W,YAAc7T,EAAK6T,YAQxB5W,KAAK6W,YAAa,EASlB7W,KAAKpC,MAAQmF,EAAKnF,MAAQoC,KAAK4E,WAS/B5E,KAAKnC,OAASkF,EAAKlF,OAASmC,KAAK4E,WAQjC5E,KAAKiX,KAAOlU,EAAKmU,OAOjBlX,KAAK8N,QAAU9N,KAAKiX,KAAKuB,WAAW,MAAQvX,MAAOjB,KAAK4W,eAEnD5W,KAAK8N,QAEN,MAAM,IAAI/E,MAAM,yCASpB/I,KAAKwpB,SAAU,EAQfxpB,KAAKue,MAAQ,EAObve,KAAKoM,YAAc,IAAI5N,EAAKypB,kBAO5BjoB,KAAK4F,eACDkI,QAAS9N,KAAK8N,QACd1B,YAAapM,KAAKoM,YAClBtO,UAAW,KACXoQ,eAAgB1M,OAAOioB,OAAOC,mBAAmB1pB,KAAK8N,SAMtDc,YAAa4H,EAAO5H,cAAe,GAGvC5O,KAAKuY,gBAELvY,KAAKmG,OAAOnG,KAAKpC,MAAOoC,KAAKnC,SAIjCW,EAAK8qB,eAAehnB,UAAUC,YAAc/D,EAAK8qB,eAQjD9qB,EAAK8qB,eAAehnB,UAAU6C,OAAS,SAAUzE,GAE7CV,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzC7O,KAAK8N,QAAQG,YAAc,EAE3BjO,KAAK4F,cAAciI,iBAAmB,EACtC7N,KAAK4F,cAAc0I,OAAStO,KAAK+C,KAAK+X,OAAOC,OAAOhX,EACpD/D,KAAK4F,cAAc2I,OAASvO,KAAK+C,KAAK+X,OAAOC,OAAO/W,EAEpDhE,KAAK8N,QAAQC,yBAA2B,cAEpC4b,UAAUC,YAAc5pB,KAAKiX,KAAK4S,eAElC7pB,KAAK8N,QAAQ6a,UAAY,QACzB3oB,KAAK8N,QAAQ8M,SAGb5a,KAAK+W,oBAED/W,KAAK4W,YAEL5W,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,QAEzC6C,EAAKga,WAEV1a,KAAK8N,QAAQ6a,UAAYjoB,EAAKga,SAASoP,KACvC9pB,KAAK8N,QAAQgb,SAAS,EAAG,EAAG9oB,KAAKpC,MAAQoC,KAAKnC,UAItDmC,KAAKgb,oBAAoBta,IAG7BlC,EAAK8qB,eAAehnB,UAAUqX,mBAAqB,aAiBnDnb,EAAK8qB,eAAehnB,UAAUE,QAAU,SAAUunB,QAE3BxjB,IAAfwjB,IAA4BA,GAAa,GAEzCA,GAAc/pB,KAAKiX,KAAK5V,QAExBrB,KAAKiX,KAAK5V,OAAOwH,YAAY7I,KAAKiX,MAGtCjX,KAAKiX,KAAO,KACZjX,KAAK8N,QAAU,KACf9N,KAAKoM,YAAc,KACnBpM,KAAK4F,cAAgB,MAUzBpH,EAAK8qB,eAAehnB,UAAU6D,OAAS,SAAUvI,EAAOC,GAEpDmC,KAAKpC,MAAQA,EAAQoC,KAAK4E,WAC1B5E,KAAKnC,OAASA,EAASmC,KAAK4E,WAE5B5E,KAAKiX,KAAKrZ,MAAQoC,KAAKpC,MACvBoC,KAAKiX,KAAKpZ,OAASmC,KAAKnC,OAEpBmC,KAAK6W,aAEL7W,KAAKiX,KAAKqE,MAAM1d,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAAa,KACvD5E,KAAKiX,KAAKqE,MAAMzd,OAASmC,KAAKnC,OAASmC,KAAK4E,WAAa,MAGzD5E,KAAK4F,cAAcsI,iBAEnBlO,KAAK8N,QAAQ9N,KAAK4F,cAAcsI,gBAAmBlO,KAAK4F,cAAc9H,YAAcU,EAAKC,WAAWC,SAa5GF,EAAK8qB,eAAehnB,UAAU0Y,oBAAsB,SAAUC,EAAenN,EAASJ,GAElF1N,KAAK4F,cAAckI,QAAUA,GAAW9N,KAAK8N,QAC7C9N,KAAK4F,cAAchB,WAAa5E,KAAK4E,WACrCqW,EAAcjV,cAAchG,KAAK4F,cAAe8H,IASpDlP,EAAK8qB,eAAehnB,UAAUiW,cAAgB,WAE1C,IAAK/Z,EAAKwP,iBACV,CACI,IAAI7K,KACAkZ,EAAQ7d,EAAK0J,WACb8hB,EAAShqB,KAAK+C,KAAKknB,OAAOC,eAE9B/mB,EAAEkZ,EAAMjU,QAAU,cAClBjF,EAAEkZ,EAAMG,KAAO,UACfrZ,EAAEkZ,EAAMlU,UAAY,EAAW,WAAa,cAC5ChF,EAAEkZ,EAAMO,QAAU,EAAW,SAAW,cACxCzZ,EAAEkZ,EAAMQ,SAAW,EAAW,UAAY,cAC1C1Z,EAAEkZ,EAAMS,QAAU,EAAW,SAAW,cACxC3Z,EAAEkZ,EAAMU,SAAW,EAAW,UAAY,cAC1C5Z,EAAEkZ,EAAMW,aAAe,EAAW,cAAgB,cAClD7Z,EAAEkZ,EAAMY,YAAc,EAAW,aAAe,cAChD9Z,EAAEkZ,EAAMa,YAAc,EAAW,aAAe,cAChD/Z,EAAEkZ,EAAMc,YAAc,EAAW,aAAe,cAChDha,EAAEkZ,EAAMe,YAAc,EAAW,aAAe,cAChDja,EAAEkZ,EAAMgB,WAAa,EAAW,YAAc,cAC9Cla,EAAEkZ,EAAMiB,KAAO,EAAW,MAAQ,cAClCna,EAAEkZ,EAAMkB,YAAc,EAAW,aAAe,cAChDpa,EAAEkZ,EAAMmB,OAAS,EAAW,QAAU,cACtCra,EAAEkZ,EAAMoB,YAAc,EAAW,aAAe,cAEhDjf,EAAKwP,iBAAmB7K,IAiBhC3E,EAAK2rB,YAAc,SAAU/a,EAAQtR,EAAW8G,GAQ5C5E,KAAK4E,WAAaA,GAAc,EAShC5E,KAAKpC,MAAQ,IASboC,KAAKnC,OAAS,IASdmC,KAAKlC,UAAYA,GAAaU,EAAKC,WAAWipB,QAS9C1nB,KAAKmN,WAAY,EAQjBnN,KAAKoP,OAASA,EASdpP,KAAKsX,oBAAqB,EAS1BtX,KAAKiU,eASLjU,KAAK2b,QAAS,EAOd3b,KAAKsG,aAAe,EAOpBtG,KAAKsV,SAAW,GAAM,GAAM,GAAM,GAE7BlG,KAKApP,KAAKoP,OAAOgb,UAAYpqB,KAAKoP,OAAOoJ,aAAexY,KAAKoP,OAAOxR,OAASoC,KAAKoP,OAAOvR,SAErFmC,KAAKmN,WAAY,EACjBnN,KAAKpC,MAAQoC,KAAKoP,OAAOib,cAAgBrqB,KAAKoP,OAAOxR,MACrDoC,KAAKnC,OAASmC,KAAKoP,OAAOkb,eAAiBtqB,KAAKoP,OAAOvR,OACvDmC,KAAKwR,SAYTxR,KAAKwN,YAAa,EAOlBxN,KAAKgc,WAAY,IAGrBxd,EAAK2rB,YAAY7nB,UAAUC,YAAc/D,EAAK2rB,YAW9C3rB,EAAK2rB,YAAY7nB,UAAUioB,YAAc,SAAU3sB,EAAOC,GAEtDmC,KAAKmN,WAAY,EACjBnN,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKwR,SAQThT,EAAK2rB,YAAY7nB,UAAUE,QAAU,WAE7BxC,KAAKoP,QAEL5N,OAAOqF,WAAWC,eAAe9G,KAAKoP,QAG1CpP,KAAKoP,OAAS,KAEdpP,KAAKwqB,iBAQThsB,EAAK2rB,YAAY7nB,UAAUkP,MAAQ,WAE/B,IAAK,IAAI9O,EAAI,EAAGA,EAAI1C,KAAKiU,YAAYtR,OAAQD,IAEzC1C,KAAKsV,OAAO5S,IAAK,GAUzBlE,EAAK2rB,YAAY7nB,UAAUkoB,cAAgB,WAEvCxqB,KAAKwR,QAGL,IAAK,IAAI9O,EAAI1C,KAAKiU,YAAYtR,OAAS,EAAGD,GAAK,EAAGA,IAClD,CACI,IAAI+nB,EAAYzqB,KAAKiU,YAAYvR,GAC7B/E,EAAKa,EAAK8X,WAAW5T,GAEtB/E,GAAM8sB,GAEL9sB,EAAGmqB,cAAc2C,GAIzBzqB,KAAKiU,YAAYtR,OAAS,EAE1B3C,KAAKwR,SAaThT,EAAK2rB,YAAYO,WAAa,SAAUxT,EAAQpZ,EAAW8G,GAcvD,OAZqB,IAAjBsS,EAAOtZ,QAEPsZ,EAAOtZ,MAAQ,GAGG,IAAlBsZ,EAAOrZ,SAEPqZ,EAAOrZ,OAAS,GAGpB+G,EAAaA,GAAc,EAEpB,IAAIpG,EAAK2rB,YAAYjT,EAAQpZ,EAAW8G,IAcnDpG,EAAKmsB,mBAAoB,EAazBnsB,EAAKqO,QAAU,SAAUzG,EAAaiH,EAAOO,EAAMQ,GAQ/CpO,KAAK4qB,SAAU,EAEVvd,IAEDrN,KAAK4qB,SAAU,EACfvd,EAAQ,IAAI7O,EAAKyD,UAAU,EAAE,EAAE,EAAE,IAGjCmE,aAAuB5H,EAAKqO,UAE5BzG,EAAcA,EAAYA,aAS9BpG,KAAKoG,YAAcA,EAQnBpG,KAAKqN,MAAQA,EAQbrN,KAAKoO,KAAOA,EAQZpO,KAAKyN,OAAQ,EAQbzN,KAAK6qB,UAAW,EAQhB7qB,KAAK8qB,gBAAiB,EAQtB9qB,KAAK8O,gBAAiB,EAStB9O,KAAKwjB,KAAO,KAQZxjB,KAAKpC,MAAQ,EAQboC,KAAKnC,OAAS,EASdmC,KAAK4N,KAAOA,GAAQ,IAAIpP,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAUhDjC,KAAK0O,SAAU,EAEXtI,EAAY+G,YAERnN,KAAK4qB,UAAWvd,EAAQ,IAAI7O,EAAKyD,UAAU,EAAG,EAAGmE,EAAYxI,MAAOwI,EAAYvI,SACpFmC,KAAK+qB,SAAS1d,KAItB7O,EAAKqO,QAAQvK,UAAUC,YAAc/D,EAAKqO,QAQ1CrO,EAAKqO,QAAQvK,UAAU0oB,oBAAsB,WAEzC,IAAI5kB,EAAcpG,KAAKoG,YAEnBpG,KAAK4qB,UAEL5qB,KAAKqN,MAAQ,IAAI7O,EAAKyD,UAAU,EAAG,EAAGmE,EAAYxI,MAAOwI,EAAYvI,SAGzEmC,KAAK+qB,SAAS/qB,KAAKqN,QASvB7O,EAAKqO,QAAQvK,UAAUE,QAAU,SAAU+K,GAEnCA,GAAevN,KAAKoG,YAAY5D,UAEpCxC,KAAKyN,OAAQ,GASjBjP,EAAKqO,QAAQvK,UAAUyoB,SAAW,SAAU1d,GAaxC,GAXArN,KAAK4qB,SAAU,EAEf5qB,KAAKqN,MAAQA,EACbrN,KAAKpC,MAAQyP,EAAMzP,MACnBoC,KAAKnC,OAASwP,EAAMxP,OAEpBmC,KAAK4N,KAAK7J,EAAIsJ,EAAMtJ,EACpB/D,KAAK4N,KAAK5J,EAAIqJ,EAAMrJ,EACpBhE,KAAK4N,KAAKhQ,MAAQyP,EAAMzP,MACxBoC,KAAK4N,KAAK/P,OAASwP,EAAMxP,OAEpBmC,KAAKoO,QAASf,EAAMtJ,EAAIsJ,EAAMzP,MAAQoC,KAAKoG,YAAYxI,OAASyP,EAAMrJ,EAAIqJ,EAAMxP,OAASmC,KAAKoG,YAAYvI,QAW/GmC,KAAKyN,MAAQJ,GAASA,EAAMzP,OAASyP,EAAMxP,QAAUmC,KAAKoG,YAAYgJ,QAAUpP,KAAKoG,YAAY+G,UAE7FnN,KAAKoO,OAELpO,KAAKpC,MAAQoC,KAAKoO,KAAKxQ,MACvBoC,KAAKnC,OAASmC,KAAKoO,KAAKvQ,OACxBmC,KAAKqN,MAAMzP,MAAQoC,KAAKoO,KAAKxQ,MAC7BoC,KAAKqN,MAAMxP,OAASmC,KAAKoO,KAAKvQ,QAG9BmC,KAAKyN,OAASzN,KAAKirB,iBArBvB,CAEI,IAAKzsB,EAAKmsB,kBAEN,MAAM,IAAI5hB,MAAM,wEAA0E/I,MAG9FA,KAAKyN,OAAQ,IAuBrBjP,EAAKqO,QAAQvK,UAAU2oB,WAAa,WAE5BjrB,KAAKwjB,OAAQxjB,KAAKwjB,KAAO,IAAIhlB,EAAK8lB,YAEtC,IAAIjX,EAAQrN,KAAK4N,KACbsd,EAAKlrB,KAAKoG,YAAYxI,MACtButB,EAAKnrB,KAAKoG,YAAYvI,OAE1BmC,KAAKwjB,KAAKU,GAAK7W,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAKW,GAAK9W,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKlY,IAAM+B,EAAMtJ,EAAIsJ,EAAMzP,OAASstB,EACzClrB,KAAKwjB,KAAKjY,GAAK8B,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKhY,IAAM6B,EAAMtJ,EAAIsJ,EAAMzP,OAASstB,EACzClrB,KAAKwjB,KAAK/X,IAAM4B,EAAMrJ,EAAIqJ,EAAMxP,QAAUstB,EAE1CnrB,KAAKwjB,KAAK9X,GAAK2B,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAK7X,IAAM0B,EAAMrJ,EAAIqJ,EAAMxP,QAAUstB,GAS9C3sB,EAAKqO,QAAQvK,UAAU2hB,mBAAqB,WAEnCjkB,KAAKwjB,OAAQxjB,KAAKwjB,KAAO,IAAIhlB,EAAK8lB,YAEvC,IAAIjX,EAAQrN,KAAK4N,KACbsd,EAAKlrB,KAAKoG,YAAYxI,MACtButB,EAAKnrB,KAAKoG,YAAYvI,OAE1BmC,KAAKwjB,KAAKU,GAAK7W,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAKW,GAAK9W,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKlY,IAAM+B,EAAMtJ,EAAIsJ,EAAMxP,QAAUqtB,EAC1ClrB,KAAKwjB,KAAKjY,GAAK8B,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKhY,IAAM6B,EAAMtJ,EAAIsJ,EAAMxP,QAAUqtB,EAC1ClrB,KAAKwjB,KAAK/X,IAAM4B,EAAMrJ,EAAIqJ,EAAMzP,OAASutB,EAEzCnrB,KAAKwjB,KAAK9X,GAAK2B,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAK7X,IAAM0B,EAAMrJ,EAAIqJ,EAAMzP,OAASutB,GAY7C3sB,EAAKqO,QAAQ6d,WAAa,SAAUxT,EAAQpZ,GAExC,IAAIsI,EAAc5H,EAAK2rB,YAAYO,WAAWxT,EAAQpZ,GAEtD,OAAO,IAAIU,EAAKqO,QAAQzG,IAG5B5H,EAAK8lB,WAAa,WAEdtkB,KAAKkkB,GAAK,EACVlkB,KAAKmkB,GAAK,EAEVnkB,KAAKsL,GAAK,EACVtL,KAAKuL,GAAK,EAEVvL,KAAKwL,GAAK,EACVxL,KAAKyL,GAAK,EAEVzL,KAAK0L,GAAK,EACV1L,KAAK2L,GAAK,GAOa,oBAAZyf,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU5sB,GAE/B4sB,QAAQ5sB,KAAOA,GACU,oBAAX8sB,QAA0BA,OAAOC,IAC/CD,OAAO,OAA6B5qB,EAAKlC,KAAOA,GAEhDkC,EAAKlC,KAAOA,EAGTA,IACRgG,KAAKxE,MAOR,WAEI,IAAIU,EAAOV,KAWXwB,EAASA,IAOTgqB,QAAS,SAOTC,SAOAC,KAAM,EAONnC,OAAQ,EAOR5S,MAAO,EAOPgV,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,GA2BdtnB,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,IAehBhf,YACIipB,QAAS,EACThpB,OAAQ,EACRC,QAAS,GAGbH,KAAMA,SAGN4S,KAAM,GA8HV,GArHqC,oBAA1Bqe,wBAEFA,sBAAsBntB,UAAUgK,QAEjCmjB,sBAAsBntB,UAAUgK,MAAQmjB,sBAAsBntB,UAAUotB,aAEvED,sBAAsBntB,UAAU6J,OAEjCsjB,sBAAsBntB,UAAU6J,KAAOsjB,sBAAsBntB,UAAUqtB,UAK1EjsB,KAAKksB,QAENlsB,KAAKksB,MAAQ,SAAgB7rB,GAEzB,OAAOA,EAAI,EAAIL,KAAKwC,KAAKnC,GAAKL,KAAKmsB,MAAM9rB,KAO5C+rB,SAASxtB,UAAUytB,OAGpBD,SAASxtB,UAAUytB,KAAO,WAEtB,IAAIC,EAAQvoB,MAAMnF,UAAU0tB,MAE5B,OAAO,SAAUC,GAUb,SAASC,IAEL,IAAIC,EAAOC,EAAUC,OAAOL,EAAMxrB,KAAK8rB,YACvCtoB,EAAOzC,MAAMvF,gBAAgBkwB,EAAQlwB,KAAOiwB,EAASE,GAXzD,IAAInoB,EAAShI,KACTowB,EAAYJ,EAAMxrB,KAAK8rB,UAAW,GAEtC,GAAsB,mBAAXtoB,EAEP,MAAM,IAAIuoB,UAuBd,OAdAL,EAAM5tB,UAAY,SAAUkuB,EAAGC,GAO3B,GALIA,IAEAD,EAAEluB,UAAYmuB,KAGZzwB,gBAAgBwwB,GAGlB,OAAO,IAAIA,EAVD,CAYfxoB,EAAO1F,WAEH4tB,GAlCW,IA0CzBzoB,MAAMC,UAEPD,MAAMC,QAAU,SAAUgpB,GAEtB,MAA+C,mBAAxC1pB,OAAO1E,UAAUsmB,SAASpkB,KAAKksB,KAQzCjpB,MAAMnF,UAAUquB,UAEjBlpB,MAAMnF,UAAUquB,QAAU,SAAUC,GAEhC,aAEA,QAAa,IAAT5wB,MAA4B,OAATA,KAEnB,MAAM,IAAIuwB,UAGd,IAAIM,EAAI7pB,OAAOhH,MACX8wB,EAAMD,EAAEluB,SAAW,EAEvB,GAAmB,mBAARiuB,EAEP,MAAM,IAAIL,UAKd,IAAK,IAFDN,EAAUK,UAAU3tB,QAAU,EAAI2tB,UAAU,QAAK,EAE5C5tB,EAAI,EAAGA,EAAIouB,EAAKpuB,IAEjBA,KAAKmuB,GAELD,EAAIpsB,KAAKyrB,EAASY,EAAEnuB,GAAIA,EAAGmuB,KAWT,mBAAvBzgB,OAAOmS,aAA4D,iBAAvBnS,OAAOmS,YAC9D,CACI,IAAIwO,EAAa,SAAUvd,GAGvB,IAAIid,EAAQ,IAAIhpB,MAGhB2I,OAAOoD,GAAQ,SAAUkd,GAErB,GAAoB,iBAAV,EACV,CACIjpB,MAAMjD,KAAKxE,KAAM0wB,GACjB1wB,KAAK2C,OAAS+tB,EAEd,IAAShuB,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAK,MAIlB,CACI+E,MAAMjD,KAAKxE,KAAM0wB,EAAI/tB,QAErB3C,KAAK2C,OAAS+tB,EAAI/tB,OAElB,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAKguB,EAAIhuB,KAK1B0N,OAAOoD,GAAMlR,UAAYmuB,EACzBrgB,OAAOoD,GAAMjR,YAAc6N,OAAOoD,IAGtCud,EAAW,gBACXA,EAAW,eACXA,EAAW,eACXA,EAAW,cACXA,EAAW,eAMV3gB,OAAO9P,UAER8P,OAAO9P,WACP8P,OAAO9P,QAAQ+P,IAAMD,OAAO9P,QAAQ0wB,OAAS,aAC7C5gB,OAAO9P,QAAQ+Z,KAAOjK,OAAO9P,QAAQ0wB,OAAS,cAO7ChqB,OAAOiqB,SAGRjqB,OAAOiqB,OAAS,SAAUjpB,EAAQkpB,GAE9B,aACA,GAAc,MAAVlpB,EAEA,MAAM,IAAIuoB,UAAU,8CAMxB,IAAK,IAHDY,EAAKnqB,OAAOgB,GACZopB,EAASpqB,OAAO1E,UAAU+uB,eAErBzoB,EAAQ,EAAGA,EAAQ0nB,UAAU3tB,OAAQiG,IAC9C,CACI,IAAI0oB,EAAahB,UAAU1nB,GAE3B,GAAkB,MAAd0oB,EAEA,IAAK,IAAIC,KAAWD,EAGZF,EAAO5sB,KAAK8sB,EAAYC,KAExBJ,EAAGI,GAAWD,EAAWC,IAKzC,OAAOJ,IAcf3vB,EAAOgwB,OAEHC,SAAU,SAAUzpB,EAAQypB,GAIxB,IAAK,IAFDC,EAAO1qB,OAAO0qB,KAAKD,GAEd/uB,EAAI,EAAGouB,EAAMY,EAAK/uB,OAAQD,EAAIouB,EAAKpuB,IAC5C,CACI,IAAIsQ,EAAM0e,EAAKhvB,QAEK6D,IAAhByB,EAAOgL,KAEPhL,EAAOgL,GAAOye,EAASze,IAI/B,OAAOhL,GAWX2pB,cAAe,SAAUC,GAErB,OAAOA,EAAOC,MAAM,IAAIvT,UAAUxO,KAAK,KAW3CgiB,YAAa,SAAUC,EAAKC,GAExB,IAAIC,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMtvB,QAEV,KAAK,EACD,OAAOovB,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,OAAOjyB,KAAKkyB,aAAaH,EAAKC,KAoB1CG,cAAe,SAAUJ,EAAKK,GAE1B,IAAK,IAAIJ,KAAQI,EAEbpyB,KAAKqyB,YAAYN,EAAKC,EAAMI,EAAMJ,IAGtC,OAAOD,GAiBXM,YAAa,SAAUN,EAAKC,EAAM5qB,GAE9B,IAAI6qB,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMtvB,QAEV,KAAK,EACDovB,EAAIC,GAAQ5qB,EACZ,MACJ,KAAK,EACD2qB,EAAIE,EAAM,IAAIA,EAAM,IAAM7qB,EAC1B,MACJ,KAAK,EACD2qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM7qB,EACpC,MACJ,KAAK,EACD2qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM7qB,EAC9C,MACJ,QACIpH,KAAKsyB,aAAaP,EAAKC,EAAM5qB,KAazC8qB,aAAc,SAAUH,EAAKC,GAOzB,IALA,IAAIC,EAAQD,EAAKH,MAAM,KACnBf,EAAMmB,EAAMtvB,OACZD,EAAI,EACJ6vB,EAAMR,EAEHrvB,EAAIouB,GACX,CACI,IAAI9d,EAAMif,EAAMvvB,GAEhB,GAAW,MAAP6vB,EAOA,OALAA,EAAMA,EAAIvf,GACVtQ,IAQR,OAAO6vB,GAaXD,aAAc,SAAUP,EAAKC,EAAM5qB,GAE/B,IAAI6qB,EAAQD,EAAKH,MAAM,KACnBf,EAAMmB,EAAMtvB,OACZD,EAAI,EACJ8vB,EAAaT,EACb/e,EAAMif,EAAM,GAEhB,GAAY,IAARnB,EAEAiB,EAAIC,GAAQ5qB,MAGhB,CACI,KAAO1E,EAAKouB,EAAM,GAEd0B,EAAaA,EAAWxf,GAExBA,EAAMif,IADNvvB,GAIJ8vB,EAAWxf,GAAO5L,EAGtB,OAAO2qB,GAaXU,WAAY,SAAUC,GAGlB,YADensB,IAAXmsB,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhBhvB,KAAKivB,UAAkBD,GAWjDE,aAAc,SAAUC,EAASC,GAE7B,OAAQpvB,KAAKivB,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUjR,EAAMkR,GAE5B,IAAIC,EAAI,EACJC,EAAK,EA4BT,MA1BoB,iBAATpR,EAGiB,MAApBA,EAAK+G,QAAQ,IAEboK,EAAIE,SAASrR,EAAM,IAAM,IAIrBoR,EAFc,IAAdF,EAEK5iB,OAAOgjB,WAAaH,EAIpB7iB,OAAOijB,YAAcJ,GAK9BC,EAAKC,SAASrR,EAAM,IAKxBoR,EAAKpR,EAGFoR,GA8BXI,IAAK,SAAUC,EAAKzC,EAAKwC,EAAKE,GAE1B,QAAYjtB,IAARuqB,EAAqB,IAAIA,EAAM,EACnC,QAAYvqB,IAAR+sB,EAAqB,IAAIA,EAAM,IACnC,QAAY/sB,IAARitB,EAAqB,IAAIA,EAAM,EAInC,IAAIC,EAAS,EAEb,GAAI3C,EAAM,IAJVyC,EAAMA,EAAI3K,YAISjmB,OAEf,OAAQ6wB,GAEJ,KAAK,EACDD,EAAM,IAAI9rB,MAAMqpB,EAAM,EAAIyC,EAAI5wB,QAAQmN,KAAKwjB,GAAOC,EAClD,MAEJ,KAAK,EACD,IAAIG,EAAQhwB,KAAKwC,MAAMutB,EAAS3C,EAAMyC,EAAI5wB,QAAU,GAChDgxB,EAAOF,EAASC,EACpBH,EAAM,IAAI9rB,MAAMksB,EAAO,GAAG7jB,KAAKwjB,GAAOC,EAAM,IAAI9rB,MAAMisB,EAAQ,GAAG5jB,KAAKwjB,GACtE,MAEJ,QACIC,GAAY,IAAI9rB,MAAMqpB,EAAM,EAAIyC,EAAI5wB,QAAQmN,KAAKwjB,GAK7D,OAAOC,GAUXK,cAAe,SAAU7B,GAQrB,GAAoB,iBAAV,GAAsBA,EAAI8B,UAAY9B,IAAQA,EAAI3hB,OAExD,OAAO,EASX,IAEI,GAAI2hB,EAAIxvB,iBAAqB8uB,eAAe7sB,KAAKutB,EAAIxvB,YAAYD,UAAW,iBAExE,OAAO,EAGf,MAAOqM,GAEH,OAAO,EAOX,OAAO,GAWXmlB,OAAQ,WAEJ,IAAIC,EAAS/B,EAAMniB,EAAKmkB,EAAMC,EAAaC,EACvClsB,EAASsoB,UAAU,OACnB5tB,EAAI,EACJC,EAAS2tB,UAAU3tB,OACnBwxB,GAAO,EAmBX,IAhBsB,kBAAXnsB,IAEPmsB,EAAOnsB,EACPA,EAASsoB,UAAU,OAGnB5tB,EAAI,GAIJC,IAAWD,IAEXsF,EAAShI,OACP0C,GAGCA,EAAIC,EAAQD,IAGf,GAAgC,OAA3BqxB,EAAUzD,UAAU5tB,IAGrB,IAAKsvB,KAAQ+B,EAETlkB,EAAM7H,EAAOgqB,GAIThqB,KAHJgsB,EAAOD,EAAQ/B,MASXmC,GAAQH,IAASxyB,EAAOgwB,MAAMoC,cAAcI,KAAUC,EAAcxsB,MAAMC,QAAQssB,MAE9EC,GAEAA,GAAc,EACdC,EAAQrkB,GAAOpI,MAAMC,QAAQmI,GAAOA,MAIpCqkB,EAAQrkB,GAAOrO,EAAOgwB,MAAMoC,cAAc/jB,GAAOA,KAIrD7H,EAAOgqB,GAAQxwB,EAAOgwB,MAAMsC,OAAOK,EAAMD,EAAOF,SAIlCztB,IAATytB,IAELhsB,EAAOgqB,GAAQgC,IAO/B,OAAOhsB,GAeXosB,eAAgB,SAAUpsB,EAAQqsB,EAAOC,QAErB/tB,IAAZ+tB,IAAyBA,GAAU,GAIvC,IAAK,IAFDC,EAAYvtB,OAAO0qB,KAAK2C,GAEnB3xB,EAAI,EAAGA,EAAI6xB,EAAU5xB,OAAQD,IACtC,CACI,IAAIsQ,EAAMuhB,EAAU7xB,GAChB0E,EAAQitB,EAAMrhB,IAEbshB,GAAYthB,KAAOhL,KAMpBZ,GAC0B,mBAAdA,EAAMF,KAA2C,mBAAdE,EAAMD,IAcrDa,EAAOgL,GAAO5L,EAXa,mBAAhBA,EAAM8sB,MAEblsB,EAAOgL,GAAO5L,EAAM8sB,QAIpBltB,OAAOyF,eAAezE,EAAQgL,EAAK5L,MAmBnDitB,MAAO,SAAU5uB,EAAM0rB,GAEnB,IAAK1rB,GAA0B,iBAAX,EAEhB,OAAO0rB,EAGX,IAAK,IAAIne,KAAOvN,EAChB,CACI,IAAI+uB,EAAI/uB,EAAKuN,GAEb,IAAIwhB,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,IAAIlhB,SAAe/N,EAAKuN,GAEnBvN,EAAKuN,IAAiB,WAATQ,SAOF2d,EAAGne,KAAUQ,EAErB2d,EAAGne,GAAOxR,EAAOgwB,MAAM6C,MAAM5uB,EAAKuN,GAAMme,EAAGne,IAI3Cme,EAAGne,GAAOxR,EAAOgwB,MAAM6C,MAAM5uB,EAAKuN,GAAM,IAAIwhB,EAAEjyB,aAXlD4uB,EAAGne,GAAOvN,EAAKuN,IAgBvB,OAAOme,IAqBf3vB,EAAOmzB,OAAS,SAAU5wB,EAAGC,EAAG4wB,GAE5B7wB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT4wB,EAAWA,GAAY,EAKvB50B,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAMThE,KAAK60B,UAAYD,EAMjB50B,KAAK80B,QAAU,EAEXF,EAAW,IAEX50B,KAAK80B,QAAqB,GAAXF,GAOnB50B,KAAKwT,KAAOhS,EAAO+rB,QAGvB/rB,EAAOmzB,OAAOryB,WAQVyyB,cAAe,WAEX,OAAYrxB,KAAKsxB,GAAKh1B,KAAK80B,QAApB,GAWXnC,OAAQ,SAAUsC,QAEF1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIgwB,EAAI,EAAIntB,KAAKsxB,GAAKtxB,KAAKivB,SACvBuC,EAAIxxB,KAAKivB,SAAWjvB,KAAKivB,SACzBzuB,EAAKgxB,EAAI,EAAK,EAAIA,EAAIA,EACtBnxB,EAAIG,EAAIR,KAAKI,IAAI+sB,GACjB7sB,EAAIE,EAAIR,KAAKG,IAAIgtB,GAKrB,OAHAoE,EAAIlxB,EAAI/D,KAAK+D,EAAKA,EAAI/D,KAAKm1B,OAC3BF,EAAIjxB,EAAIhE,KAAKgE,EAAKA,EAAIhE,KAAKm1B,OAEpBF,GASX/qB,UAAW,WAEP,OAAO,IAAI1I,EAAOS,UAAUjC,KAAK+D,EAAI/D,KAAKm1B,OAAQn1B,KAAKgE,EAAIhE,KAAKm1B,OAAQn1B,KAAK40B,SAAU50B,KAAK40B,WAWhGQ,MAAO,SAAUrxB,EAAGC,EAAG4wB,GAOnB,OALA50B,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAK60B,UAAYD,EACjB50B,KAAK80B,QAAqB,GAAXF,EAER50B,MASXq1B,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOwlB,WASjDU,OAAQ,SAAUC,GAMd,OAJAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EACduxB,EAAKX,SAAW50B,KAAK60B,UAEdU,GAWXC,SAAU,SAAUD,EAAME,GAEtB,IAAID,EAAWh0B,EAAOkC,KAAK8xB,SAASx1B,KAAK+D,EAAG/D,KAAKgE,EAAGuxB,EAAKxxB,EAAGwxB,EAAKvxB,GACjE,OAAOyxB,EAAQ/xB,KAAK+xB,MAAMD,GAAYA,GAS1CtB,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOmzB,OAAO30B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK40B,UAIhDc,EAAON,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK40B,UAG/Bc,GAUXprB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOmzB,OAAOrqB,SAAStK,KAAM+D,EAAGC,IAW3C2xB,mBAAoB,SAAUC,EAAOC,EAAWZ,GAE5C,OAAOzzB,EAAOmzB,OAAOgB,mBAAmB31B,KAAM41B,EAAOC,EAAWZ,IAkBpEa,OAAQ,SAAUC,EAAOC,EAAYC,EAAUJ,EAAWZ,GAEjDc,IAASA,EAAQ,IACJ,MAAdC,IAAsBA,EAAa,GACvB,MAAZC,IAAoBA,EAAWz0B,EAAOkC,KAAKC,KAC1CsxB,IAAOA,MAIZ,IAFA,IAAIvyB,EAAI,EAEDA,EAAIqzB,GAEP/1B,KAAK21B,mBACDn0B,EAAOkC,KAAKwyB,OAAOF,EAAYC,EAAUvzB,EAAIqzB,GAC7CF,EACAZ,EAAIvyB,KAAOuyB,EAAIvyB,GAAK,IAAIlB,EAAOX,QAGnC6B,GAAK,EAGT,OAAOuyB,GAUXxd,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHArO,KAAK+D,GAAKoK,EACVnO,KAAKgE,GAAKqK,EAEHrO,MASXm2B,YAAa,SAAUC,GAEnB,OAAOp2B,KAAKyX,OAAO2e,EAAMryB,EAAGqyB,EAAMpyB,IAQtC4kB,SAAU,WAEN,MAAO,sBAAwB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,aAAehE,KAAK40B,SAAW,WAAa50B,KAAKm1B,OAAS,QAK3H3zB,EAAOmzB,OAAOryB,UAAUC,YAAcf,EAAOmzB,OAQ7C3tB,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,YAE3C4E,IAAK,WAED,OAAOlH,KAAK60B,WAGhB1tB,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAK60B,UAAYztB,EACjBpH,KAAK80B,QAAkB,GAAR1tB,MAW3BJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAK80B,SAGhB3tB,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAK80B,QAAU1tB,EACfpH,KAAK60B,UAAoB,EAARztB,MAW7BJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,QAE3C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,GAEb/D,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAASn1B,KAAK+D,EAAIqD,KAWnCJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,GAEb/D,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAAS/tB,EAAQpH,KAAK+D,KAWvCiD,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,OAE3C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,GAEbhE,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAASn1B,KAAKgE,EAAIoD,KAWnCJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,GAEbhE,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAAS/tB,EAAQpH,KAAKgE,KAYvCgD,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,QAE3C4E,IAAK,WAED,OAAIlH,KAAK80B,QAAU,EAERpxB,KAAKsxB,GAAKh1B,KAAK80B,QAAU90B,KAAK80B,QAI9B,KAYnB9tB,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,SAE3C4E,IAAK,WAED,OAA2B,IAAnBlH,KAAK60B,WAGjB1tB,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKo1B,MAAM,EAAG,EAAG,MAc7B5zB,EAAOmzB,OAAOrqB,SAAW,SAAUpH,EAAGa,EAAGC,GAGrC,OAAId,EAAEiyB,OAAS,GAAKpxB,GAAKb,EAAEywB,MAAQ5vB,GAAKb,EAAEwwB,OAAS1vB,GAAKd,EAAEmzB,KAAOryB,GAAKd,EAAEozB,SAE1DpzB,EAAEa,EAAIA,IAAMb,EAAEa,EAAIA,IAClBb,EAAEc,EAAIA,IAAMd,EAAEc,EAAIA,IAEPd,EAAEiyB,OAASjyB,EAAEiyB,QAe1C3zB,EAAOmzB,OAAO4B,OAAS,SAAUrzB,EAAGC,GAEhC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAE0xB,WAAazxB,EAAEyxB,UAW3DpzB,EAAOmzB,OAAO6B,WAAa,SAAUtzB,EAAGC,GAEpC,OAAQ3B,EAAOkC,KAAK8xB,SAAStyB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,IAAOd,EAAEiyB,OAAShyB,EAAEgyB,QAYtE3zB,EAAOmzB,OAAOgB,mBAAqB,SAAUzyB,EAAG0yB,EAAOC,EAAWZ,GAa9D,YAXkB1uB,IAAdsvB,IAA2BA,GAAY,QAC/BtvB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,QAExB,IAAdg1B,IAEAD,EAAQp0B,EAAOkC,KAAK+yB,SAASb,IAGjCX,EAAIlxB,EAAIb,EAAEa,EAAIb,EAAEiyB,OAASzxB,KAAKI,IAAI8xB,GAClCX,EAAIjxB,EAAId,EAAEc,EAAId,EAAEiyB,OAASzxB,KAAKG,IAAI+xB,GAE3BX,GAUXzzB,EAAOmzB,OAAO+B,oBAAsB,SAAUtzB,EAAGc,GAE7C,IAAIgL,EAAKxL,KAAKizB,IAAIvzB,EAAEW,EAAIG,EAAEH,EAAIG,EAAE0yB,WAGhC,GAAI1nB,EAFQhL,EAAE0yB,UAAYxzB,EAAE+xB,OAIxB,OAAO,EAGX,IAAIhmB,EAAKzL,KAAKizB,IAAIvzB,EAAEY,EAAIE,EAAEF,EAAIE,EAAE2yB,YAGhC,GAAI1nB,EAFQjL,EAAE2yB,WAAazzB,EAAE+xB,OAIzB,OAAO,EAGX,GAAIjmB,GAAMhL,EAAE0yB,WAAaznB,GAAMjL,EAAE2yB,WAE7B,OAAO,EAGX,IAAIC,EAAc5nB,EAAKhL,EAAE0yB,UACrBG,EAAc5nB,EAAKjL,EAAE2yB,WAKzB,OAJoBC,EAAcA,EACdC,EAAcA,GACZ3zB,EAAE+xB,OAAS/xB,EAAE+xB,QAavC3zB,EAAOmzB,OAAOqC,eAAiB,SAAU5zB,EAAG6zB,EAAGC,GAE3C,IAAI3S,EAAInhB,EAAEW,EACNozB,EAAI/zB,EAAEY,EACNozB,GAAMH,EAAE5b,IAAIrX,EAAIizB,EAAE3qB,MAAMtI,IAAMizB,EAAE5b,IAAItX,EAAIkzB,EAAE3qB,MAAMvI,GAChDszB,EAAIJ,EAAE5b,IAAIrX,EAAKozB,EAAIH,EAAE5b,IAAItX,EACzBb,EAAIE,EAAE+xB,OACNhyB,EAAIC,EAAE+xB,OACNmC,EAAMD,EAAID,EAAI7S,EAEdL,GAAMK,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAClKmI,GAAMiZ,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAElKghB,EAAKiT,EAAIlT,EAAKmT,EACd9rB,EAAK6rB,EAAI9rB,EAAK+rB,EACdE,EAAK,IAAI/1B,EAAOX,MAAMqjB,EAAIC,GAC1BqT,EAAK,IAAIh2B,EAAOX,MAAMyK,EAAIC,GAC1BksB,EAAWR,EAAES,eAAeH,EAAGxzB,EAAGwzB,EAAGvzB,EAAG,KACxC2zB,EAAWV,EAAES,eAAeF,EAAGzzB,EAAGyzB,EAAGxzB,EAAG,KAE5C,OAAIyzB,GAAYE,GAELT,IAAiBK,EAAIC,GAEvBC,GAEEP,IAAiBK,GAEnBI,GAEET,IAAiBM,KAIjBN,OAMf14B,KAAKm2B,OAASnzB,EAAOmzB,OAmBrBnzB,EAAOo2B,QAAU,SAAU7zB,EAAGC,EAAGpG,EAAOC,GAEpCkG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKwT,KAAOhS,EAAO0rB,SAGvB1rB,EAAOo2B,QAAQt1B,WAWX8yB,MAAO,SAAUrxB,EAAGC,EAAGpG,EAAOC,GAO1B,OALAmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MASXkK,UAAW,WAEP,OAAO,IAAI1I,EAAOS,UAAUjC,KAAK+D,EAAI/D,KAAKpC,MAAOoC,KAAKgE,EAAIhE,KAAKnC,OAAQmC,KAAKpC,MAAOoC,KAAKnC,SAU5Fw3B,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOxR,MAAOwR,EAAOvR,SAS/Dy3B,OAAQ,SAAUC,GAOd,OALAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EACduxB,EAAK33B,MAAQoC,KAAKpC,MAClB23B,EAAK13B,OAASmC,KAAKnC,OAEZ03B,GASXrB,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOo2B,QAAQ53B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAI7D63B,EAAON,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAG3C63B,GAWXprB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOo2B,QAAQttB,SAAStK,KAAM+D,EAAGC,IAW5C2uB,OAAQ,SAAUsC,QAEF1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAImC,EAAIU,KAAKivB,SAAWjvB,KAAKsxB,GAAK,EAC9B9wB,EAAIR,KAAKS,KAAKT,KAAKivB,UAKvB,OAHAsC,EAAIlxB,EAAI/D,KAAK63B,QAAU,GAAM3zB,EAAIR,KAAKI,IAAId,GAAKhD,KAAKpC,MACpDq3B,EAAIjxB,EAAIhE,KAAK83B,QAAU,GAAM5zB,EAAIR,KAAKG,IAAIb,GAAKhD,KAAKnC,OAE7Co3B,GAQXrM,SAAU,WAEN,MAAO,uBAAyB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,UAAYhE,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,QAKtH2D,EAAOo2B,QAAQt1B,UAAUC,YAAcf,EAAOo2B,QAO9C5wB,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,GAGhBoD,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,KAUjBJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,SAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKpC,OAGzBuJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,EAEb/D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQwJ,EAAQpH,KAAK+D,KAWtCiD,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,OAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,GAGhBmD,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,KAUjBJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKnC,QAGzBsJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,EAEbhE,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASuJ,EAAQpH,KAAKgE,KAYvCgD,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,WAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI,GAAM/D,KAAKpC,SAWnCoJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,WAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAI,GAAMhE,KAAKnC,UAWnCmJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,SAE5C4E,IAAK,WAED,OAAuB,IAAflH,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAGrCsJ,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKo1B,MAAM,EAAG,EAAG,EAAG,MAehC5zB,EAAOo2B,QAAQttB,SAAW,SAAUpH,EAAGa,EAAGC,GAEtC,GAAId,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,EAE5B,OAAO,EAIX,IAAIk6B,GAAUh0B,EAAIb,EAAEa,GAAKb,EAAEtF,MAAS,GAChCo6B,GAAUh0B,EAAId,EAAEc,GAAKd,EAAErF,OAAU,GAKrC,OAHAk6B,GAASA,EACTC,GAASA,EAEDD,EAAQC,EAAQ,KAW5Bx2B,EAAOo2B,QAAQZ,eAAiB,SAAUroB,EAAGsoB,EAAGC,GAE5C,IAAI3S,EAAI5V,EAAE5K,EACNozB,EAAIxoB,EAAE3K,EACNozB,GAAMH,EAAE5b,IAAIrX,EAAIizB,EAAE3qB,MAAMtI,IAAMizB,EAAE5b,IAAItX,EAAIkzB,EAAE3qB,MAAMvI,GAChDszB,EAAIJ,EAAE5b,IAAIrX,EAAKozB,EAAIH,EAAE5b,IAAItX,EACzBb,EAAIyL,EAAE/Q,MAAQ,EACduF,EAAIwL,EAAE9Q,OAAS,EACfy5B,EAAMD,EAAID,EAAI7S,EAEdL,GAAMK,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAClKmI,GAAMiZ,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAElKghB,EAAKiT,EAAIlT,EAAKmT,EACd9rB,EAAK6rB,EAAI9rB,EAAK+rB,EACdE,EAAK,IAAI/1B,EAAOX,MAAMqjB,EAAIC,GAC1BqT,EAAK,IAAIh2B,EAAOX,MAAMyK,EAAIC,GAC1BksB,EAAWR,EAAES,eAAeH,EAAGxzB,EAAGwzB,EAAGvzB,EAAG,KACxC2zB,EAAWV,EAAES,eAAeF,EAAGzzB,EAAGyzB,EAAGxzB,EAAG,KAE5C,OAAIyzB,GAAYE,GAELT,IAAiBK,EAAIC,GAEvBC,GAEEP,IAAiBK,GAEnBI,GAEET,IAAiBM,KAIjBN,OAMf14B,KAAKo5B,QAAUp2B,EAAOo2B,QAkBtBp2B,EAAOy2B,KAAO,SAAU3sB,EAAIC,EAAIC,EAAIC,GAEhCH,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKXzL,KAAKsM,MAAQ,IAAI9K,EAAOX,MAAMyK,EAAIC,GAKlCvL,KAAKqb,IAAM,IAAI7Z,EAAOX,MAAM2K,EAAIC,GAMhCzL,KAAKwT,KAAOhS,EAAOisB,MAGvBjsB,EAAOy2B,KAAK31B,WAYR8yB,MAAO,SAAU9pB,EAAIC,EAAIC,EAAIC,GAKzB,OAHAzL,KAAKsM,MAAM8oB,MAAM9pB,EAAIC,GACrBvL,KAAKqb,IAAI+Z,MAAM5pB,EAAIC,GAEZzL,MAUXk4B,WAAY,SAAU5rB,EAAO+O,GAIzB,OAFArb,KAAKo1B,MAAM9oB,EAAMvI,EAAGuI,EAAMtI,EAAGqX,EAAItX,EAAGsX,EAAIrX,GAEjChE,MAaXm4B,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,YAFkB/xB,IAAd+xB,IAA2BA,GAAY,GAEvCA,EAEOt4B,KAAKo1B,MAAMgD,EAAYP,QAASO,EAAYN,QAASO,EAAUR,QAASQ,EAAUP,SAGtF93B,KAAKk4B,WAAWE,EAAaC,IAaxCE,UAAW,SAAUx0B,EAAGC,EAAG4xB,EAAOjzB,GAK9B,OAHA3C,KAAKsM,MAAM8oB,MAAMrxB,EAAGC,GACpBhE,KAAKqb,IAAI+Z,MAAMrxB,EAAKL,KAAKI,IAAI8xB,GAASjzB,EAASqB,EAAKN,KAAKG,IAAI+xB,GAASjzB,GAE/D3C,MAgBXw4B,OAAQ,SAAU5C,EAAOC,GAErB,IAAI3mB,GAAMlP,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,GAAK,EACnCoL,GAAMnP,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,GAAK,EAKvC,OAHAhE,KAAKsM,MAAMksB,OAAOtpB,EAAIC,EAAIymB,EAAOC,GACjC71B,KAAKqb,IAAImd,OAAOtpB,EAAIC,EAAIymB,EAAOC,GAExB71B,MAeXy4B,aAAc,SAAU10B,EAAGC,EAAG4xB,EAAOC,GAKjC,OAHA71B,KAAKsM,MAAMksB,OAAOz0B,EAAGC,EAAG4xB,EAAOC,GAC/B71B,KAAKqb,IAAImd,OAAOz0B,EAAGC,EAAG4xB,EAAOC,GAEtB71B,MAcXw2B,WAAY,SAAUkC,EAAMC,EAAWC,GAEnC,OAAOp3B,EAAOy2B,KAAKY,iBAAiB74B,KAAKsM,MAAOtM,KAAKqb,IAAKqd,EAAKpsB,MAAOosB,EAAKrd,IAAKsd,EAAWC,IAW/FE,QAAS,SAAUJ,GAEf,OAAOl3B,EAAOy2B,KAAKa,QAAQ94B,KAAM04B,IAUrCK,SAAU,SAAU9D,GAOhB,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,GAAK/D,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,GAAK,EACtCkxB,EAAIjxB,GAAKhE,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,GAAK,EAE/BixB,GAcX+D,SAAU,SAAUj1B,EAAGC,GAEnB,IAGIV,EAAKS,GAHC/D,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,GAAK,EAInCR,EAAKS,GAHChE,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,GAAK,EAKvChE,KAAKsM,MAAM2sB,IAAI31B,EAAIC,GACnBvD,KAAKqb,IAAI4d,IAAI31B,EAAIC,IAYrB21B,YAAa,SAAUn1B,EAAGC,EAAGm1B,GAEzB,OAAO33B,EAAOkC,KAAK01B,YAAYr1B,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,IAAKhE,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAMC,EAAIhE,KAAKsM,MAAMtI,GAAIm1B,GAAW,IAYjJzB,eAAgB,SAAU3zB,EAAGC,EAAGm1B,GAE5B,IAAIE,EAAO31B,KAAK41B,IAAIt5B,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,GACvCw1B,EAAO71B,KAAKuC,IAAIjG,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,GACvCy1B,EAAO91B,KAAK41B,IAAIt5B,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,GACvCy1B,EAAO/1B,KAAKuC,IAAIjG,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,GAE3C,OAAQhE,KAAKk5B,YAAYn1B,EAAGC,EAAGm1B,IAAap1B,GAAKs1B,GAAQt1B,GAAKw1B,GAAUv1B,GAAKw1B,GAAQx1B,GAAKy1B,GAW9F9G,OAAQ,SAAUsC,QAEF1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIgwB,EAAIntB,KAAKivB,SAKb,OAHAsC,EAAIlxB,EAAI/D,KAAKsM,MAAMvI,EAAI8sB,GAAK7wB,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,GACpDkxB,EAAIjxB,EAAIhE,KAAKsM,MAAMtI,EAAI6sB,GAAK7wB,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,GAE7CixB,GAYXyE,kBAAmB,SAAUC,EAAUC,QAElBrzB,IAAbozB,IAA0BA,EAAW,QACzBpzB,IAAZqzB,IAAyBA,MAE7B,IAAItuB,EAAK5H,KAAK+xB,MAAMz1B,KAAKsM,MAAMvI,GAC3BwH,EAAK7H,KAAK+xB,MAAMz1B,KAAKsM,MAAMtI,GAC3BwH,EAAK9H,KAAK+xB,MAAMz1B,KAAKqb,IAAItX,GACzB0H,EAAK/H,KAAK+xB,MAAMz1B,KAAKqb,IAAIrX,GAEzBmK,EAAKzK,KAAKizB,IAAInrB,EAAKF,GACnB+C,EAAK3K,KAAKizB,IAAIlrB,EAAKF,GACnBsuB,EAAMvuB,EAAKE,EAAM,GAAK,EACtBsuB,EAAMvuB,EAAKE,EAAM,GAAK,EACtBsuB,EAAM5rB,EAAKE,EAEfurB,EAAQ9xB,MAAOwD,EAAIC,IAInB,IAFA,IAAI7I,EAAI,EAEE4I,IAAOE,GAAQD,IAAOE,GAChC,CACI,IAAIuuB,EAAKD,GAAO,EAEZC,GAAM3rB,IAEN0rB,GAAO1rB,EACP/C,GAAMuuB,GAGNG,EAAK7rB,IAEL4rB,GAAO5rB,EACP5C,GAAMuuB,GAGNp3B,EAAIi3B,GAAa,GAEjBC,EAAQ9xB,MAAOwD,EAAIC,IAGvB7I,IAGJ,OAAOk3B,GASX1F,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOy2B,KAAKj4B,KAAKsM,MAAMvI,EAAG/D,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAItX,EAAG/D,KAAKqb,IAAIrX,GAI1E0xB,EAAON,MAAMp1B,KAAKsM,MAAMvI,EAAG/D,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAItX,EAAG/D,KAAKqb,IAAIrX,GAG3D0xB,IAUf1uB,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKS,MAAMnE,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,IAAMhE,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,OAU5IgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAO1F,EAAOX,MAAM+0B,MAAM51B,KAAKqb,IAAKrb,KAAKsM,UAUjDtF,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAQlH,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,IAAMhE,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,MAUtEiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,aAEzC4E,IAAK,WAED,QAAUlH,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,MAUxEgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,KAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,MAU/CiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,KAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,MAU/CgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,QAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,MAU/CiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAOxD,KAAKuC,IAAIjG,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,MAU/CiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,OAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,MAU/CgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKuC,IAAIjG,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,MAU/CgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAOxD,KAAKizB,IAAI32B,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,MAUhDiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKizB,IAAI32B,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,MAUhDgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,WAEzC4E,IAAK,WAED,OAAOxD,KAAKI,IAAI9D,KAAK41B,MAAQ,uBAUrC5uB,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,WAEzC4E,IAAK,WAED,OAAOxD,KAAKG,IAAI7D,KAAK41B,MAAQ,uBAUrC5uB,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,eAEzC4E,IAAK,WAED,OAAO1F,EAAOkC,KAAKu2B,KAAKj6B,KAAK41B,MAAQ,oBAAqBlyB,KAAKsxB,GAAItxB,KAAKsxB,OAoBhFxzB,EAAOy2B,KAAKY,iBAAmB,SAAU31B,EAAGC,EAAGwL,EAAGskB,EAAG0F,EAAWC,QAE1CryB,IAAdoyB,IAA2BA,GAAY,QAC5BpyB,IAAXqyB,IAAwBA,EAAS,IAAIp3B,EAAOX,OAEhD,IAAIq5B,EAAK/2B,EAAEa,EAAId,EAAEc,EACbm2B,EAAKlH,EAAEjvB,EAAI2K,EAAE3K,EACbo2B,EAAKl3B,EAAEa,EAAIZ,EAAEY,EACbs2B,EAAK1rB,EAAE5K,EAAIkvB,EAAElvB,EACbu2B,EAAMn3B,EAAEY,EAAIb,EAAEc,EAAMd,EAAEa,EAAIZ,EAAEa,EAC5Bu2B,EAAMtH,EAAElvB,EAAI4K,EAAE3K,EAAM2K,EAAE5K,EAAIkvB,EAAEjvB,EAC5Bw2B,EAASN,EAAKG,EAAOF,EAAKC,EAE9B,GAAc,IAAVI,EAEA,OAAO,KAMX,GAHA5B,EAAO70B,GAAMq2B,EAAKG,EAAOF,EAAKC,GAAOE,EACrC5B,EAAO50B,GAAMm2B,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjC7B,EACJ,CACI,IAAI8B,GAAOxH,EAAEjvB,EAAI2K,EAAE3K,IAAMb,EAAEY,EAAIb,EAAEa,IAAMkvB,EAAElvB,EAAI4K,EAAE5K,IAAMZ,EAAEa,EAAId,EAAEc,GACzD02B,IAAQzH,EAAElvB,EAAI4K,EAAE5K,IAAMb,EAAEc,EAAI2K,EAAE3K,IAAOivB,EAAEjvB,EAAI2K,EAAE3K,IAAMd,EAAEa,EAAI4K,EAAE5K,IAAM02B,EACjEE,IAAQx3B,EAAEY,EAAIb,EAAEa,IAAMb,EAAEc,EAAI2K,EAAE3K,IAAQb,EAAEa,EAAId,EAAEc,IAAMd,EAAEa,EAAI4K,EAAE5K,IAAO02B,EAEvE,OAAIC,GAAM,GAAKA,GAAM,GAAKC,GAAM,GAAKA,GAAM,EAEhC/B,EAIA,KAIf,OAAOA,GAiBXp3B,EAAOy2B,KAAKzB,WAAa,SAAUtzB,EAAGC,EAAGw1B,EAAWC,GAEhD,OAAOp3B,EAAOy2B,KAAKY,iBAAiB31B,EAAEoJ,MAAOpJ,EAAEmY,IAAKlY,EAAEmJ,MAAOnJ,EAAEkY,IAAKsd,EAAWC,IAqBnFp3B,EAAOy2B,KAAKvB,oBAAsB,SAAUgC,EAAMkC,GAG9C,GAAoB,IAAhBlC,EAAK/1B,QAAgBi4B,EAAKC,MAE1B,OAAO,EAGX,IAAIvvB,EAAKotB,EAAKpsB,MAAMvI,EAChBwH,EAAKmtB,EAAKpsB,MAAMtI,EAEhBwH,EAAKktB,EAAKrd,IAAItX,EACd0H,EAAKitB,EAAKrd,IAAIrX,EAEd82B,EAAMF,EAAK72B,EACXg3B,EAAMH,EAAK52B,EACXg3B,EAAMJ,EAAKlH,MACXuH,EAAML,EAAKtE,OAEXzF,EAAI,EAOR,GAAKvlB,GAAMwvB,GAAOxvB,GAAM0vB,GAAOzvB,GAAMwvB,GAAOxvB,GAAM0vB,GAC7CzvB,GAAMsvB,GAAOtvB,GAAMwvB,GAAOvvB,GAAMsvB,GAAOtvB,GAAMwvB,EAE9C,OAAO,EAGX,GAAI3vB,EAAKwvB,GAAOtvB,GAAMsvB,GAKlB,IAFAjK,EAAItlB,GAAME,EAAKF,IAAOuvB,EAAMxvB,IAAOE,EAAKF,IAEhCyvB,GAAOlK,GAAKoK,EAEhB,OAAO,OAGV,GAAI3vB,EAAK0vB,GAAOxvB,GAAMwvB,IAGvBnK,EAAItlB,GAAME,EAAKF,IAAOyvB,EAAM1vB,IAAOE,EAAKF,KAE/ByvB,GAAOlK,GAAKoK,EAEjB,OAAO,EAIf,GAAI1vB,EAAKwvB,GAAOtvB,GAAMsvB,GAKlB,IAFAlK,EAAIvlB,GAAME,EAAKF,IAAOyvB,EAAMxvB,IAAOE,EAAKF,KAE/BuvB,GAAOjK,GAAKmK,EAEjB,OAAO,OAGV,GAAIzvB,EAAK0vB,GAAOxvB,GAAMwvB,IAGvBpK,EAAIvlB,GAAME,EAAKF,IAAO2vB,EAAM1vB,IAAOE,EAAKF,KAE/BuvB,GAAOjK,GAAKmK,EAEjB,OAAO,EAIf,OAAO,GAaXx5B,EAAOy2B,KAAKiD,0BAA4B,SAAUxC,EAAMkC,EAAMhC,GAE1D,IAAIuC,EAAO35B,EAAOy2B,KAAKiD,0BAElBtC,IAEDA,EAAS,IAAIp3B,EAAOX,OAGnBs6B,EAAKC,QAEND,EAAKC,OAAU,IAAI55B,EAAOy2B,KAAQ,IAAIz2B,EAAOy2B,KAAQ,IAAIz2B,EAAOy2B,KAAQ,IAAIz2B,EAAOy2B,OAGlFkD,EAAKE,mBAENF,EAAKE,iBAAmB,IAAI75B,EAAOX,OAGvC,IAAIu6B,EAAQD,EAAKC,MACbC,EAAmBF,EAAKE,iBAAiBl0B,IAAI,GAE7C2zB,EAAMF,EAAK72B,EACXg3B,EAAMH,EAAK52B,EACXg3B,EAAMJ,EAAKlH,MACXuH,EAAML,EAAKtE,OACXgF,EAAkBzwB,EAAAA,EAEtBuwB,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,EAAM74B,EAAI,EAAI64B,EAAOH,EAAM14B,GAAKA,IAErC,GAAIg2B,EAAKlC,WAAW+E,GAAM,EAAMF,GAChC,CACI,IAAI7F,EAAWkD,EAAKpsB,MAAMkpB,SAAS6F,GAE/B7F,EAAW8F,IAEXA,EAAkB9F,EAClBoD,EAAOvD,SAASgG,IAK5B,OAAgB,MAAZ7F,EAEOoD,EAGJ,MAYXp3B,EAAOy2B,KAAKa,QAAU,SAAU51B,EAAGC,GAE/B,OAAO,EAAIA,EAAEq4B,YAAc,kBAAoBt4B,EAAE0yB,OA4BrDp0B,EAAOC,OAAS,SAAUyB,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,GAM5CvD,KAAKkD,EAAIA,EAMTlD,KAAKmD,EAAIA,EAMTnD,KAAKoD,EAAIA,EAMTpD,KAAKqD,EAAIA,EAMTrD,KAAKsD,GAAKA,EAMVtD,KAAKuD,GAAKA,EAMVvD,KAAKwT,KAAOhS,EAAOksB,QAGvBlsB,EAAOC,OAAOa,WAkBVm5B,UAAW,SAAUC,GAEjB,OAAO17B,KAAKo1B,MAAMsG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAe9EtG,MAAO,SAAUlyB,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,GAS7B,OAPAvD,KAAKkD,EAAIA,EACTlD,KAAKmD,EAAIA,EACTnD,KAAKoD,EAAIA,EACTpD,KAAKqD,EAAIA,EACTrD,KAAKsD,GAAKA,EACVtD,KAAKuD,GAAKA,EAEHvD,MAYXk0B,MAAO,SAAUwB,GAgBb,YAdenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOC,OAAOzB,KAAKkD,EAAGlD,KAAKmD,EAAGnD,KAAKoD,EAAGpD,KAAKqD,EAAGrD,KAAKsD,GAAItD,KAAKuD,KAIzEmyB,EAAOxyB,EAAIlD,KAAKkD,EAChBwyB,EAAOvyB,EAAInD,KAAKmD,EAChBuyB,EAAOtyB,EAAIpD,KAAKoD,EAChBsyB,EAAOryB,EAAIrD,KAAKqD,EAChBqyB,EAAOpyB,GAAKtD,KAAKsD,GACjBoyB,EAAOnyB,GAAKvD,KAAKuD,IAGdmyB,GAUXJ,OAAQ,SAAU5nB,GAId,OAFAA,EAAO2nB,SAASr1B,MAET0N,GAUX2nB,SAAU,SAAU3nB,GAShB,OAPA1N,KAAKkD,EAAIwK,EAAOxK,EAChBlD,KAAKmD,EAAIuK,EAAOvK,EAChBnD,KAAKoD,EAAIsK,EAAOtK,EAChBpD,KAAKqD,EAAIqK,EAAOrK,EAChBrD,KAAKsD,GAAKoK,EAAOpK,GACjBtD,KAAKuD,GAAKmK,EAAOnK,GAEVvD,MAWXggB,QAAS,SAAU7K,EAAWumB,GA6B1B,YA3Bcn1B,IAAVm1B,IAAuBA,EAAQ,IAAIrZ,aAAa,IAEhDlN,GAEAumB,EAAM,GAAK17B,KAAKkD,EAChBw4B,EAAM,GAAK17B,KAAKmD,EAChBu4B,EAAM,GAAK,EACXA,EAAM,GAAK17B,KAAKoD,EAChBs4B,EAAM,GAAK17B,KAAKqD,EAChBq4B,EAAM,GAAK,EACXA,EAAM,GAAK17B,KAAKsD,GAChBo4B,EAAM,GAAK17B,KAAKuD,GAChBm4B,EAAM,GAAK,IAIXA,EAAM,GAAK17B,KAAKkD,EAChBw4B,EAAM,GAAK17B,KAAKoD,EAChBs4B,EAAM,GAAK17B,KAAKsD,GAChBo4B,EAAM,GAAK17B,KAAKmD,EAChBu4B,EAAM,GAAK17B,KAAKqD,EAChBq4B,EAAM,GAAK17B,KAAKuD,GAChBm4B,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAaXn2B,MAAO,SAAUo2B,EAAKC,GAOlB,YALer1B,IAAXq1B,IAAwBA,EAAS,IAAIp6B,EAAOX,OAEhD+6B,EAAO73B,EAAI/D,KAAKkD,EAAIy4B,EAAI53B,EAAI/D,KAAKoD,EAAIu4B,EAAI33B,EAAIhE,KAAKsD,GAClDs4B,EAAO53B,EAAIhE,KAAKmD,EAAIw4B,EAAI53B,EAAI/D,KAAKqD,EAAIs4B,EAAI33B,EAAIhE,KAAKuD,GAE3Cq4B,GAaXl2B,aAAc,SAAUi2B,EAAKC,QAEVr1B,IAAXq1B,IAAwBA,EAAS,IAAIp6B,EAAOX,OAEhD,IAAIqT,EAAK,GAAKlU,KAAKkD,EAAIlD,KAAKqD,EAAIrD,KAAKoD,GAAKpD,KAAKmD,GAC3CY,EAAI43B,EAAI53B,EACRC,EAAI23B,EAAI33B,EAKZ,OAHA43B,EAAO73B,EAAI/D,KAAKqD,EAAI6Q,EAAKnQ,GAAK/D,KAAKoD,EAAI8Q,EAAKlQ,GAAKhE,KAAKuD,GAAKvD,KAAKoD,EAAIpD,KAAKsD,GAAKtD,KAAKqD,GAAK6Q,EACxF0nB,EAAO53B,EAAIhE,KAAKkD,EAAIgR,EAAKlQ,GAAKhE,KAAKmD,EAAI+Q,EAAKnQ,IAAM/D,KAAKuD,GAAKvD,KAAKkD,EAAIlD,KAAKsD,GAAKtD,KAAKmD,GAAK+Q,EAElF0nB,GAYXC,UAAW,SAAU93B,EAAGC,GAKpB,OAHAhE,KAAKsD,IAAMS,EACX/D,KAAKuD,IAAMS,EAEJhE,MAWXc,MAAO,SAAUiD,EAAGC,GAShB,OAPAhE,KAAKkD,GAAKa,EACV/D,KAAKqD,GAAKW,EACVhE,KAAKoD,GAAKW,EACV/D,KAAKmD,GAAKa,EACVhE,KAAKsD,IAAMS,EACX/D,KAAKuD,IAAMS,EAEJhE,MAUXw4B,OAAQ,SAAU5C,GAEd,IAAI9xB,EAAMJ,KAAKI,IAAI8xB,GACf/xB,EAAMH,KAAKG,IAAI+xB,GAEfsE,EAAKl6B,KAAKkD,EACVo3B,EAAKt6B,KAAKoD,EACV04B,EAAM97B,KAAKsD,GASf,OAPAtD,KAAKkD,EAAIg3B,EAAKp2B,EAAM9D,KAAKmD,EAAIU,EAC7B7D,KAAKmD,EAAI+2B,EAAKr2B,EAAM7D,KAAKmD,EAAIW,EAC7B9D,KAAKoD,EAAIk3B,EAAKx2B,EAAM9D,KAAKqD,EAAIQ,EAC7B7D,KAAKqD,EAAIi3B,EAAKz2B,EAAM7D,KAAKqD,EAAIS,EAC7B9D,KAAKsD,GAAKw4B,EAAMh4B,EAAM9D,KAAKuD,GAAKM,EAChC7D,KAAKuD,GAAKu4B,EAAMj4B,EAAM7D,KAAKuD,GAAKO,EAEzB9D,MAUX+7B,OAAQ,SAAUruB,GAEd,IAAIwsB,EAAKl6B,KAAKkD,EACVk3B,EAAKp6B,KAAKmD,EACVm3B,EAAKt6B,KAAKoD,EACV44B,EAAKh8B,KAAKqD,EAUd,OARArD,KAAKkD,EAAIwK,EAAOxK,EAAIg3B,EAAKxsB,EAAOvK,EAAIm3B,EACpCt6B,KAAKmD,EAAIuK,EAAOxK,EAAIk3B,EAAK1sB,EAAOvK,EAAI64B,EACpCh8B,KAAKoD,EAAIsK,EAAOtK,EAAI82B,EAAKxsB,EAAOrK,EAAIi3B,EACpCt6B,KAAKqD,EAAIqK,EAAOtK,EAAIg3B,EAAK1sB,EAAOrK,EAAI24B,EAEpCh8B,KAAKsD,GAAKoK,EAAOpK,GAAK42B,EAAKxsB,EAAOnK,GAAK+2B,EAAKt6B,KAAKsD,GACjDtD,KAAKuD,GAAKmK,EAAOpK,GAAK82B,EAAK1sB,EAAOnK,GAAKy4B,EAAKh8B,KAAKuD,GAE1CvD,MASXi8B,SAAU,WAEN,OAAOj8B,KAAKo1B,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAKzC5zB,EAAOgJ,eAAiB,IAAIhJ,EAAOC,OAmBnCD,EAAOX,MAAQ,SAAUkD,EAAGC,GAExBD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAKThE,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAMThE,KAAKwT,KAAOhS,EAAOmsB,OAGvBnsB,EAAOX,MAAMyB,WAST+yB,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,IASvCk4B,OAAQ,WAEJ,OAAOl8B,KAAKo1B,MAAMp1B,KAAKgE,EAAGhE,KAAK+D,IAenCqxB,MAAO,SAAUrxB,EAAGC,GAEhB,OAAOxC,EAAOX,MAAMsG,IAAInH,KAAM+D,EAAGC,IAerCmD,IAAK,SAAUpD,EAAGC,GAEd,OAAOxC,EAAOX,MAAMsG,IAAInH,KAAM+D,EAAGC,IAYrCm4B,WAAY,SAAUC,EAASjH,EAAQU,GAKnC,OAHc,MAAVV,IAAkBA,EAAS,GAC3BU,IAAauG,EAAU56B,EAAOkC,KAAK+yB,SAAS2F,IAEzCp8B,KAAKo1B,MAAM1xB,KAAKI,IAAIs4B,GAAWjH,EAAQzxB,KAAKG,IAAIu4B,GAAWjH,IAWtE8D,IAAK,SAAUl1B,EAAGC,GAId,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXq8B,SAAU,SAAUt4B,EAAGC,GAInB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXs8B,SAAU,SAAUv4B,EAAGC,GAInB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXu8B,OAAQ,SAAUx4B,EAAGC,GAIjB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXw8B,OAAQ,SAAUlD,EAAKrzB,GAGnB,OADAjG,KAAK+D,EAAIvC,EAAOkC,KAAK+4B,MAAMz8B,KAAK+D,EAAGu1B,EAAKrzB,GACjCjG,MAWX08B,OAAQ,SAAUpD,EAAKrzB,GAGnB,OADAjG,KAAKgE,EAAIxC,EAAOkC,KAAK+4B,MAAMz8B,KAAKgE,EAAGs1B,EAAKrzB,GACjCjG,MAWXy8B,MAAO,SAAUnD,EAAKrzB,GAIlB,OAFAjG,KAAK+D,EAAIvC,EAAOkC,KAAK+4B,MAAMz8B,KAAK+D,EAAGu1B,EAAKrzB,GACxCjG,KAAKgE,EAAIxC,EAAOkC,KAAK+4B,MAAMz8B,KAAKgE,EAAGs1B,EAAKrzB,GACjCjG,MAUXuoB,KAAM,SAAUqS,GAEZ,IAAIjH,EAAOiH,EAAKjH,KACZ0C,EAAMuE,EAAKvE,IACX3C,EAAQkH,EAAKlH,MACb4C,EAASsE,EAAKtE,OAOlB,OALIt2B,KAAK+D,EAAI4vB,EAAQ3zB,KAAK+D,EAAI4vB,EACrB3zB,KAAK+D,EAAI2vB,IAAS1zB,KAAK+D,EAAI2vB,GAChC1zB,KAAKgE,EAAIqyB,EAAOr2B,KAAKgE,EAAIqyB,EACpBr2B,KAAKgE,EAAIsyB,IAAUt2B,KAAKgE,EAAIsyB,GAE9Bt2B,MAUXk0B,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKgE,GAIvC0xB,EAAON,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,GAGvB0xB,GAUXJ,OAAQ,SAAUC,GAKd,OAHAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EAEPuxB,GAWXC,SAAU,SAAUD,EAAME,GAEtB,OAAOj0B,EAAOX,MAAM20B,SAASx1B,KAAMu1B,EAAME,IAU7Cc,OAAQ,SAAUrzB,GAEd,OAAOA,EAAEa,IAAM/D,KAAK+D,GAAKb,EAAEc,IAAMhE,KAAKgE,GAW1C24B,SAAU,SAAU54B,EAAGC,GAEnB,OAAOhE,KAAK+D,IAAMA,GAAK/D,KAAKgE,IAAMA,GAGtC44B,YAAa,SAAU15B,EAAGi2B,GAEtB,OAAO33B,EAAOX,MAAM+7B,YAAY58B,KAAMkD,EAAGi2B,IAG7C0D,cAAe,SAAU94B,EAAGC,EAAGm1B,GAE3B,OAAO33B,EAAOX,MAAMg8B,cAAc78B,KAAM+D,EAAGC,EAAGm1B,IAWlDvD,MAAO,SAAU1yB,EAAG2yB,GAEhB,OAAO71B,KAAK88B,QAAQ55B,EAAEa,EAAGb,EAAEc,EAAG6xB,IAYlCiH,QAAS,SAAU/4B,EAAGC,EAAG6xB,GAErB,IAAID,EAAQlyB,KAAKq5B,MAAM/4B,EAAIhE,KAAKgE,EAAGD,EAAI/D,KAAK+D,GAE5C,OAAI8xB,EAEOr0B,EAAOkC,KAAKs5B,SAASpH,GAIrBA,GAWfqH,KAAM,SAAUpH,GAEZ,IAAID,EAAQlyB,KAAKq5B,MAAM/8B,KAAKgE,EAAGhE,KAAK+D,GAEpC,OAAI8xB,EAEOr0B,EAAOkC,KAAKs5B,SAASpH,GAIrBA,GAef4C,OAAQ,SAAUz0B,EAAGC,EAAG4xB,EAAOC,EAAWL,GAEtC,OAAOh0B,EAAOX,MAAM23B,OAAOx4B,KAAM+D,EAAGC,EAAG4xB,EAAOC,EAAWL,IAS7D0H,aAAc,WAEV,OAAOx5B,KAAKS,KAAMnE,KAAK+D,EAAI/D,KAAK+D,EAAM/D,KAAKgE,EAAIhE,KAAKgE,IASxDm5B,eAAgB,WAEZ,OAAQn9B,KAAK+D,EAAI/D,KAAK+D,EAAM/D,KAAKgE,EAAIhE,KAAKgE,GAU9Co5B,aAAc,SAAUC,GAEpB,OAAOr9B,KAAKs9B,YAAYhB,SAASe,EAAWA,IAShDC,UAAW,WAEP,IAAKt9B,KAAKu9B,SACV,CACI,IAAInG,EAAIp3B,KAAKk9B,eACbl9B,KAAK+D,GAAKqzB,EACVp3B,KAAKgE,GAAKozB,EAGd,OAAOp3B,MAWXw9B,MAAO,SAAUv3B,GAOb,OALIjG,KAAKm9B,iBAAmBl3B,EAAMA,GAE9BjG,KAAKo9B,aAAan3B,GAGfjG,MAWXy9B,OAAQ,SAAUnE,GAOd,OALIt5B,KAAKm9B,iBAAmB7D,EAAMA,GAE9Bt5B,KAAKo9B,aAAa9D,GAGft5B,MASXu9B,OAAQ,WAEJ,OAAmB,IAAXv9B,KAAK+D,GAAsB,IAAX/D,KAAKgE,GAUjC05B,IAAK,SAAUx6B,GAEX,OAASlD,KAAK+D,EAAIb,EAAEa,EAAM/D,KAAKgE,EAAId,EAAEc,GAUzC25B,MAAO,SAAUz6B,GAEb,OAASlD,KAAK+D,EAAIb,EAAEc,EAAMhE,KAAKgE,EAAId,EAAEa,GASzC65B,KAAM,WAEF,OAAO59B,KAAKo1B,OAAOp1B,KAAKgE,EAAGhE,KAAK+D,IASpC85B,MAAO,WAEH,OAAO79B,KAAKo1B,MAAMp1B,KAAKgE,GAAIhE,KAAK+D,IASpC+5B,gBAAiB,WAEb,OAAO99B,KAAKo1B,OAAgB,EAAVp1B,KAAKgE,EAAQhE,KAAK+D,IASxC8rB,MAAO,WAEH,OAAO7vB,KAAKo1B,MAAM1xB,KAAKmsB,MAAM7vB,KAAK+D,GAAIL,KAAKmsB,MAAM7vB,KAAKgE,KAS1DkC,KAAM,WAEF,OAAOlG,KAAKo1B,MAAM1xB,KAAKwC,KAAKlG,KAAK+D,GAAIL,KAAKwC,KAAKlG,KAAKgE,KASxDyxB,MAAO,WAEH,OAAOz1B,KAAKo1B,MAAM1xB,KAAK+xB,MAAMz1B,KAAK+D,GAAIL,KAAK+xB,MAAMz1B,KAAKgE,KAS1D4kB,SAAU,WAEN,MAAO,cAAgB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,QAKzDxC,EAAOX,MAAMyB,UAAUC,YAAcf,EAAOX,MAW5CW,EAAOX,MAAMo4B,IAAM,SAAU/1B,EAAGC,EAAG8xB,GAO/B,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAYXzzB,EAAOX,MAAMw7B,SAAW,SAAUn5B,EAAGC,EAAG8xB,GAOpC,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAYXzzB,EAAOX,MAAMy7B,SAAW,SAAUp5B,EAAGC,EAAG8xB,GAOpC,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAYXzzB,EAAOX,MAAM07B,OAAS,SAAUr5B,EAAGC,EAAG8xB,GAOlC,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAWXzzB,EAAOX,MAAM01B,OAAS,SAAUrzB,EAAGC,GAE/B,OAAOD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAGpCxC,EAAOX,MAAM87B,SAAW,SAAUz5B,EAAGa,EAAGC,GAEpC,OAAOd,EAAEa,IAAMA,GAAKb,EAAEc,IAAMA,GAGhCxC,EAAOX,MAAM+7B,YAAc,SAAU15B,EAAGC,EAAGg2B,GAEvC,OAAO33B,EAAOkC,KAAK01B,WAAWl2B,EAAEa,EAAGZ,EAAEY,EAAGo1B,IACjC33B,EAAOkC,KAAK01B,WAAWl2B,EAAEc,EAAGb,EAAEa,EAAGm1B,IAG5C33B,EAAOX,MAAMg8B,cAAgB,SAAU35B,EAAGa,EAAGC,EAAGm1B,GAE5C,OAAO33B,EAAOkC,KAAK01B,WAAWl2B,EAAEa,EAAGA,EAAGo1B,IAC/B33B,EAAOkC,KAAK01B,WAAWl2B,EAAEc,EAAGA,EAAGm1B,IAW1C33B,EAAOX,MAAM+0B,MAAQ,SAAU1yB,EAAGC,GAE9B,OAAOO,KAAKq5B,MAAM75B,EAAEc,EAAIb,EAAEa,EAAGd,EAAEa,EAAIZ,EAAEY,IAWzCvC,EAAOX,MAAMk9B,SAAW,SAAU76B,EAAG+xB,GAIjC,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,OAAOlyB,EAAEa,GAAIb,EAAEc,IAa9BxC,EAAOX,MAAMm9B,YAAc,SAAU96B,EAAGC,EAAGkB,EAAG4wB,GAI1C,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,MAAMlyB,EAAEa,EAAIZ,EAAEY,EAAIM,EAAGnB,EAAEc,EAAIb,EAAEa,EAAIK,IAahD7C,EAAOX,MAAMo9B,YAAc,SAAU/6B,EAAGC,EAAG8vB,EAAGgC,GAI1C,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,MAAMlyB,EAAEa,GAAKZ,EAAEY,EAAIb,EAAEa,GAAKkvB,EAAG/vB,EAAEc,GAAKb,EAAEa,EAAId,EAAEc,GAAKivB,IAWhEzxB,EAAOX,MAAM+8B,KAAO,SAAU16B,EAAG+xB,GAI7B,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,OAAOlyB,EAAEc,EAAGd,EAAEa,IAW7BvC,EAAOX,MAAMg9B,MAAQ,SAAU36B,EAAG+xB,GAI9B,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,MAAMlyB,EAAEc,GAAId,EAAEa,IAY7BvC,EAAOX,MAAM20B,SAAW,SAAUtyB,EAAGC,EAAGsyB,GAEpC,IAAID,EAAWh0B,EAAOkC,KAAK8xB,SAAStyB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,GACrD,OAAOyxB,EAAQ/xB,KAAK+xB,MAAMD,GAAYA,GAY1Ch0B,EAAOX,MAAMq9B,QAAU,SAAUh7B,EAAGC,EAAG8xB,QAEvB1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIs9B,EAAMj7B,EAAEw6B,IAAIv6B,GAAKA,EAAEg6B,iBAOvB,OALY,IAARgB,GAEAlJ,EAAIG,MAAM+I,EAAMh7B,EAAEY,EAAGo6B,EAAMh7B,EAAEa,GAG1BixB,GAYXzzB,EAAOX,MAAMu9B,YAAc,SAAUl7B,EAAGC,EAAG8xB,QAE3B1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIs9B,EAAMj7B,EAAEw6B,IAAIv6B,GAOhB,OALY,IAARg7B,GAEAlJ,EAAIG,MAAM+I,EAAMh7B,EAAEY,EAAGo6B,EAAMh7B,EAAEa,GAG1BixB,GAWXzzB,EAAOX,MAAMi9B,gBAAkB,SAAU56B,EAAG+xB,GAIxC,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,OAAa,EAAPlyB,EAAEc,EAAQd,EAAEa,IAWjCvC,EAAOX,MAAMy8B,UAAY,SAAUp6B,EAAG+xB,QAEtB1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIu2B,EAAIl0B,EAAEg6B,eAOV,OALU,IAAN9F,GAEAnC,EAAIG,MAAMlyB,EAAEa,EAAIqzB,EAAGl0B,EAAEc,EAAIozB,GAGtBnC,GAoBXzzB,EAAOX,MAAM23B,OAAS,SAAUt1B,EAAGa,EAAGC,EAAG4xB,EAAOC,EAAWL,GAIvD,GAFIK,IAAaD,EAAQp0B,EAAOkC,KAAK+yB,SAASb,SAE7BrvB,IAAbivB,EACJ,CACItyB,EAAEm5B,SAASt4B,EAAGC,GAEd,IAAIK,EAAIX,KAAKG,IAAI+xB,GACbxyB,EAAIM,KAAKI,IAAI8xB,GAEbtyB,EAAKF,EAAIF,EAAEa,EAAIM,EAAInB,EAAEc,EACrBT,EAAKc,EAAInB,EAAEa,EAAIX,EAAIF,EAAEc,EAEzBd,EAAEa,EAAIT,EAAKS,EACXb,EAAEc,EAAIT,EAAKS,MAGf,CACI,IAAI6sB,EAAI+E,EAAQlyB,KAAKq5B,MAAM75B,EAAEc,EAAIA,EAAGd,EAAEa,EAAIA,GAC1Cb,EAAEa,EAAIA,EAAIyxB,EAAW9xB,KAAKI,IAAI+sB,GAC9B3tB,EAAEc,EAAIA,EAAIwxB,EAAW9xB,KAAKG,IAAIgtB,GAGlC,OAAO3tB,GAWX1B,EAAOX,MAAMw9B,SAAW,SAAUC,EAAQrJ,GAItC,QAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEK,mBAA3CmG,OAAO1E,UAAUsmB,SAASpkB,KAAK85B,GAE/B,MAAM,IAAIv1B,MAAM,qDAGpB,IAAIw1B,EAAeD,EAAO37B,OAE1B,GAAI47B,EAAe,EAEf,MAAM,IAAIx1B,MAAM,4DAGpB,GAAqB,IAAjBw1B,EAGA,OADAtJ,EAAII,SAASiJ,EAAO,IACbrJ,EAGX,IAAK,IAAIvyB,EAAI,EAAGA,EAAI67B,EAAc77B,IAE9BlB,EAAOX,MAAMo4B,IAAIhE,EAAKqJ,EAAO57B,GAAIuyB,GAKrC,OAFAA,EAAIsH,OAAOgC,EAAcA,GAElBtJ,GAcXzzB,EAAOX,MAAM29B,MAAQ,SAAUzM,EAAK0M,EAAOC,GAEvCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,IAEjB,IAAItI,EAAQ,IAAI50B,EAAOX,MAYvB,OAVIkxB,EAAI0M,KAEJrI,EAAMryB,EAAI46B,WAAW5M,EAAI0M,KAGzB1M,EAAI2M,KAEJtI,EAAMpyB,EAAI26B,WAAW5M,EAAI2M,KAGtBtI,GAWX50B,EAAOX,MAAM+uB,MAAQ,SAAUmC,GAK3B,OAHAA,EAAIhuB,EAAIvC,EAAOkC,KAAKksB,MAAMmC,EAAIhuB,GAC9BguB,EAAI/tB,EAAIxC,EAAOkC,KAAKksB,MAAMmC,EAAI/tB,GAEvB+tB,GAWXvwB,EAAOX,MAAM+9B,QAAU,SAAU7M,GAE7B,OAAe,MAAPA,GAAkC,iBAAVA,EAAIhuB,GAAqC,iBAAVguB,EAAI/tB,GAavExC,EAAOX,MAAMsG,IAAM,SAAU4qB,EAAKhuB,EAAGC,GAKjC,OAHA+tB,EAAIhuB,EAAIA,GAAK,EACbguB,EAAI/tB,EAAIA,IAAa,IAANA,EAAW+tB,EAAIhuB,EAAI,GAE3BguB,GAiBXvwB,EAAOX,MAAMg+B,cAAgB,SAAUP,EAAQQ,GAItCA,IAEDA,EAAS9+B,KAAKq+B,SAASC,IAG3B,IAAIpvB,EAAK4vB,EAAO/6B,EACZoL,EAAK2vB,EAAO96B,EA+ChB,OAAOs6B,EAAOS,KA7CH,SAAU77B,EAAGC,GAEpB,GAAID,EAAEa,EAAImL,GAAM,GAAK/L,EAAEY,EAAImL,EAAK,EAE5B,OAAQ,EAGZ,GAAIhM,EAAEa,EAAImL,EAAK,GAAK/L,EAAEY,EAAImL,GAAM,EAE5B,OAAO,EAGX,GAAIhM,EAAEa,EAAImL,GAAO,GAAK/L,EAAEY,EAAImL,GAAO,EAE/B,OAAIhM,EAAEc,EAAImL,GAAM,GAAKhM,EAAEa,EAAImL,GAAM,EAErBjM,EAAEc,EAAIb,EAAEa,EAAK,GAAK,EAGtBb,EAAEa,EAAId,EAAEc,EAAK,GAAK,EAI9B,IAAIg7B,GAAO97B,EAAEa,EAAImL,KAAQ/L,EAAEa,EAAImL,IAAOhM,EAAEY,EAAImL,KAAQhM,EAAEc,EAAImL,GAE1D,OAAI6vB,EAAM,GAEE,EAGRA,EAAM,EAEC,GAOD97B,EAAEa,EAAImL,IAAOhM,EAAEa,EAAImL,IAAOhM,EAAEc,EAAImL,IAAOjM,EAAEc,EAAImL,IAC7ChM,EAAEY,EAAImL,IAAO/L,EAAEY,EAAImL,IAAO/L,EAAEa,EAAImL,IAAOhM,EAAEa,EAAImL,IAEnC,EAAI,KAQhC3Q,KAAKqC,MAAQW,EAAOX,MAyBpBW,EAAOy9B,QAAU,WAKbj/B,KAAKk/B,KAAO,EAMZl/B,KAAKm/B,WAED7O,UAAU3tB,OAAS,GAEnB3C,KAAKo1B,MAAM7vB,MAAMvF,KAAMswB,WAM3BtwB,KAAKo/B,QAAS,EAKdp/B,KAAKq/B,WAAY,EAKjBr/B,KAAKwT,KAAOhS,EAAOsrB,SAGvBtrB,EAAOy9B,QAAQ38B,WASXg9B,cAAe,SAAU5J,QAENnvB,IAAXmvB,IAAwBA,MAE5B,IAAK,IAAIhzB,EAAI,EAAGA,EAAI1C,KAAKm/B,QAAQx8B,OAAQD,IAEN,iBAApB1C,KAAKm/B,QAAQz8B,IAEpBgzB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,IACzBgzB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,EAAI,IAC7BA,MAIAgzB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,GAAGqB,GAC5B2xB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,GAAGsB,IAIpC,OAAO0xB,GAWX6J,QAAS,WAML,OAJAv/B,KAAKm/B,QAAUn/B,KAAKs/B,gBAEpBt/B,KAAKq/B,WAAY,EAEVr/B,MAWXk0B,MAAO,SAAUwB,GAEb,IAAI4I,EAASt+B,KAAKm/B,QAAQnP,QAW1B,YATezpB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOy9B,QAAQX,GAI5B5I,EAAON,MAAMkJ,GAGV5I,GAWXprB,SAAU,SAAUvG,EAAGC,GAInB,IAAIw7B,GAAS,EAEb,GAAIx/B,KAAKq/B,UAEL,IAAK,IAAI38B,GAAK,EAAGmF,EAAI7H,KAAKm/B,QAAQx8B,OAAS,GAAID,GAAK,GAAK1C,KAAKm/B,QAAQx8B,OAAQkF,EAAInF,EAClF,CACI,IAAI+8B,EAAKz/B,KAAKm/B,QAAQz8B,GAClBg9B,EAAK1/B,KAAKm/B,QAAQz8B,EAAI,GAEtBi9B,EAAK3/B,KAAKm/B,QAAQt3B,GAClB+3B,EAAK5/B,KAAKm/B,QAAQt3B,EAAI,IAEpB63B,GAAM17B,GAAKA,EAAI47B,GAAQA,GAAM57B,GAAKA,EAAI07B,IAAS37B,GAAK47B,EAAKF,IAAOz7B,EAAI07B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,QAMlB,IAAK,IAAI98B,GAAK,EAAGmF,EAAI7H,KAAKm/B,QAAQx8B,OAAS,IAAKD,EAAI1C,KAAKm/B,QAAQx8B,OAAQkF,EAAInF,EAC7E,CACI,IAAI+8B,EAAKz/B,KAAKm/B,QAAQz8B,GAAGqB,EACrB27B,EAAK1/B,KAAKm/B,QAAQz8B,GAAGsB,EAErB27B,EAAK3/B,KAAKm/B,QAAQt3B,GAAG9D,EACrB67B,EAAK5/B,KAAKm/B,QAAQt3B,GAAG7D,GAEnB07B,GAAM17B,GAAKA,EAAI47B,GAAQA,GAAM57B,GAAKA,EAAI07B,IAAS37B,GAAK47B,EAAKF,IAAOz7B,EAAI07B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,GAKtB,OAAOA,GAsBXpK,MAAO,SAAUkJ,GAKb,GAHAt+B,KAAKk/B,KAAO,EACZl/B,KAAKm/B,WAED7O,UAAU3tB,OAAS,EACvB,CAES8E,MAAMC,QAAQ42B,KAEfA,EAAS72B,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,YAMxC,IAAK,IAHDnM,EAAK0b,OAAOC,UAGPp9B,EAAI,EAAGouB,EAAMwN,EAAO37B,OAAQD,EAAIouB,EAAKpuB,IAC9C,CACI,GAAyB,iBAAd47B,EAAO57B,GAClB,CACQM,EAAI,IAAIxE,KAAKqC,MAAMy9B,EAAO57B,GAAI47B,EAAO57B,EAAI,IAC7CA,SAEC,GAAI+E,MAAMC,QAAQ42B,EAAO57B,IAEtBM,EAAI,IAAIxE,KAAKqC,MAAMy9B,EAAO57B,GAAG,GAAI47B,EAAO57B,GAAG,SAI/C,IAAIM,EAAI,IAAIxE,KAAKqC,MAAMy9B,EAAO57B,GAAGqB,EAAGu6B,EAAO57B,GAAGsB,GAGlDhE,KAAKm/B,QAAQr3B,KAAK9E,GAGdA,EAAEgB,EAAImgB,IAENA,EAAKnhB,EAAEgB,GAIfhE,KAAK+/B,cAAc5b,GAGvB,OAAOnkB,MAWX+/B,cAAe,SAAU5b,GAOrB,IAAK,IALDqT,EACAwI,EACAC,EACAriC,EAEK8E,EAAI,EAAGouB,EAAM9wB,KAAKm/B,QAAQx8B,OAAQD,EAAIouB,EAAKpuB,IAEhD80B,EAAKx3B,KAAKm/B,QAAQz8B,GAIds9B,EAFAt9B,IAAMouB,EAAM,EAEP9wB,KAAKm/B,QAAQ,GAIbn/B,KAAKm/B,QAAQz8B,EAAI,GAG1Bu9B,GAAczI,EAAGxzB,EAAImgB,GAAO6b,EAAGh8B,EAAImgB,IAAO,EAC1CvmB,EAAQ45B,EAAGzzB,EAAIi8B,EAAGj8B,EAClB/D,KAAKk/B,MAAQe,EAAYriC,EAG7B,OAAOoC,KAAKk/B,OAKpB19B,EAAOy9B,QAAQ38B,UAAUC,YAAcf,EAAOy9B,QAW9Cj4B,OAAOyF,eAAejL,EAAOy9B,QAAQ38B,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKm/B,WAMpB3gC,KAAKygC,QAAUz9B,EAAOy9B,QAmBtBz9B,EAAOS,UAAY,SAAU8B,EAAGC,EAAGpG,EAAOC,GAEtCkG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKwT,KAAOhS,EAAOgsB,WAGvBhsB,EAAOS,UAAUK,WASbmV,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHArO,KAAK+D,GAAKoK,EACVnO,KAAKgE,GAAKqK,EAEHrO,MASXm2B,YAAa,SAAUC,GAEnB,OAAOp2B,KAAKyX,OAAO2e,EAAMryB,EAAGqyB,EAAMpyB,IAYtCoxB,MAAO,SAAUrxB,EAAGC,EAAGpG,EAAOC,GAO1B,OALAmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MAWXc,MAAO,SAAUiD,EAAGC,GAOhB,YALUuC,IAANvC,IAAmBA,EAAID,GAE3B/D,KAAKpC,OAASmG,EACd/D,KAAKnC,QAAUmG,EAERhE,MAWXg5B,SAAU,SAAUj1B,EAAGC,GAKnB,OAHAhE,KAAK63B,QAAU9zB,EACf/D,KAAK83B,QAAU9zB,EAERhE,MAOX6vB,MAAO,WAEH7vB,KAAK+D,EAAIL,KAAKmsB,MAAM7vB,KAAK+D,GACzB/D,KAAKgE,EAAIN,KAAKmsB,MAAM7vB,KAAKgE,IAO7Bk8B,SAAU,WAENlgC,KAAK+D,EAAIL,KAAKmsB,MAAM7vB,KAAK+D,GACzB/D,KAAKgE,EAAIN,KAAKmsB,MAAM7vB,KAAKgE,GACzBhE,KAAKpC,MAAQ8F,KAAKmsB,MAAM7vB,KAAKpC,OAC7BoC,KAAKnC,OAAS6F,KAAKmsB,MAAM7vB,KAAKnC,SAOlCqI,KAAM,WAEFlG,KAAK+D,EAAIL,KAAKwC,KAAKlG,KAAK+D,GACxB/D,KAAKgE,EAAIN,KAAKwC,KAAKlG,KAAKgE,IAO5Bm8B,QAAS,WAELngC,KAAK+D,EAAIL,KAAKwC,KAAKlG,KAAK+D,GACxB/D,KAAKgE,EAAIN,KAAKwC,KAAKlG,KAAKgE,GACxBhE,KAAKpC,MAAQ8F,KAAKwC,KAAKlG,KAAKpC,OAC5BoC,KAAKnC,OAAS6F,KAAKwC,KAAKlG,KAAKnC,SASjCw3B,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOxR,MAAOwR,EAAOvR,SAS/DuiC,eAAgB,SAAUhxB,GAEtB,OAAOpP,KAAKo1B,MAAMhmB,EAAOukB,KAAMvkB,EAAOinB,IAAKjnB,EAAOxR,MAAOwR,EAAOvR,SASpEy3B,OAAQ,SAAUC,GAOd,OALAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EACduxB,EAAK33B,MAAQoC,KAAKpC,MAClB23B,EAAK13B,OAASmC,KAAKnC,OAEZ03B,GAUX8K,QAAS,SAAUlyB,EAAIE,GAEnB,OAAO7M,EAAOS,UAAUo+B,QAAQrgC,KAAMmO,EAAIE,IAS9CyT,KAAM,SAAU4T,GAEZ,OAAOl0B,EAAOS,UAAU6f,KAAK9hB,KAAM01B,IAYvCvvB,OAAQ,SAAUvI,EAAOC,GAKrB,OAHAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MASXk0B,MAAO,SAAUwB,GAEb,OAAOl0B,EAAOS,UAAUiyB,MAAMl0B,KAAM01B,IAUxCprB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOS,UAAUqI,SAAStK,KAAM+D,EAAGC,IAU9Cs8B,aAAc,SAAUn9B,GAEpB,OAAO3B,EAAOS,UAAUq+B,aAAan9B,EAAGnD,OAU5Cu2B,OAAQ,SAAUpzB,GAEd,OAAO3B,EAAOS,UAAUs0B,OAAOv2B,KAAMmD,IAUzCo9B,aAAc,SAAUp9B,EAAG8xB,GAEvB,OAAOzzB,EAAOS,UAAUs+B,aAAavgC,KAAMmD,EAAG8xB,IAWlDuB,WAAY,SAAUrzB,GAElB,OAAO3B,EAAOS,UAAUu0B,WAAWx2B,KAAMmD,IAc7Cq9B,cAAe,SAAU7M,EAAMD,EAAO2C,EAAKC,EAAQmK,GAE/C,OAAOj/B,EAAOS,UAAUu+B,cAAcxgC,KAAM2zB,EAAMD,EAAO2C,EAAKC,EAAQmK,IAU1EC,MAAO,SAAUv9B,EAAG8xB,GAEhB,OAAOzzB,EAAOS,UAAUy+B,MAAM1gC,KAAMmD,EAAG8xB,IAW3CtC,OAAQ,SAAUsC,GAOd,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAI/D,KAAK2gC,QACb1L,EAAIjxB,EAAIhE,KAAK4gC,QAEN3L,GAmBX4L,SAAU,SAAUjgC,EAAUq0B,GAI1B,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAElCD,GAEJ,QACA,KAAKY,EAAOotB,SACR,OAAOqG,EAAI9tB,IAAInH,KAAK+D,EAAG/D,KAAKgE,GAEhC,KAAKxC,EAAOqtB,WACR,OAAOoG,EAAI9tB,IAAInH,KAAK63B,QAAS73B,KAAKgE,GAEtC,KAAKxC,EAAOstB,UACR,OAAOmG,EAAI9tB,IAAInH,KAAK0zB,MAAO1zB,KAAKgE,GAEpC,KAAKxC,EAAOwtB,YACR,OAAOiG,EAAI9tB,IAAInH,KAAK+D,EAAG/D,KAAK83B,SAEhC,KAAKt2B,EAAO0tB,OACR,OAAO+F,EAAI9tB,IAAInH,KAAK63B,QAAS73B,KAAK83B,SAEtC,KAAKt2B,EAAO4tB,aACR,OAAO6F,EAAI9tB,IAAInH,KAAK0zB,MAAO1zB,KAAK83B,SAEpC,KAAKt2B,EAAO8tB,YACR,OAAO2F,EAAI9tB,IAAInH,KAAK+D,EAAG/D,KAAKs2B,QAEhC,KAAK90B,EAAO+tB,cACR,OAAO0F,EAAI9tB,IAAInH,KAAK63B,QAAS73B,KAAKs2B,QAEtC,KAAK90B,EAAOguB,aACR,OAAOyF,EAAI9tB,IAAInH,KAAK0zB,MAAO1zB,KAAKs2B,UAc5CwK,MAAO,SAAUzK,EAAK3C,EAAO4C,EAAQ3C,GAE5BrD,UAAU3tB,SAEX0zB,EAAM,IAAI70B,EAAOy2B,KACjBvE,EAAQ,IAAIlyB,EAAOy2B,KACnB3B,EAAS,IAAI90B,EAAOy2B,KACpBtE,EAAO,IAAInyB,EAAOy2B,MAGtB,IAAI3sB,EAAKtL,KAAK+D,EACVwH,EAAKvL,KAAKgE,EACVwH,EAAKxL,KAAK0zB,MACVjoB,EAAKzL,KAAKs2B,OAOd,OALAD,EAAIjB,MAAM9pB,EAAIC,EAAIC,EAAID,GACtBmoB,EAAM0B,MAAM5pB,EAAID,EAAIC,EAAIC,GACxB6qB,EAAOlB,MAAM9pB,EAAIG,EAAID,EAAIC,GACzBkoB,EAAKyB,MAAM9pB,EAAIC,EAAID,EAAIG,GAElB6kB,UAAU3tB,OAKR,MAHM0zB,EAAK3C,EAAO4C,EAAQ3C,IAWrC/K,SAAU,WAEN,MAAO,kBAAoB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,UAAYhE,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,UAAYmC,KAAK66B,MAAQ,QAU1I7zB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,aAE9C4E,IAAK,WAED,OAAOxD,KAAK+xB,MAAMz1B,KAAKpC,MAAQ,MAUvCoJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,cAE9C4E,IAAK,WAED,OAAOxD,KAAK+xB,MAAMz1B,KAAKnC,OAAS,MAUxCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKnC,QAGzBsJ,IAAK,SAAUC,GAEPA,GAASpH,KAAKgE,EAEdhE,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASuJ,EAAQpH,KAAKgE,KAWvCgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,cAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKs2B,SAGzCnvB,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAMrD,EACf/D,KAAKs2B,OAASlvB,EAAMpD,KAU5BgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,eAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK0zB,MAAO1zB,KAAKs2B,SAG7CnvB,IAAK,SAAUC,GAEXpH,KAAK0zB,MAAQtsB,EAAMrD,EACnB/D,KAAKs2B,OAASlvB,EAAMpD,KAU5BgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,QAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,GAGhBoD,IAAK,SAAUC,GAEPA,GAASpH,KAAK0zB,MAEd1zB,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQoC,KAAK0zB,MAAQtsB,EAE9BpH,KAAK+D,EAAIqD,KAUjBJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,SAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKpC,OAGzBuJ,IAAK,SAAUC,GAEPA,GAASpH,KAAK+D,EAEd/D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQwJ,EAAQpH,KAAK+D,KAYtCiD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKpC,MAAQoC,KAAKnC,UAWjCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,aAE9C4E,IAAK,WAED,OAAqB,EAAblH,KAAKpC,MAA4B,EAAdoC,KAAKnC,UAUxCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK42B,WAGzBzvB,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAQpH,KAAK42B,aAU9B5vB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK62B,YAGzB1vB,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAAQpH,KAAK62B,cAW9B7vB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAKL,KAAKivB,SAAW3yB,KAAKpC,SAW9CoJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAKN,KAAKivB,SAAW3yB,KAAKnC,UAW9CmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,OAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,GAGhBmD,IAAK,SAAUC,GAEPA,GAASpH,KAAKs2B,QAEdt2B,KAAKnC,OAAS,EACdmC,KAAKgE,EAAIoD,GAITpH,KAAKnC,OAAUmC,KAAKs2B,OAASlvB,KAWzCJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKgE,IAGzCmD,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAMrD,EACf/D,KAAKgE,EAAIoD,EAAMpD,KAUvBgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,YAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAI/D,KAAKpC,MAAOoC,KAAKgE,IAGtDmD,IAAK,SAAUC,GAEXpH,KAAK0zB,MAAQtsB,EAAMrD,EACnB/D,KAAKgE,EAAIoD,EAAMpD,KAWvBgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,SAE9C4E,IAAK,WAED,OAASlH,KAAKpC,QAAUoC,KAAKnC,QAGjCsJ,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKo1B,MAAM,EAAG,EAAG,EAAG,MAMhC5zB,EAAOS,UAAUK,UAAUC,YAAcf,EAAOS,UAUhDT,EAAOS,UAAUo+B,QAAU,SAAUn9B,EAAGiL,EAAIE,GAOxC,OALAnL,EAAEa,GAAKoK,EACPjL,EAAEtF,OAAS,EAAIuQ,EACfjL,EAAEc,GAAKqK,EACPnL,EAAErF,QAAU,EAAIwQ,EAETnL,GAUX1B,EAAOS,UAAU8+B,aAAe,SAAU79B,EAAGkzB,GAEzC,OAAO50B,EAAOS,UAAUo+B,QAAQn9B,EAAGkzB,EAAMryB,EAAGqyB,EAAMpyB,IAUtDxC,EAAOS,UAAU6f,KAAO,SAAU5e,EAAGwyB,GAWjC,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOX,MAAMqC,EAAEtF,MAAOsF,EAAErF,QAIrC63B,EAAON,MAAMlyB,EAAEtF,MAAOsF,EAAErF,QAGrB63B,GAUXl0B,EAAOS,UAAUiyB,MAAQ,SAAUhxB,EAAGwyB,GAWlC,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOS,UAAUiB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,QAInD63B,EAAON,MAAMlyB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,QAG/B63B,GAUXl0B,EAAOS,UAAU++B,iBAAmB,SAAU99B,EAAGwyB,GAO7C,YALenvB,IAAXmvB,GAAmC,OAAXA,IAExBA,EAAS,IAAIl0B,EAAOS,UAAUiB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,SAGhD63B,EAAO0K,eAAel9B,IAWjC1B,EAAOS,UAAUqI,SAAW,SAAUpH,EAAGa,EAAGC,GAExC,QAAId,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,KAKxBkG,GAAKb,EAAEa,GAAKA,EAAIb,EAAEwwB,OAAS1vB,GAAKd,EAAEc,GAAKA,EAAId,EAAEozB,SAczD90B,EAAOS,UAAUg/B,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIt9B,EAAGC,GAExD,OAAQD,GAAKm9B,GAAMn9B,EAAKm9B,EAAKE,GAAOp9B,GAAKm9B,GAAMn9B,EAAKm9B,EAAKE,GAU7D7/B,EAAOS,UAAUq/B,cAAgB,SAAUp+B,EAAGkzB,GAE1C,OAAO50B,EAAOS,UAAUqI,SAASpH,EAAGkzB,EAAMryB,EAAGqyB,EAAMpyB,IAWvDxC,EAAOS,UAAUq+B,aAAe,SAAUp9B,EAAGC,GAGzC,QAAID,EAAEq+B,OAASp+B,EAAEo+B,UAKTr+B,EAAEa,GAAKZ,EAAEY,GAAKb,EAAEc,GAAKb,EAAEa,GAAKd,EAAEwwB,MAAQvwB,EAAEuwB,OAASxwB,EAAEozB,OAASnzB,EAAEmzB,SAW1E90B,EAAOS,UAAUs0B,OAAS,SAAUrzB,EAAGC,GAEnC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAEtF,QAAUuF,EAAEvF,OAASsF,EAAErF,SAAWsF,EAAEtF,QAUhF2D,EAAOS,UAAUu/B,eAAiB,SAAUt+B,EAAGC,GAE3C,OAAQD,EAAEtF,QAAUuF,EAAEvF,OAASsF,EAAErF,SAAWsF,EAAEtF,QAWlD2D,EAAOS,UAAUs+B,aAAe,SAAUr9B,EAAGC,EAAGuyB,GAe5C,YAbenvB,IAAXmvB,IAEAA,EAAS,IAAIl0B,EAAOS,WAGpBT,EAAOS,UAAUu0B,WAAWtzB,EAAGC,KAE/BuyB,EAAO3xB,EAAIL,KAAKuC,IAAI/C,EAAEa,EAAGZ,EAAEY,GAC3B2xB,EAAO1xB,EAAIN,KAAKuC,IAAI/C,EAAEc,EAAGb,EAAEa,GAC3B0xB,EAAO93B,MAAQ8F,KAAK41B,IAAIp2B,EAAEwwB,MAAOvwB,EAAEuwB,OAASgC,EAAO3xB,EACnD2xB,EAAO73B,OAAS6F,KAAK41B,IAAIp2B,EAAEozB,OAAQnzB,EAAEmzB,QAAUZ,EAAO1xB,GAGnD0xB,GAWXl0B,EAAOS,UAAUu0B,WAAa,SAAUtzB,EAAGC,GAEvC,QAAID,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,GAAKsF,EAAEvF,OAAS,GAAKuF,EAAEtF,QAAU,MAKxDqF,EAAEwwB,MAAQvwB,EAAEY,GAAKb,EAAEozB,OAASnzB,EAAEa,GAAKd,EAAEa,EAAIZ,EAAEuwB,OAASxwB,EAAEc,EAAIb,EAAEmzB,SAazE90B,EAAOS,UAAUu+B,cAAgB,SAAUt9B,EAAGywB,EAAMD,EAAO2C,EAAKC,EAAQmK,GAIpE,YAFkBl6B,IAAdk6B,IAA2BA,EAAY,KAElC9M,EAAOzwB,EAAEwwB,MAAQ+M,GAAa/M,EAAQxwB,EAAEywB,KAAO8M,GAAapK,EAAMnzB,EAAEozB,OAASmK,GAAanK,EAASpzB,EAAEmzB,IAAMoK,IAWxHj/B,EAAOS,UAAUy+B,MAAQ,SAAUx9B,EAAGC,EAAGuyB,GAOrC,YALenvB,IAAXmvB,IAEAA,EAAS,IAAIl0B,EAAOS,WAGjByzB,EAAON,MAAM1xB,KAAK41B,IAAIp2B,EAAEa,EAAGZ,EAAEY,GAAIL,KAAK41B,IAAIp2B,EAAEc,EAAGb,EAAEa,GAAIN,KAAKuC,IAAI/C,EAAEwwB,MAAOvwB,EAAEuwB,OAAShwB,KAAK41B,IAAIp2B,EAAEywB,KAAMxwB,EAAEwwB,MAAOjwB,KAAKuC,IAAI/C,EAAEozB,OAAQnzB,EAAEmzB,QAAU5yB,KAAK41B,IAAIp2B,EAAEmzB,IAAKlzB,EAAEkzB,OAWxK70B,EAAOS,UAAUw/B,KAAO,SAAUnD,EAAQrJ,QAE1B1uB,IAAR0uB,IAEAA,EAAM,IAAIzzB,EAAOS,WAGrB,IAAIs3B,EAAOsG,OAAO6B,kBACdrI,EAAOwG,OAAO8B,kBACdlI,EAAOoG,OAAO6B,kBACdlI,EAAOqG,OAAO8B,kBAyBlB,OAvBArD,EAAO3N,QAAQ,SAAUyF,GAEjBA,EAAMryB,EAAIw1B,IAEVA,EAAOnD,EAAMryB,GAEbqyB,EAAMryB,EAAIs1B,IAEVA,EAAOjD,EAAMryB,GAGbqyB,EAAMpyB,EAAIy1B,IAEVA,EAAOrD,EAAMpyB,GAEboyB,EAAMpyB,EAAIw1B,IAEVA,EAAOpD,EAAMpyB,KAIrBixB,EAAIG,MAAMiE,EAAMG,EAAMD,EAAOF,EAAMI,EAAOD,GAEnCvE,GAIXz2B,KAAKyD,UAAYT,EAAOS,UAOxBT,EAAOogC,eAAiB,IAAIpgC,EAAOS,UAAU,EAAG,EAAG,EAAG,GAqBtDT,EAAOqgC,iBAAmB,SAAU99B,EAAGC,EAAGpG,EAAOC,EAAQs3B,QAE3C5uB,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQ,QACpB2I,IAAX1I,IAAwBA,EAAS,QACtB0I,IAAX4uB,IAAwBA,EAAS,IAKrCn1B,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAKm1B,OAASA,GAAU,GAMxBn1B,KAAKwT,KAAOhS,EAAOosB,kBAGvBpsB,EAAOqgC,iBAAiBv/B,WASpB4xB,MAAO,WAEH,OAAO,IAAI1yB,EAAOqgC,iBAAiB7hC,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKm1B,SAWrF7qB,SAAU,SAAUvG,EAAGC,GAEnB,GAAIhE,KAAKpC,OAAS,GAAKoC,KAAKnC,QAAU,EAElC,OAAO,EAGX,IAAIyN,EAAKtL,KAAK+D,EAEd,GAAIA,GAAKuH,GAAMvH,GAAKuH,EAAKtL,KAAKpC,MAC9B,CACI,IAAI2N,EAAKvL,KAAKgE,EAEd,GAAIA,GAAKuH,GAAMvH,GAAKuH,EAAKvL,KAAKnC,OAE1B,OAAO,EAIf,OAAO,IAKf2D,EAAOqgC,iBAAiBv/B,UAAUC,YAAcf,EAAOqgC,iBAGvDrjC,KAAKqjC,iBAAmBrgC,EAAOqgC,iBAqB/BrgC,EAAOsgC,OAAS,SAAU/+B,EAAMmR,EAAInQ,EAAGC,EAAGpG,EAAOC,GAK7CmC,KAAK+C,KAAOA,EAKZ/C,KAAKiD,MAAQF,EAAKE,MAMlBjD,KAAKkU,GAAK,EASVlU,KAAKiX,KAAO,IAAIzV,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAS9CmC,KAAK8E,OAAS,IAAItD,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAKhDmC,KAAK+hC,SAAW,KAMhB/hC,KAAKkB,SAAU,EAMflB,KAAKgiC,SAAU,EAKfhiC,KAAKiiC,SAAYl+B,GAAG,EAAOC,GAAG,GAM9BhE,KAAKgI,OAAS,KAKdhI,KAAKib,cAAgB,KAKrBjb,KAAKc,MAAQ,KAMbd,KAAKkiC,YAAc,EAWnBliC,KAAKmiC,KAAO,IAAI3gC,EAAOX,MAAM,EAAG,GAKhCb,KAAKoiC,gBAAkB,IAAI5gC,EAAO6gC,OAKlCriC,KAAKsiC,gBAAkB,IAAI9gC,EAAO6gC,OASlCriC,KAAKuiC,eAAiB,IAAI/gC,EAAO6gC,OAOjCriC,KAAKwiC,GAAK,KAMVxiC,KAAKyiC,gBAAkB,IAAIjhC,EAAOX,MAOlCb,KAAK0iC,MAAQ,EAOb1iC,KAAK2iC,UAAY,IAAInhC,EAAOX,MAM5Bb,KAAK+a,QACD6nB,UAAW,EACXC,SAAU,EACVC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbj/B,EAAG,EACHC,EAAG,GAOPhE,KAAKijC,YAAc,EAMnBjjC,KAAKkjC,QAAU,EAMfljC,KAAKmjC,WAAa,IAAI3hC,EAAOS,WASjCT,EAAOsgC,OAAOsB,cAAgB,EAQ9B5hC,EAAOsgC,OAAOuB,kBAAoB,EAQlC7hC,EAAOsgC,OAAOwB,eAAiB,EAQ/B9hC,EAAOsgC,OAAOyB,qBAAuB,EAMrC/hC,EAAOsgC,OAAO0B,WAAa,EAM3BhiC,EAAOsgC,OAAO2B,iBAAmB,EAMjCjiC,EAAOsgC,OAAO4B,eAAiB,EAM/BliC,EAAOsgC,OAAO6B,WAAY,EAE1BniC,EAAOsgC,OAAOx/B,WAQVshC,KAAM,WAEF5jC,KAAKib,cAAgBjb,KAAK+C,KAAKE,MAE/BjD,KAAKc,MAAQd,KAAK+C,KAAKE,MAAMnC,MAE7Bd,KAAK+C,KAAK+X,OAAS9a,KAEfwB,EAAOqiC,UAAYriC,EAAOsgC,OAAO6B,YAEjC3jC,KAAKwiC,GAAK,IAAIhhC,EAAOqiC,SAAS7jC,KAAK+C,MAEnC/C,KAAK+C,KAAKuX,MAAM7R,SAASzI,KAAKwiC,MAStC99B,UAAW,WAEP1E,KAAKkiC,YAAc,GAkBvB4B,OAAQ,SAAU97B,EAAQsT,EAAOyoB,EAAOC,QAEtBz9B,IAAV+U,IAAuBA,EAAQ9Z,EAAOsgC,OAAOsB,oBACnC78B,IAAVw9B,IAAuBA,EAAQ,QACrBx9B,IAAVy9B,IAAuBA,EAAQ,GAEnChkC,KAAKgI,OAASA,EACdhI,KAAKmiC,KAAKh7B,IAAI48B,EAAOC,GAErB,IAAIC,EAEJ,OAAQ3oB,GAEJ,KAAK9Z,EAAOsgC,OAAOuB,kBACf,IAAIhuB,EAAIrV,KAAKpC,MAAQ,EACjB2mB,EAAIvkB,KAAKnC,OAAS,EACtBmC,KAAK+hC,SAAW,IAAIvgC,EAAOS,WAAWjC,KAAKpC,MAAQyX,GAAK,GAAIrV,KAAKnC,OAAS0mB,GAAK,EAAQ,IAAJA,EAAUlP,EAAGkP,GAChG,MAEJ,KAAK/iB,EAAOsgC,OAAOwB,eACfW,EAASvgC,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAK+hC,SAAW,IAAIvgC,EAAOS,WAAWjC,KAAKpC,MAAQqmC,GAAU,GAAIjkC,KAAKnC,OAASomC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKziC,EAAOsgC,OAAOyB,qBACfU,EAASvgC,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAK+hC,SAAW,IAAIvgC,EAAOS,WAAWjC,KAAKpC,MAAQqmC,GAAU,GAAIjkC,KAAKnC,OAASomC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKziC,EAAOsgC,OAAOsB,cAInB,QACIpjC,KAAK+hC,SAAW,OAU5BmC,SAAU,WAENlkC,KAAKgI,OAAS,MAQlBm8B,QAAS,SAAUlpB,GAEfjb,KAAKokC,YAAY1gC,KAAK+xB,MAAMxa,EAAclX,EAAI/D,KAAKiX,KAAK2f,WAAYlzB,KAAK+xB,MAAMxa,EAAcjX,EAAIhE,KAAKiX,KAAK4f,cAS/GwN,UAAW,SAAUtgC,EAAGC,GAEpBhE,KAAKokC,YAAY1gC,KAAK+xB,MAAM1xB,EAAI/D,KAAKiX,KAAK2f,WAAYlzB,KAAK+xB,MAAMzxB,EAAIhE,KAAKiX,KAAK4f,cAkBnFyN,MAAO,SAAU1B,EAAWC,EAAU0B,EAAOC,EAAWxB,GAQpD,YANkBz8B,IAAdq8B,IAA2BA,EAAY,UAC1Br8B,IAAbs8B,IAA0BA,EAAW,UAC3Bt8B,IAAVg+B,IAAuBA,GAAQ,QACjBh+B,IAAdi+B,IAA2BA,EAAYhjC,EAAOsgC,OAAO0B,iBACrCj9B,IAAhBy8B,IAA6BA,GAAc,MAE1CuB,GAASvkC,KAAK+a,OAAO8nB,SAAW,KAMrC7iC,KAAK+a,OAAO6nB,UAAYA,EACxB5iC,KAAK+a,OAAO8nB,SAAWA,EACvB7iC,KAAK+a,OAAOioB,YAAcA,EAE1BhjC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,EAEhBhE,KAAK+a,OAAO+nB,WAAc0B,IAAchjC,EAAOsgC,OAAO0B,YAAcgB,IAAchjC,EAAOsgC,OAAO2B,iBAChGzjC,KAAK+a,OAAOgoB,SAAYyB,IAAchjC,EAAOsgC,OAAO0B,YAAcgB,IAAchjC,EAAOsgC,OAAO4B,gBAEvF,IAkBXe,MAAO,SAAUpuB,EAAOwsB,EAAU0B,EAAOtjC,GAOrC,YALcsF,IAAV8P,IAAuBA,EAAQ,eAClB9P,IAAbs8B,IAA0BA,EAAW,UAC3Bt8B,IAAVg+B,IAAuBA,GAAQ,QACrBh+B,IAAVtF,IAAuBA,EAAQ,MAE9BjB,KAAKwiC,KAAQ+B,GAASvkC,KAAKijC,YAAc,KAK9CjjC,KAAKwiC,GAAG5nB,QAER5a,KAAKwiC,GAAGkC,UAAUruB,EAAOpV,GACzBjB,KAAKwiC,GAAGmC,SAAS,EAAG,EAAG3kC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAKwiC,GAAGoC,UAER5kC,KAAKwiC,GAAGvhC,MAAQ,EAEhBjB,KAAKijC,YAAcJ,EACnB7iC,KAAKkjC,QAAU,GAER,IAuBX2B,KAAM,SAAUxuB,EAAOwsB,EAAU0B,EAAOtjC,GAOpC,YALcsF,IAAV8P,IAAuBA,EAAQ,QAClB9P,IAAbs8B,IAA0BA,EAAW,UAC3Bt8B,IAAVg+B,IAAuBA,GAAQ,QACrBh+B,IAAVtF,IAAuBA,EAAQ,MAE9BjB,KAAKwiC,KAAQ+B,GAASvkC,KAAKijC,YAAc,KAK9CjjC,KAAKwiC,GAAG5nB,QAER5a,KAAKwiC,GAAGkC,UAAUruB,EAAOpV,GACzBjB,KAAKwiC,GAAGmC,SAAS,EAAG,EAAG3kC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAKwiC,GAAGoC,UAER5kC,KAAKwiC,GAAGvhC,MAAQ,EAEhBjB,KAAKijC,YAAcJ,EACnB7iC,KAAKkjC,QAAU,GAER,IASX4B,OAAQ,WAEA9kC,KAAKijC,YAAc,GAEnBjjC,KAAK+kC,WAGL/kC,KAAK+a,OAAO8nB,SAAW,GAEvB7iC,KAAKglC,cAGLhlC,KAAK8E,QAEL9E,KAAKilC,cAGLjlC,KAAKgiC,UAELhiC,KAAKiX,KAAK4Y,QACV7vB,KAAK+a,OAAOhX,EAAIL,KAAKmsB,MAAM7vB,KAAK+a,OAAOhX,GACvC/D,KAAK+a,OAAO/W,EAAIN,KAAKmsB,MAAM7vB,KAAK+a,OAAO/W,IAG3ChE,KAAKib,cAAcra,SAASmD,GAAK/D,KAAKiX,KAAKlT,EAC3C/D,KAAKib,cAAcra,SAASoD,GAAKhE,KAAKiX,KAAKjT,GAS/C+gC,SAAU,WAEe,IAAjB/kC,KAAKkjC,SAGLljC,KAAKwiC,GAAGvhC,OAASjB,KAAK+C,KAAKmiC,KAAKC,UAAYnlC,KAAKijC,YAE7CjjC,KAAKwiC,GAAGvhC,OAAS,IAEjBjB,KAAKijC,YAAc,EACnBjjC,KAAKwiC,GAAGvhC,MAAQ,EAChBjB,KAAKsiC,gBAAgB8C,cAMzBplC,KAAKwiC,GAAGvhC,OAASjB,KAAK+C,KAAKmiC,KAAKC,UAAYnlC,KAAKijC,YAE7CjjC,KAAKwiC,GAAGvhC,OAAS,IAEjBjB,KAAKijC,YAAc,EACnBjjC,KAAKwiC,GAAGvhC,MAAQ,EAChBjB,KAAKuiC,eAAe6C,cAWhCJ,YAAa,WAEThlC,KAAK+a,OAAO8nB,UAAY7iC,KAAK+C,KAAKmiC,KAAKC,UAEnCnlC,KAAK+a,OAAO8nB,UAAY,GAExB7iC,KAAKoiC,gBAAgBgD,WACrBplC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,IAIZhE,KAAK+a,OAAO+nB,aAEZ9iC,KAAK+a,OAAOhX,EAAI/D,KAAK+C,KAAKsiC,IAAIC,OAAStlC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKrZ,MAAQ,EAAIoC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKrZ,OAGvHoC,KAAK+a,OAAOgoB,WAEZ/iC,KAAK+a,OAAO/W,EAAIhE,KAAK+C,KAAKsiC,IAAIC,OAAStlC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKpZ,OAAS,EAAImC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKpZ,UAWpI0nC,aAAc,WAEVvlC,KAAKyiC,gBAAgB1+B,EAAI/D,KAAKiX,KAAKlT,EAAI/D,KAAKgI,OAAOtG,cAAcqC,EACjE/D,KAAKyiC,gBAAgBz+B,EAAIhE,KAAKiX,KAAKjT,EAAIhE,KAAKgI,OAAOtG,cAAcsC,EAE7DhE,KAAK+hC,UAEL/hC,KAAK0iC,MAAQ1iC,KAAKyiC,gBAAgB1+B,EAAI/D,KAAKiX,KAAKlT,EAE5C/D,KAAK0iC,MAAQ1iC,KAAK+hC,SAASpO,KAE3B3zB,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAKyiC,KAAKtP,OAAOl2B,KAAKiX,KAAKlT,EAAG/D,KAAKyiC,gBAAgB1+B,EAAI/D,KAAK+hC,SAASpO,KAAM3zB,KAAKmiC,KAAKp+B,GAEnG/D,KAAK0iC,MAAQ1iC,KAAK+hC,SAASrO,QAEhC1zB,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAKyiC,KAAKtP,OAAOl2B,KAAKiX,KAAKlT,EAAG/D,KAAKyiC,gBAAgB1+B,EAAI/D,KAAK+hC,SAASrO,MAAO1zB,KAAKmiC,KAAKp+B,IAG7G/D,KAAK0iC,MAAQ1iC,KAAKyiC,gBAAgBz+B,EAAIhE,KAAKiX,KAAKjT,EAE5ChE,KAAK0iC,MAAQ1iC,KAAK+hC,SAAS1L,IAE3Br2B,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAKyiC,KAAKtP,OAAOl2B,KAAKiX,KAAKjT,EAAGhE,KAAKyiC,gBAAgBz+B,EAAIhE,KAAK+hC,SAAS1L,IAAKr2B,KAAKmiC,KAAKn+B,GAElGhE,KAAK0iC,MAAQ1iC,KAAK+hC,SAASzL,SAEhCt2B,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAKyiC,KAAKtP,OAAOl2B,KAAKiX,KAAKjT,EAAGhE,KAAKyiC,gBAAgBz+B,EAAIhE,KAAK+hC,SAASzL,OAAQt2B,KAAKmiC,KAAKn+B,MAK9GhE,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAKyiC,KAAKtP,OAAOl2B,KAAKiX,KAAKlT,EAAG/D,KAAKyiC,gBAAgB1+B,EAAI/D,KAAKiX,KAAK2f,UAAW52B,KAAKmiC,KAAKp+B,GACzG/D,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAKyiC,KAAKtP,OAAOl2B,KAAKiX,KAAKjT,EAAGhE,KAAKyiC,gBAAgBz+B,EAAIhE,KAAKiX,KAAK4f,WAAY72B,KAAKmiC,KAAKn+B,IAG1GhE,KAAK8E,QAEL9E,KAAKilC,cAGLjlC,KAAKgiC,SAELhiC,KAAKiX,KAAK4Y,QAGd7vB,KAAKib,cAAcra,SAASmD,GAAK/D,KAAKiX,KAAKlT,EAC3C/D,KAAKib,cAAcra,SAASoD,GAAKhE,KAAKiX,KAAKjT,GAQ/CyhC,iBAAkB,WAEVzlC,KAAK8E,QAEL9E,KAAK8E,OAAOuwB,SAASr1B,KAAK+C,KAAKE,MAAM6B,SAW7CmgC,YAAa,WAETjlC,KAAKiiC,QAAQl+B,GAAI,EACjB/D,KAAKiiC,QAAQj+B,GAAI,EAEjB,IAAI0hC,EAAK1lC,KAAKiX,KAAKlT,EAAI/D,KAAK+a,OAAOhX,EAC/B4hC,EAAK3lC,KAAKiX,KAAKyc,MAAQ1zB,KAAK+a,OAAOhX,EACnC6hC,EAAK5lC,KAAKiX,KAAKjT,EAAIhE,KAAK+a,OAAO/W,EAC/B6hC,EAAK7lC,KAAKiX,KAAKqf,OAASt2B,KAAK+a,OAAO/W,EAGpC0hC,GAAM1lC,KAAK8E,OAAOf,EAAI/D,KAAKc,MAAMiD,GAEjC/D,KAAKiiC,QAAQl+B,GAAI,EACjB/D,KAAKiX,KAAKlT,EAAI/D,KAAK8E,OAAOf,EAAI/D,KAAKc,MAAMiD,EAEpC/D,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAOhX,EAAI,IAGf4hC,GAAM3lC,KAAK8E,OAAO4uB,MAAQ1zB,KAAKc,MAAMiD,IAE1C/D,KAAKiiC,QAAQl+B,GAAI,EACjB/D,KAAKiX,KAAKlT,EAAK/D,KAAK8E,OAAO4uB,MAAQ1zB,KAAKc,MAAMiD,EAAK/D,KAAKpC,MAEnDoC,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAOhX,EAAI,IAIpB6hC,GAAM5lC,KAAK8E,OAAOuxB,IAAMr2B,KAAKc,MAAMkD,GAEnChE,KAAKiiC,QAAQj+B,GAAI,EACjBhE,KAAKiX,KAAKjT,EAAIhE,KAAK8E,OAAOuxB,IAAMr2B,KAAKc,MAAMkD,EAEtChE,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAO/W,EAAI,IAGf6hC,GAAM7lC,KAAK8E,OAAOwxB,OAASt2B,KAAKc,MAAMkD,IAE3ChE,KAAKiiC,QAAQj+B,GAAI,EACjBhE,KAAKiX,KAAKjT,EAAKhE,KAAK8E,OAAOwxB,OAASt2B,KAAKc,MAAMkD,EAAKhE,KAAKnC,OAEpDmC,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAO/W,EAAI,KAa5BogC,YAAa,SAAUrgC,EAAGC,GAEtBhE,KAAKiX,KAAKlT,EAAIA,EACd/D,KAAKiX,KAAKjT,EAAIA,EAEVhE,KAAK8E,QAEL9E,KAAKilC,eAWba,QAAS,SAAUloC,EAAOC,GAEtBmC,KAAKiX,KAAKrZ,MAAQA,EAClBoC,KAAKiX,KAAKpZ,OAASA,GAUvBkoC,MAAO,WAEH/lC,KAAKgI,OAAS,KAEdhI,KAAKiX,KAAKlT,EAAI,EACd/D,KAAKiX,KAAKjT,EAAI,EAEdhE,KAAK+a,OAAO8nB,SAAW,EACvB7iC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,EAEhBhE,KAAKgmC,WASTA,QAAS,WAEDhmC,KAAKwiC,KAELxiC,KAAKwiC,GAAG5nB,QACR5a,KAAKwiC,GAAGvhC,MAAQ,GAGpBjB,KAAKijC,YAAc,IAK3BzhC,EAAOsgC,OAAOx/B,UAAUC,YAAcf,EAAOsgC,OAO7C96B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,KAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKlT,GAGrBoD,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKlT,EAAIqD,EAEVpH,KAAK8E,QAEL9E,KAAKilC,iBAWjBj+B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,KAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKjT,GAGrBmD,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKjT,EAAIoD,EAEVpH,KAAK8E,QAEL9E,KAAKilC,iBAWjBj+B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,YAE3C4E,IAAK,WAID,OAFAlH,KAAK2iC,UAAUx7B,IAAInH,KAAKiX,KAAKlT,EAAG/D,KAAKiX,KAAKjT,GAEnChE,KAAK2iC,WAGhBx7B,IAAK,SAAUC,QAEY,IAAZA,EAAMrD,IAAqB/D,KAAKiX,KAAKlT,EAAIqD,EAAMrD,QACnC,IAAZqD,EAAMpD,IAAqBhE,KAAKiX,KAAKjT,EAAIoD,EAAMpD,GAEtDhE,KAAK8E,QAEL9E,KAAKilC,iBAWjBj+B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKrZ,OAGrBuJ,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKrZ,MAAQwJ,KAU1BJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKpZ,QAGrBsJ,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKpZ,OAASuJ,KAW3BJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,kBAE3C4E,IAAK,WAED,OAAOlH,KAAK+a,OAAO6nB,WAGvBz7B,IAAK,SAAUC,GAEXpH,KAAK+a,OAAO6nB,UAAYx7B,KAYhCJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,aAE3C4E,IAAK,WAID,OAFAlH,KAAKmjC,WAAW/N,MAAM,EAAG,EAAGp1B,KAAKiX,KAAKrZ,MAAOoC,KAAKiX,KAAKpZ,QAEhDmC,KAAKmjC,cAWpBn8B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,WAE3C4E,IAAK,WAED,OAAQlH,KAAK+D,EAAK,GAAM/D,KAAKpC,SAWrCoJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,WAE3C4E,IAAK,WAED,OAAQlH,KAAKgE,EAAK,GAAMhE,KAAKnC,UAmCrC2D,EAAOykC,MAAQ,WAKXjmC,KAAK+C,KAAO,KAKZ/C,KAAKgT,IAAM,GAKXhT,KAAKi5B,IAAM,KAKXj5B,KAAKkmC,KAAO,KAKZlmC,KAAK8a,OAAS,KAKd9a,KAAKga,MAAQ,KAKbha,KAAKmmC,MAAQ,KAKbnmC,KAAKomC,KAAO,KAKZpmC,KAAKwlC,KAAO,KAKZxlC,KAAKqmC,MAAQ,KAKbrmC,KAAKc,MAAQ,KAKbd,KAAKsa,MAAQ,KAKbta,KAAKsmC,MAAQ,KAKbtmC,KAAKklC,KAAO,KAKZllC,KAAKumC,OAAS,KAKdvmC,KAAKiD,MAAQ,KAKbjD,KAAKwmC,UAAY,KAKjBxmC,KAAKymC,QAAU,KAKfzmC,KAAKqlC,IAAM,MAGf7jC,EAAOykC,MAAM3jC,WAUToP,KAAM,aAYNg1B,QAAS,aAUTC,WAAY,aAWZC,WAAY,aAWZp+B,OAAQ,aAYRs8B,OAAQ,aAaR+B,WAAY,aAWZC,UAAW,aAYX3hC,OAAQ,aAWRgB,OAAQ,aAUR4gC,OAAQ,aAURC,QAAS,aAUTC,YAAa,aAUbC,SAAU,cAMd1lC,EAAOykC,MAAM3jC,UAAUC,YAAcf,EAAOykC,MAkB5CzkC,EAAO2lC,aAAe,SAAUpkC,EAAMqkC,GAKlCpnC,KAAK+C,KAAOA,EAKZ/C,KAAKqnC,UAMLrnC,KAAKsnC,cAAgB,UAEO,IAAjBF,GAAiD,OAAjBA,IAEvCpnC,KAAKsnC,cAAgBF,GAOzBpnC,KAAKunC,aAAc,EAMnBvnC,KAAKwnC,aAAc,EAMnBxnC,KAAKynC,UAAW,EAMhBznC,KAAK0nC,SAML1nC,KAAK2nC,QAAU,GAcf3nC,KAAK4nC,cAAgB,IAAIpmC,EAAO6gC,OAMhCriC,KAAK6nC,eAAiB,KAMtB7nC,KAAK8nC,kBAAoB,KAMzB9nC,KAAK+nC,iBAAmB,KAMxB/nC,KAAKgoC,iBAAmB,KAMxBhoC,KAAKioC,iBAAmB,KAMxBjoC,KAAKkoC,iBAAmB,KAMxBloC,KAAKmoC,oBAAsB,KAM3BnoC,KAAKooC,qBAAuB,KAM5BpoC,KAAKqoC,qBAAuB,KAM5BroC,KAAKsoC,iBAAmB,KAMxBtoC,KAAKuoC,kBAAoB,KAMzBvoC,KAAKwoC,sBAAwB,KAM7BxoC,KAAKyoC,mBAAqB,MAG9BjnC,EAAO2lC,aAAa7kC,WAOhBshC,KAAM,WAEF5jC,KAAK+C,KAAK2lC,QAAQzP,IAAIj5B,KAAK2oC,MAAO3oC,MAClCA,KAAK+C,KAAK6lC,SAAS3P,IAAIj5B,KAAK6oC,OAAQ7oC,MAET,OAAvBA,KAAKsnC,eAAwD,iBAAvBtnC,KAAKsnC,eAE3CtnC,KAAKi5B,IAAI,UAAWj5B,KAAKsnC,eAAe,IAqBhDrO,IAAK,SAAUjmB,EAAKszB,EAAOwC,QAELviC,IAAduiC,IAA2BA,GAAY,GAE3C,IAAIC,EA8BJ,OA5BIzC,aAAiB9kC,EAAOykC,MAExB8C,EAAWzC,EAEW,iBAAVA,GAEZyC,EAAWzC,GACFvjC,KAAO/C,KAAK+C,KAEC,mBAAVujC,IAEZyC,EAAW,IAAIzC,EAAMtmC,KAAK+C,OAG9B/C,KAAKqnC,OAAOr0B,GAAO+1B,EAEfD,IAEI9oC,KAAK+C,KAAKimC,SAEVhpC,KAAKsM,MAAM0G,GAIXhT,KAAKsnC,cAAgBt0B,GAItB+1B,GAQX5sB,OAAQ,SAAUnJ,GAEVhT,KAAK2nC,UAAY30B,IAEjBhT,KAAKipC,gBAAkB,KAEvBjpC,KAAK6nC,eAAiB,KACtB7nC,KAAKyoC,mBAAqB,KAE1BzoC,KAAK8nC,kBAAoB,KACzB9nC,KAAKqoC,qBAAuB,KAC5BroC,KAAKooC,qBAAuB,KAC5BpoC,KAAK+nC,iBAAmB,KACxB/nC,KAAKgoC,iBAAmB,KACxBhoC,KAAKmoC,oBAAsB,KAC3BnoC,KAAKioC,iBAAmB,KACxBjoC,KAAKkoC,iBAAmB,KACxBloC,KAAKsoC,iBAAmB,KACxBtoC,KAAKuoC,kBAAoB,KACzBvoC,KAAKwoC,sBAAwB,aAG1BxoC,KAAKqnC,OAAOr0B,IAYvB1G,MAAO,SAAU0G,EAAKk2B,EAAYC,QAEX5iC,IAAf2iC,IAA4BA,GAAa,QAC1B3iC,IAAf4iC,IAA4BA,GAAa,GAEzCnpC,KAAKopC,WAAWp2B,KAGhBhT,KAAKsnC,cAAgBt0B,EACrBhT,KAAKunC,YAAc2B,EACnBlpC,KAAKwnC,YAAc2B,EAEf7Y,UAAU3tB,OAAS,IAEnB3C,KAAK0nC,MAAQjgC,MAAMnF,UAAUwG,OAAOtE,KAAK8rB,UAAW,MAahE+Y,QAAS,SAAUH,EAAYC,QAER5iC,IAAf2iC,IAA4BA,GAAa,QAC1B3iC,IAAf4iC,IAA4BA,GAAa,GAG7CnpC,KAAKsnC,cAAgBtnC,KAAK2nC,QAC1B3nC,KAAKunC,YAAc2B,EACnBlpC,KAAKwnC,YAAc2B,EAEf7Y,UAAU3tB,OAAS,IAEnB3C,KAAK0nC,MAAQjgC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAS3DgZ,MAAO,aASP5kC,UAAW,WAEP,GAAI1E,KAAKsnC,eAAiBtnC,KAAK+C,KAAKimC,SACpC,CACI,IAAIO,EAAmBvpC,KAAK2nC,QAS5B,GANA3nC,KAAKwpC,oBAELxpC,KAAKypC,gBAAgBzpC,KAAKsnC,eAE1BtnC,KAAK4nC,cAAcxC,SAASplC,KAAK2nC,QAAS4B,GAEtCvpC,KAAK2nC,UAAY3nC,KAAKsnC,cAEtB,OAIAtnC,KAAKsnC,cAAgB,KAOrBtnC,KAAK8nC,mBAEL9nC,KAAK+C,KAAKqjC,KAAKL,OAAM,GACrB/lC,KAAK8nC,kBAAkBtjC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,MAGb,IAAtC/C,KAAK+C,KAAKqjC,KAAKsD,oBAAkE,IAAtC1pC,KAAK+C,KAAKqjC,KAAKuD,mBAE1D3pC,KAAK4pC,eAKL5pC,KAAK+C,KAAKqjC,KAAK95B,SAMnBtM,KAAK4pC,iBAWjBJ,kBAAmB,WAEXxpC,KAAK2nC,UAED3nC,KAAKyoC,oBAELzoC,KAAKyoC,mBAAmBjkC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,MAG5D/C,KAAK+C,KAAKwjC,OAAOsD,YAEjB7pC,KAAK+C,KAAK+X,OAAOirB,QAEjB/lC,KAAK+C,KAAKojC,MAAMJ,OAAM,GAEtB/lC,KAAK+C,KAAK0jC,QAAQ7rB,QAElB5a,KAAK+C,KAAKmiC,KAAK2E,YAEf7pC,KAAK+C,KAAKjC,MAAMilC,MAAM/lC,KAAKunC,aAEvBvnC,KAAK+C,KAAK+mC,OAEV9pC,KAAK+C,KAAK+mC,MAAM/D,QAGhB/lC,KAAKunC,cAELvnC,KAAK+C,KAAKE,MAAMikC,WAEZlnC,KAAKwnC,aAELxnC,KAAK+C,KAAKiX,MAAMxX,aAahC4mC,WAAY,SAAUp2B,GAElB,IAAIszB,EAAQtmC,KAAKqnC,OAAOr0B,GAExB,OAAIszB,KAEIA,EAAMI,SAAWJ,EAAM99B,QAAU89B,EAAMxB,QAAUwB,EAAMnhC,UAMvD7E,QAAQ+Z,KAAK,8HACN,IAKX/Z,QAAQ+Z,KAAK,sDAAwDrH,IAC9D,IAWf+2B,KAAM,SAAU/2B,GAEZ,IAAIszB,EAAQtmC,KAAKqnC,OAAOr0B,GAExBszB,EAAMvjC,KAAO/C,KAAK+C,KAClBujC,EAAMrN,IAAMj5B,KAAK+C,KAAKk2B,IACtBqN,EAAMJ,KAAOlmC,KAAK+C,KAAKmjC,KACvBI,EAAMxrB,OAAS9a,KAAK+C,KAAK+X,OACzBwrB,EAAMtsB,MAAQha,KAAK+C,KAAKiX,MACxBssB,EAAMH,MAAQnmC,KAAK+C,KAAKojC,MACxBG,EAAMF,KAAOpmC,KAAK+C,KAAKqjC,KACvBE,EAAMd,KAAOxlC,KAAK+C,KAAKyiC,KACvBc,EAAMD,MAAQrmC,KAAK+C,KAAKsjC,MACxBC,EAAMxlC,MAAQd,KAAK+C,KAAKjC,MACxBwlC,EAAMA,MAAQtmC,KACdsmC,EAAMhsB,MAAQta,KAAK+C,KAAKuX,MACxBgsB,EAAMpB,KAAOllC,KAAK+C,KAAKmiC,KACvBoB,EAAMC,OAASvmC,KAAK+C,KAAKwjC,OACzBD,EAAMrjC,MAAQjD,KAAK+C,KAAKE,MACxBqjC,EAAME,UAAYxmC,KAAK+C,KAAKyjC,UAC5BF,EAAMjB,IAAMrlC,KAAK+C,KAAKsiC,IACtBiB,EAAMG,QAAUzmC,KAAK+C,KAAK0jC,QAC1BH,EAAMtzB,IAAMA,GAUhBg3B,OAAQ,SAAUh3B,GAEd,IAAIszB,EAAQtmC,KAAKqnC,OAAOr0B,GAEpBszB,IAEAA,EAAMvjC,KAAO,KACbujC,EAAMrN,IAAM,KACZqN,EAAMJ,KAAO,KACbI,EAAMxrB,OAAS,KACfwrB,EAAMtsB,MAAQ,KACdssB,EAAMH,MAAQ,KACdG,EAAMF,KAAO,KACbE,EAAMd,KAAO,KACbc,EAAMD,MAAQ,KACdC,EAAMxlC,MAAQ,KACdwlC,EAAMA,MAAQ,KACdA,EAAMhsB,MAAQ,KACdgsB,EAAMpB,KAAO,KACboB,EAAMC,OAAS,KACfD,EAAMrjC,MAAQ,KACdqjC,EAAME,UAAY,KAClBF,EAAMjB,IAAM,KACZiB,EAAMG,QAAU,OAWxBgD,gBAAiB,SAAUz2B,GAEvB,IAAIszB,EAAQtmC,KAAKqnC,OAAOr0B,GAExBhT,KAAKipC,gBAAkB3C,EAEvBtmC,KAAK+pC,KAAK/2B,GAGVhT,KAAK6nC,eAAiBvB,EAAM50B,MAAQ1R,KAAKspC,MAEzCtpC,KAAK8nC,kBAAoBxB,EAAMI,SAAW,KAC1C1mC,KAAKqoC,qBAAuB/B,EAAMM,YAAc,KAChD5mC,KAAKooC,qBAAuB9B,EAAMK,YAAc,KAChD3mC,KAAK+nC,iBAAmBzB,EAAM99B,QAAU,KACxCxI,KAAKgoC,iBAAmB1B,EAAMxB,QAAU,KACxC9kC,KAAKiqC,qBAAuB3D,EAAMO,YAAc,KAChD7mC,KAAKmoC,oBAAsB7B,EAAMQ,WAAa,KAC9C9mC,KAAKioC,iBAAmB3B,EAAMnhC,QAAU,KACxCnF,KAAKkoC,iBAAmB5B,EAAMngC,QAAU,KACxCnG,KAAKsoC,iBAAmBhC,EAAMS,QAAU,KACxC/mC,KAAKuoC,kBAAoBjC,EAAMU,SAAW,KAC1ChnC,KAAKwoC,sBAAwBlC,EAAMW,aAAe,KAGlDjnC,KAAKyoC,mBAAqBnC,EAAMY,UAAYlnC,KAAKspC,MAG5B,KAAjBtpC,KAAK2nC,SAEL3nC,KAAK+C,KAAK0jC,QAAQV,QAGtB/lC,KAAK2nC,QAAU30B,EACfhT,KAAKynC,UAAW,EAGhBznC,KAAK6nC,eAAetiC,MAAMvF,KAAKipC,gBAAiBjpC,KAAK0nC,OAGjD10B,IAAQhT,KAAKsnC,gBAEbtnC,KAAK0nC,UAGT1nC,KAAK+C,KAAKmnC,YAAa,GAU3BC,gBAAiB,WAEb,OAAOnqC,KAAKqnC,OAAOrnC,KAAK2nC,UAQ5BiC,aAAc,YAEY,IAAlB5pC,KAAKynC,UAAsBznC,KAAK+nC,kBAEhC/nC,KAAKynC,UAAW,EAChBznC,KAAK+nC,iBAAiBvjC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAItD/C,KAAKynC,UAAW,GASxBd,WAAY,YAEc,IAAlB3mC,KAAKynC,UAAsBznC,KAAKooC,sBAEhCpoC,KAAKooC,qBAAqB5jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAQlE4lC,MAAO,WAEC3oC,KAAKynC,UAAYznC,KAAKsoC,kBAEtBtoC,KAAKsoC,iBAAiB9jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAQ9D8lC,OAAQ,WAEA7oC,KAAKynC,UAAYznC,KAAKuoC,mBAEtBvoC,KAAKuoC,kBAAkB/jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAQ/D+hC,OAAQ,WAEA9kC,KAAKynC,SAEDznC,KAAKgoC,kBAELhoC,KAAKgoC,iBAAiBxjC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,MAI1D/C,KAAKooC,sBAELpoC,KAAKooC,qBAAqB5jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAIlE8jC,WAAY,WAEJ7mC,KAAKynC,UAAYznC,KAAKiqC,sBAEtBjqC,KAAKiqC,qBAAqBzlC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAQlEkkC,YAAa,WAELjnC,KAAKynC,SAEDznC,KAAKwoC,uBAELxoC,KAAKwoC,sBAAsBhkC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,MAI/D/C,KAAKooC,sBAELpoC,KAAKooC,qBAAqB5jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OASlE+jC,UAAW,SAAUsD,GAEbpqC,KAAKynC,UAAYznC,KAAKmoC,qBAEtBnoC,KAAKmoC,oBAAoB3jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,KAAMqnC,IAQvEjkC,OAAQ,SAAUvI,EAAOC,GAEjBmC,KAAKkoC,kBAELloC,KAAKkoC,iBAAiB1jC,KAAKxE,KAAKipC,gBAAiBrrC,EAAOC,IAQhEsH,OAAQ,WAEAnF,KAAKynC,SAEDznC,KAAKioC,mBAEDjoC,KAAK+C,KAAKsnC,aAAe7oC,EAAO+nB,QAEhCvpB,KAAK+C,KAAK+K,QAAQoa,OAClBloB,KAAK+C,KAAK+K,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9C7O,KAAKioC,iBAAiBzjC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,MACtD/C,KAAK+C,KAAK+K,QAAQ0a,WAIlBxoB,KAAKioC,iBAAiBzjC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OAK9D/C,KAAKqoC,sBAELroC,KAAKqoC,qBAAqB7jC,KAAKxE,KAAKipC,gBAAiBjpC,KAAK+C,OASlEP,QAAS,WAELxC,KAAKunC,aAAc,EACnBvnC,KAAKwnC,aAAc,EAEnBxnC,KAAKwpC,oBAELxpC,KAAKipC,gBAAkB,KAEvBjpC,KAAK6nC,eAAiB,KACtB7nC,KAAKyoC,mBAAqB,KAE1BzoC,KAAK8nC,kBAAoB,KACzB9nC,KAAKqoC,qBAAuB,KAC5BroC,KAAKooC,qBAAuB,KAC5BpoC,KAAK+nC,iBAAmB,KACxB/nC,KAAKgoC,iBAAmB,KACxBhoC,KAAKiqC,qBAAuB,KAC5BjqC,KAAKioC,iBAAmB,KACxBjoC,KAAKsoC,iBAAmB,KACxBtoC,KAAKuoC,kBAAoB,KACzBvoC,KAAKwoC,sBAAwB,KAE7BxoC,KAAK+C,KAAO,KACZ/C,KAAKqnC,UACLrnC,KAAKsnC,cAAgB,KACrBtnC,KAAK2nC,QAAU,KAKvBnmC,EAAO2lC,aAAa7kC,UAAUC,YAAcf,EAAO2lC,aAOnDngC,OAAOyF,eAAejL,EAAO2lC,aAAa7kC,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAKynC,YAwEpBjmC,EAAO6gC,OAAS,aAEhB7gC,EAAO6gC,OAAO//B,WAMVgoC,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,mBAAbD,EAEP,MAAM,IAAI9hC,MAAM,kFAAkFurB,QAAQ,OAAQwW,KAa1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAU/a,GAEtE,IACIgb,EADAC,EAAYprC,KAAKqrC,iBAAiBR,EAAUI,GAGhD,IAAmB,IAAfG,GAIA,IAFAD,EAAUnrC,KAAKsqC,UAAUc,IAEbJ,WAAaA,EAErB,MAAM,IAAIjiC,MAAM,kBAAoBiiC,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,sEAK1GG,EAAU,IAAI3pC,EAAO8pC,cAActrC,KAAM6qC,EAAUG,EAAQC,EAAiBC,EAAU/a,GACtFnwB,KAAKurC,YAAYJ,GAQrB,OALInrC,KAAKwqC,UAAYxqC,KAAKuqC,aAEtBY,EAAQK,QAAQxrC,KAAKuqC,aAGlBY,GAQXI,YAAa,SAAUJ,GAEdnrC,KAAKsqC,YAENtqC,KAAKsqC,cAIT,IAAIjT,EAAIr3B,KAAKsqC,UAAU3nC,OAEvB,GAEI00B,UAEGr3B,KAAKsqC,UAAUjT,IAAM8T,EAAQM,WAAazrC,KAAKsqC,UAAUjT,GAAGoU,WAEnEzrC,KAAKsqC,UAAUxhC,OAAOuuB,EAAI,EAAG,EAAG8T,IAUpCE,iBAAkB,SAAUR,EAAU/8B,GAElC,IAAK9N,KAAKsqC,UAEN,OAAQ,OAGI/jC,IAAZuH,IAAyBA,EAAU,MAKvC,IAHA,IACI49B,EADArU,EAAIr3B,KAAKsqC,UAAU3nC,OAGhB00B,KAIH,IAFAqU,EAAM1rC,KAAKsqC,UAAUjT,IAEbsU,YAAcd,GAAYa,EAAI59B,UAAYA,EAE9C,OAAOupB,EAIf,OAAQ,GAWZuU,IAAK,SAAUf,EAAU/8B,GAErB,OAAqD,IAA9C9N,KAAKqrC,iBAAiBR,EAAU/8B,IA6B3CmrB,IAAK,SAAU4R,EAAUI,EAAiBC,GAEtClrC,KAAK4qC,iBAAiBC,EAAU,OAEhC,IAAI1a,KAEJ,GAAIG,UAAU3tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B,OAAO1C,KAAK+qC,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAU/a,IAgB9E0b,QAAS,SAAUhB,EAAUI,EAAiBC,GAE1ClrC,KAAK4qC,iBAAiBC,EAAU,WAEhC,IAAI1a,KAEJ,GAAIG,UAAU3tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B,OAAO1C,KAAK+qC,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAU/a,IAW7EhU,OAAQ,SAAU0uB,EAAU/8B,GAExB9N,KAAK4qC,iBAAiBC,EAAU,UAEhC,IAAInoC,EAAI1C,KAAKqrC,iBAAiBR,EAAU/8B,GAQxC,OANW,IAAPpL,IAEA1C,KAAKsqC,UAAU5nC,GAAGopC,WAClB9rC,KAAKsqC,UAAUxhC,OAAOpG,EAAG,IAGtBmoC,GASXhB,UAAW,SAAU/7B,GAIjB,QAFgBvH,IAAZuH,IAAyBA,EAAU,MAElC9N,KAAKsqC,UAAV,CAOA,IAFA,IAAIjT,EAAIr3B,KAAKsqC,UAAU3nC,OAEhB00B,KAECvpB,EAEI9N,KAAKsqC,UAAUjT,GAAGvpB,UAAYA,IAE9B9N,KAAKsqC,UAAUjT,GAAGyU,WAClB9rC,KAAKsqC,UAAUxhC,OAAOuuB,EAAG,IAK7Br3B,KAAKsqC,UAAUjT,GAAGyU,WAIrBh+B,IAED9N,KAAKsqC,UAAU3nC,OAAS,KAUhCopC,gBAAiB,WAEb,OAAO/rC,KAAKsqC,UAAYtqC,KAAKsqC,UAAU3nC,OAAS,GAWpDqpC,KAAM,WAEFhsC,KAAKyqC,kBAAmB,GAW5BrF,SAAU,WAEN,GAAKplC,KAAK0qC,SAAY1qC,KAAKsqC,WAActqC,KAAKwqC,UAA9C,CAKA,IAAIyB,EAAYxkC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,WAEvCtwB,KAAKwqC,WAELxqC,KAAKuqC,YAAc0B,GAGvB,IAAI5U,EAAIr3B,KAAKsqC,UAAYtqC,KAAKsqC,UAAU3nC,OAAS,EAEjD,GAAK00B,EAAL,CAMA,IAAI6U,EAAWlsC,KAAKsqC,UAAUta,QAC9BhwB,KAAKyqC,kBAAmB,EAMxB,GAEIpT,UAEG6U,EAAS7U,IAAMr3B,KAAKyqC,mBAAuD,IAAnCyB,EAAS7U,GAAGmU,QAAQS,OAQvEE,OAAQ,WAEAnsC,KAAKuqC,cAELvqC,KAAKuqC,YAAc,OAY3B6B,QAAS,WAELpsC,KAAK6pC,YAEL7pC,KAAKsqC,UAAY,KACbtqC,KAAKuqC,cAELvqC,KAAKuqC,YAAc,OAU3B3hB,SAAU,WAEN,MAAO,yBAA2B5oB,KAAK0qC,OAAS,iBAAmB1qC,KAAK+rC,kBAAoB,MAcpG/kC,OAAOyF,eAAejL,EAAO6gC,OAAO//B,UAAW,iBAE3C4E,IAAK,WAED,IAAImlC,EAAQrsC,KACZ,OAAOA,KAAK2qC,iBAAmB3qC,KAAK2qC,eAAiB,WAEjD,OAAO0B,EAAMjH,SAAS7/B,MAAM8mC,EAAO/b,gBAM/C9uB,EAAO6gC,OAAO//B,UAAUC,YAAcf,EAAO6gC,OAuB7C7gC,EAAO8pC,cAAgB,SAAUgB,EAAQzB,EAAUG,EAAQC,EAAiBC,EAAU/a,GAMlFnwB,KAAK2rC,UAAYd,EAEbG,IAEAhrC,KAAKusC,SAAU,GAGI,MAAnBtB,IAEAjrC,KAAK8N,QAAUm9B,GAOnBjrC,KAAKwsC,QAAUF,EAEXpB,IAEAlrC,KAAKyrC,UAAYP,GAGjB/a,GAAQA,EAAKxtB,SAEb3C,KAAK0nC,MAAQvX,IAIrB3uB,EAAO8pC,cAAchpC,WAKjBwL,QAAS,KAMTy+B,SAAS,EAMTd,UAAW,EAMX/D,MAAO,KAKP+E,UAAW,EAOX/B,QAAQ,EAORgC,OAAQ,KASRlB,QAAS,SAAUS,GAEf,IAAIU,EAAeD,EAqBnB,OAnBI1sC,KAAK0qC,QAAY1qC,KAAK2rC,YAEtBe,EAAS1sC,KAAK0sC,OAAS1sC,KAAK0sC,OAAOrc,OAAO4b,GAAaA,EAEnDjsC,KAAK0nC,QAELgF,EAASA,EAAOrc,OAAOrwB,KAAK0nC,QAGhCiF,EAAgB3sC,KAAK2rC,UAAUpmC,MAAMvF,KAAK8N,QAAS4+B,GAEnD1sC,KAAKysC,YAEDzsC,KAAKusC,SAELvsC,KAAK4sC,UAIND,GASXC,OAAQ,WAEJ,OAAO5sC,KAAK6sC,UAAY7sC,KAAKwsC,QAAQrwB,OAAOnc,KAAK2rC,UAAW3rC,KAAK8N,SAAW,MAOhF++B,QAAS,WAEL,QAAU7sC,KAAKwsC,WAAaxsC,KAAK2rC,WAOrCX,OAAQ,WAEJ,OAAOhrC,KAAKusC,SAOhBO,YAAa,WAET,OAAO9sC,KAAK2rC,WAOhBoB,UAAW,WAEP,OAAO/sC,KAAKwsC,SAQhBV,SAAU,kBAEC9rC,KAAKwsC,eACLxsC,KAAK2rC,iBACL3rC,KAAK8N,SAOhB8a,SAAU,WAEN,MAAO,gCAAkC5oB,KAAKusC,QAAU,aAAevsC,KAAK6sC,UAAY,YAAc7sC,KAAK0qC,OAAS,MAK5HlpC,EAAO8pC,cAAchpC,UAAUC,YAAcf,EAAO8pC,cAoCpD9pC,EAAOwhB,OAAS,SAAUjgB,EAAMkQ,EAAUxC,GAKtCzQ,KAAK+C,KAAOA,EAMZ/C,KAAKwT,KAAOhS,EAAOyrB,aAQnBjtB,KAAK2H,QAAW3H,MAMhBA,KAAK8iB,WAML9iB,KAAKwR,OAAQ,EAMbxR,KAAKwmB,QAAU,EAKfxmB,KAAKgtC,UAAY,IAAIxrC,EAAOX,MAM5B,IAAIwC,EAAI,IAAI4pC,KAoBZ,GAfAjtC,KAAKiT,UAEDrO,YAAc4O,KAAM,KAAMpM,OAASrD,EAAG,IAAKC,EAAG,MAC9CkhC,MAAQ1xB,KAAM,KAAMpM,MAAO,GAC3B8lC,OAAS15B,KAAM,KAAMpM,OAASrD,EAAG,EAAKC,EAAG,IACzCmpC,MAAQ35B,KAAM,MAAOpM,OAAS/D,EAAE+pC,cAAe/pC,EAAEgqC,WAAYhqC,EAAEiqC,UAA0B,GAAfjqC,EAAEkqC,WAAkB,GAAsB,GAAjBlqC,EAAEmqC,aAAoBnqC,EAAEoqC,eAC3HC,YAAcl6B,KAAM,KAAMpM,MAAO,OACjCumC,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,IACpEm5B,WAAat6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,KAKpE1B,EAEA,IAAK,IAAID,KAAOC,EAEZjT,KAAKiT,SAASD,GAAOC,EAASD,GAKX,iBAAhBvC,IAEPA,EAAcA,EAAYohB,MAAM,OAMpC7xB,KAAKyQ,YAAcA,OAGvBjP,EAAOwhB,OAAO1gB,WAOVoP,KAAM,aAcNq8B,cAAe,SAAUnwC,EAAOC,GAE5BmC,KAAKiT,SAASrO,WAAWwC,MAAMrD,EAAInG,EACnCoC,KAAKiT,SAASrO,WAAWwC,MAAMpD,EAAInG,GASvCinC,OAAQ,SAAUkJ,GAEd,GAAIA,EACJ,CACI,IAAIjqC,EAAIiqC,EAAQjqC,EAAI/D,KAAK+C,KAAKnF,MAC1BoG,EAAI,EAAIgqC,EAAQhqC,EAAIhE,KAAK+C,KAAKlF,OAE9BkG,IAAM/D,KAAKgtC,UAAUjpC,GAAKC,IAAMhE,KAAKgtC,UAAUhpC,IAE/ChE,KAAKiT,SAASi6B,MAAM9lC,MAAMrD,EAAIA,EAAEkqC,QAAQ,GACxCjuC,KAAKiT,SAASi6B,MAAM9lC,MAAMpD,EAAIA,EAAEiqC,QAAQ,GACxCjuC,KAAKgtC,UAAU7lC,IAAIpD,EAAGC,IAI9BhE,KAAKiT,SAASiyB,KAAK99B,MAAQpH,KAAK+C,KAAKmiC,KAAKgJ,uBAqB9CC,WAAY,SAAUpqC,EAAGC,EAAGpG,EAAOC,EAAQuwC,EAASC,QAEhC9nC,IAAZ6nC,IAAyBA,EAAU,QACvB7nC,IAAZ8nC,IAAyBA,EAAU,QAEzB9nC,IAAV3I,GAAiC,OAAVA,EAEvBoC,KAAKpC,MAAQA,EAIbA,EAAQoC,KAAKpC,WAGF2I,IAAX1I,GAAmC,OAAXA,EAExBmC,KAAKnC,OAASA,EAIdA,EAASmC,KAAKnC,OAGlB,IAAIqc,EAAQla,KAAK+C,KAAKk2B,IAAI/e,MAAMnW,EAAGC,EAAGxC,EAAO8sC,MAAM5mB,SASnD,OAPAxN,EAAMtc,MAAQA,EACdsc,EAAMrc,OAASA,EAEfqc,EAAMvT,OAAOQ,IAAIinC,EAASC,GAE1Bn0B,EAAMxT,SAAY1G,MAEXka,GAQXhF,aAAc,WAEV,IAAK,IAAIxS,EAAI,EAAGA,EAAI1C,KAAK8iB,QAAQngB,OAAQD,IAErC1C,KAAK8iB,QAAQpgB,GAAG8O,OAAQ,GAShChP,QAAS,WAELxC,KAAK2H,OAAOhF,OAAS,EACrB3C,KAAK8iB,QAAQngB,OAAS,EACtB3C,KAAKyQ,YAAY9N,OAAS,EAE1B3C,KAAK+C,KAAO,KACZ/C,KAAKiT,SAAW,KAChBjT,KAAKgtC,UAAY,OAKzBxrC,EAAOwhB,OAAO1gB,UAAUC,YAAcf,EAAOwhB,OAM7Chc,OAAOyF,eAAejL,EAAOwhB,OAAO1gB,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAKiT,SAASrO,WAAWwC,MAAMrD,GAG1CoD,IAAK,SAAUC,GAEXpH,KAAKiT,SAASrO,WAAWwC,MAAMrD,EAAIqD,KAS3CJ,OAAOyF,eAAejL,EAAOwhB,OAAO1gB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKiT,SAASrO,WAAWwC,MAAMpD,GAG1CmD,IAAK,SAAUC,GAEXpH,KAAKiT,SAASrO,WAAWwC,MAAMpD,EAAIoD,KA+B3C5F,EAAO+sC,OAAS,SAAUxrC,EAAM1B,QAEbkF,IAAXlF,IAAwBA,EAAS,MAKrCrB,KAAK+C,KAAOA,EAKZ/C,KAAKqB,OAASA,EAMdrB,KAAK0qC,QAAS,EAMd1qC,KAAKkB,SAAU,EAMflB,KAAKwuC,cAAe,EAMpBxuC,KAAKyuC,WAAY,EAMjBzuC,KAAK0uC,eAAgB,EAMrB1uC,KAAK2uC,WAAY,EAMjB3uC,KAAK4uC,eAAgB,GAGzBptC,EAAO+sC,OAAOjsC,WAOVoC,UAAW,aASXogC,OAAQ,aASR3/B,OAAQ,aASR0pC,WAAY,aAQZrsC,QAAS,WAELxC,KAAK+C,KAAO,KACZ/C,KAAKqB,OAAS,KACdrB,KAAK0qC,QAAS,EACd1qC,KAAKkB,SAAU,IAKvBM,EAAO+sC,OAAOjsC,UAAUC,YAAcf,EAAO+sC,OAiB7C/sC,EAAOstC,cAAgB,SAAU/rC,GAK7B/C,KAAK+C,KAAOA,EAKZ/C,KAAK+uC,WAML/uC,KAAKgvC,KAAO,EAMZhvC,KAAKivC,GAAK,GAGdztC,EAAOstC,cAAcxsC,WAWjB22B,IAAK,SAAUiW,GAEX,IAAI/e,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAC7CsI,GAAS,EA6Cb,MA1CsB,mBAAXsW,EAEPA,EAAS,IAAIA,EAAOlvC,KAAK+C,KAAM/C,OAI/BkvC,EAAOnsC,KAAO/C,KAAK+C,KACnBmsC,EAAO7tC,OAASrB,MAIY,mBAArBkvC,EAAOxqC,YAEdwqC,EAAOV,cAAe,EACtB5V,GAAS,GAGgB,mBAAlBsW,EAAOpK,SAEdoK,EAAOT,WAAY,EACnB7V,GAAS,GAGoB,mBAAtBsW,EAAOrI,aAEdqI,EAAOR,eAAgB,EACvB9V,GAAS,GAGgB,mBAAlBsW,EAAO/pC,SAEd+pC,EAAOP,WAAY,EACnB/V,GAAS,GAGoB,mBAAtBsW,EAAOL,aAEdK,EAAON,eAAgB,EACvBhW,GAAS,GAITA,IAEIsW,EAAOV,cAAgBU,EAAOT,WAAaS,EAAOR,iBAElDQ,EAAOxE,QAAS,IAGhBwE,EAAOP,WAAaO,EAAON,iBAE3BM,EAAOhuC,SAAU,GAGrBlB,KAAKgvC,KAAOhvC,KAAK+uC,QAAQjnC,KAAKonC,GAGH,mBAAhBA,EAAOx9B,MAEdw9B,EAAOx9B,KAAKnM,MAAM2pC,EAAQ/e,GAGvB+e,GAIA,MAWf/yB,OAAQ,SAAU+yB,EAAQ1sC,GAMtB,SAJgB+D,IAAZ/D,IAAyBA,GAAU,GAEvCxC,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAER,GAAIjvC,KAAK+uC,QAAQ/uC,KAAKivC,MAAQC,EAS1B,OAPI1sC,GAEA0sC,EAAO1sC,UAGXxC,KAAK+uC,QAAQjmC,OAAO9I,KAAKivC,GAAI,QAC7BjvC,KAAKgvC,QAWjBnF,UAAW,WAIP,IAFA7pC,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAERjvC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIzsC,UAG1BxC,KAAK+uC,QAAQpsC,OAAS,EACtB3C,KAAKgvC,KAAO,GAShBtqC,UAAW,WAIP,IAFA1E,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAEJjvC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIvE,QAAU1qC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIT,cAEtDxuC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIvqC,aAWlCogC,OAAQ,WAIJ,IAFA9kC,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAEJjvC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIvE,QAAU1qC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIR,WAEtDzuC,KAAK+uC,QAAQ/uC,KAAKivC,IAAInK,UAYlC+B,WAAY,WAIR,IAFA7mC,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAEJjvC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIvE,QAAU1qC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIP,eAEtD1uC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIpI,cAWlC1hC,OAAQ,WAIJ,IAFAnF,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAEJjvC,KAAK+uC,QAAQ/uC,KAAKivC,IAAI/tC,SAAWlB,KAAK+uC,QAAQ/uC,KAAKivC,IAAIN,WAEvD3uC,KAAK+uC,QAAQ/uC,KAAKivC,IAAI9pC,UAWlC0pC,WAAY,WAIR,IAFA7uC,KAAKivC,GAAKjvC,KAAKgvC,KAERhvC,KAAKivC,MAEJjvC,KAAK+uC,QAAQ/uC,KAAKivC,IAAI/tC,SAAWlB,KAAK+uC,QAAQ/uC,KAAKivC,IAAIL,eAEvD5uC,KAAK+uC,QAAQ/uC,KAAKivC,IAAIJ,cAUlCrsC,QAAS,WAELxC,KAAK6pC,YAEL7pC,KAAK+C,KAAO,OAKpBvB,EAAOstC,cAAcxsC,UAAUC,YAAcf,EAAOstC,cAiBpDttC,EAAO2tC,MAAQ,SAAUpsC,GAKrB/C,KAAK+C,KAAOA,EAEZvE,KAAK8J,uBAAuB9D,KAAKxE,MAMjCA,KAAKgyB,KAAO,cAWZhyB,KAAKovC,yBAA0B,EAM/BpvC,KAAKkN,QAAS,EAOdlN,KAAKuB,eAAiB,IAAIC,EAAOC,OAOjCzB,KAAKsa,MAAQta,KAKbA,KAAKqvC,qBAAuB,EAM5BrvC,KAAKsvC,WAAa,SAMlBtvC,KAAKuvC,UAAY,KAMjBvvC,KAAK0a,UAAaxW,EAAG,EAAGyW,EAAG,EAAGxX,EAAG,EAAGD,EAAG,EAAGmT,MAAO,EAAGyT,KAAM,WAErD9pB,KAAK+C,KAAK6T,cAGX5W,KAAK0a,SAASxX,EAAI,GAGlBH,EAAKyT,QAELxW,KAAKwvC,YAAYzsC,EAAKyT,SAI9BhV,EAAO2tC,MAAM7sC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACnEd,EAAO2tC,MAAM7sC,UAAUC,YAAcf,EAAO2tC,MAS5C3tC,EAAO2tC,MAAM7sC,UAAUktC,YAAc,SAAUh5B,GAEvCA,EAAO44B,0BAEPpvC,KAAKovC,wBAA0B54B,EAAO44B,yBAGtC54B,EAAOi5B,iBAEPzvC,KAAK0vC,mBAAmBl5B,EAAOi5B,kBASvCjuC,EAAO2tC,MAAM7sC,UAAUshC,KAAO,WAE1BpiC,EAAOmuC,IAAIC,UAAU5vC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE5CjW,EAAOioB,OAAOomB,cAAc7vC,KAAK+C,KAAKmU,OAAQ,QAC9C1V,EAAOioB,OAAOqmB,eAAe9vC,KAAK+C,KAAKmU,OAAQ,QAE/ClX,KAAK+vC,mBASTvuC,EAAO2tC,MAAM7sC,UAAUoC,UAAY,WAE/B1E,KAAKqvC,qBAAuB,EAK5B,IAFA,IAAI3sC,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,MAUZlB,EAAO2tC,MAAM7sC,UAAUwiC,OAAS,WAK5B,IAFA,IAAIpiC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGoiC,UAWzBtjC,EAAO2tC,MAAM7sC,UAAUukC,WAAa,WAGhC7mC,KAAK+C,KAAK+X,OAAOgqB,SAGb9kC,KAAK+C,KAAK+X,OAAO9S,SAEjBhI,KAAK+C,KAAK+X,OAAO9S,OAAO6+B,aAExB7mC,KAAK8C,kBAEL9C,KAAK+C,KAAK+X,OAAOyqB,gBAGrB,IAAK,IAAI7iC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGmkC,aAGrB7mC,KAAK8C,mBASTtB,EAAO2tC,MAAM7sC,UAAUQ,gBAAkB,WAErC9C,KAAKsB,WAAa,EAElB,IAAK,IAAIoB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,mBAUzBtB,EAAO2tC,MAAM7sC,UAAUytC,gBAAkB,gBAEbxpC,IAApBypC,SAASC,OAETjwC,KAAKsvC,WAAa,wBAEa/oC,IAA1BypC,SAASE,aAEdlwC,KAAKsvC,WAAa,8BAEU/oC,IAAvBypC,SAASG,UAEdnwC,KAAKsvC,WAAa,2BAES/oC,IAAtBypC,SAASI,SAEdpwC,KAAKsvC,WAAa,qBAIlBtvC,KAAKsvC,WAAa,KAGtB,IAAIjD,EAAQrsC,KAEZA,KAAKuvC,UAAY,SAAUc,GAEvB,OAAOhE,EAAMiE,iBAAiBD,IAGlCrwC,KAAKuwC,eAAiB,WAElB,OAAOlE,EAAMkD,WAAY/7B,KAAM,WAGnCxT,KAAKwwC,gBAAkB,WAEnB,OAAOnE,EAAMkD,WAAY/7B,KAAM,YAGnCxT,KAAKywC,SAAW,SAAUJ,QAEK9pC,IAAtBypC,SAASU,UAA4BV,SAASU,YAE/CrE,EAAMiE,iBAAiBD,IAK3BrwC,KAAKsvC,YAELU,SAASW,iBAAiB3wC,KAAKsvC,WAAYtvC,KAAKuvC,WAAW,GAG/Dn/B,OAAOwgC,OAAS5wC,KAAKuvC,UACrBn/B,OAAOygC,QAAU7wC,KAAKuvC,UAEtBn/B,OAAO0gC,WAAa9wC,KAAKuvC,UACzBn/B,OAAO2gC,WAAa/wC,KAAKuvC,UAEzBn/B,OAAOugC,iBAAiB,QAAS3wC,KAAKywC,UAElCzwC,KAAK+C,KAAKknB,OAAO+mB,aAAeC,SAASC,MAErCD,SAASC,IAAIC,aAEbF,SAASC,IAAIC,YAAYR,iBAAiB3wC,KAAKuwC,gBAG/CU,SAASC,IAAIE,aAEbH,SAASC,IAAIE,YAAYT,iBAAiB3wC,KAAKwwC,iBAG/CS,SAASC,IAAIG,KAEbJ,SAASC,IAAIG,GAAG,YAAarxC,KAAKwwC,iBAClCS,SAASC,IAAIG,GAAG,YAAarxC,KAAKuwC,mBAgB9C/uC,EAAO2tC,MAAM7sC,UAAUguC,iBAAmB,SAAUD,GAIhD,OAAQA,EAAM78B,MAEV,IAAK,OACL,IAAK,WAED,YADAxT,KAAK+C,KAAKuuC,UAAUjB,GAExB,IAAK,QACL,IAAK,QACL,IAAK,WAED,YADArwC,KAAK+C,KAAKwuC,UAAUlB,GAIxBrwC,KAAKovC,0BAKLY,SAASC,QAAUD,SAASG,WAAaH,SAASI,UAAYJ,SAASE,cAA+B,UAAfG,EAAM78B,KAE7FxT,KAAK+C,KAAKyuC,WAAWnB,GAIrBrwC,KAAK+C,KAAK0uC,YAAYpB,KAkB9B7uC,EAAO2tC,MAAM7sC,UAAUotC,mBAAqB,SAAUr5B,GAE9CrW,KAAK+C,KAAK6T,cAEdpV,EAAO2e,MAAMuxB,aAAar7B,EAAOrW,KAAK0a,UACtClZ,EAAO2e,MAAMwxB,YAAY3xC,KAAK0a,UAG9B1a,KAAK0a,SAASxW,GAAK,IACnBlE,KAAK0a,SAASC,GAAK,IACnB3a,KAAK0a,SAASvX,GAAK,IACnBnD,KAAK0a,SAASxX,EAAI,IAQtB1B,EAAO2tC,MAAM7sC,UAAUE,QAAU,WAEzBxC,KAAKsvC,YAELU,SAAS4B,oBAAoB5xC,KAAKsvC,WAAYtvC,KAAKuvC,WAAW,GAGlEn/B,OAAO0gC,WAAa,KACpB1gC,OAAO2gC,WAAa,KAEpB3gC,OAAOwgC,OAAS,KAChBxgC,OAAOygC,QAAU,KAEjBzgC,OAAOwhC,oBAAoB,QAAS5xC,KAAKywC,WAkB7CjvC,EAAO2tC,MAAM7sC,UAAU22B,IAAM,SAAUvwB,EAAOmpC,EAAQjpC,GAElD,OAAIF,EAAMrH,SAAWrB,KAEV0I,GAGPA,EAAMopC,MAAQppC,EAAMrH,QAAUqH,EAAMrH,OAAO0wC,MAE3CrpC,EAAMrH,OAAO2wC,eAAetpC,QAGlBnC,IAAVqC,EAEA5I,KAAKyI,SAASC,GAId1I,KAAK2I,WAAWD,EAAOE,GAGpBF,IAQX1B,OAAOyF,eAAejL,EAAO2tC,MAAM7sC,UAAW,mBAE1C4E,IAAK,WAED,OAAOlH,KAAK0a,SAASrE,OAGzBlP,IAAK,SAAUkP,GAEXrW,KAAK0vC,mBAAmBr5B,MAWhCrP,OAAOyF,eAAejL,EAAO2tC,MAAM7sC,UAAW,YAE1C4E,IAAK,WAED,OAAO1I,KAAKC,WAAWipB,UAAYlpB,KAAKC,WAAWC,QAGvDyI,IAAK,SAAUC,GAIP5I,KAAKC,WAAWipB,QAFhBtgB,EAE0B5I,KAAKC,WAAWC,OAIhBF,KAAKC,WAAWE,WAgCtD6C,EAAOywC,MAAQ,SAAUlvC,EAAM1B,EAAQ2wB,EAAMkgB,EAAYC,EAAYC,QAE9C7rC,IAAf2rC,IAA4BA,GAAa,QAC1B3rC,IAAf4rC,IAA4BA,GAAa,QACrB5rC,IAApB6rC,IAAiCA,EAAkB5wC,EAAO6wC,QAAQC,QAOtEtyC,KAAK+C,KAAOA,OAEGwD,IAAXlF,IAEAA,EAAS0B,EAAKE,OAOlBjD,KAAKgyB,KAAOA,GAAQ,QAQpBhyB,KAAKoV,EAAI,EAET5W,KAAK8J,uBAAuB9D,KAAKxE,MAE7BkyC,GAEAlyC,KAAK+C,KAAKuX,MAAM7R,SAASzI,MACzBA,KAAKoV,EAAIpV,KAAK+C,KAAKuX,MAAM7X,SAASE,QAGlCtB,IAEAA,EAAOoH,SAASzI,MAChBA,KAAKoV,EAAI/T,EAAOoB,SAASE,QAQ7B3C,KAAKwT,KAAOhS,EAAOirB,MAMnBzsB,KAAKuyC,YAAc/wC,EAAOirB,MAO1BzsB,KAAKwyC,OAAQ,EAObxyC,KAAKkN,QAAS,EAOdlN,KAAKyyC,eAAgB,EAYrBzyC,KAAK0yC,gBAAiB,EAUtB1yC,KAAK2yC,UAAYnxC,EAAOsE,OAQxB9F,KAAK4yC,OAAS,KAWd5yC,KAAK6yC,qBAAsB,EAQ3B7yC,KAAK8yC,4BAA6B,EAYlC9yC,KAAK+yC,iBAAmB,IAAIvxC,EAAO6gC,OAanCriC,KAAKgzC,eAAiB,IAAIxxC,EAAO6gC,OAYjCriC,KAAKizC,iBAAmB,IAAIzxC,EAAO6gC,OAYnCriC,KAAKkzC,gBAAkB,IAAI1xC,EAAO6gC,OAUlCriC,KAAKmyC,WAAaA,EASlBnyC,KAAKmzC,iBAAkB,EAQvBnzC,KAAKoyC,gBAAkBA,EAkBvBpyC,KAAKozC,qBAAuB,KAM5BpzC,KAAKqzC,UAAY,IAAI7xC,EAAO6gC,OAM5BriC,KAAKszC,YAAc,EAUnBtzC,KAAKuzC,eAAgB,EAOrBvzC,KAAKwzC,aAAe,IAAIhyC,EAAOX,MAa/Bb,KAAK+xC,QAOL/xC,KAAKyzC,cAAgB,KAGzBjyC,EAAOywC,MAAM3vC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACnEd,EAAOywC,MAAM3vC,UAAUC,YAAcf,EAAOywC,MAO5CzwC,EAAOywC,MAAMyB,YAAc,EAO3BlyC,EAAOywC,MAAM0B,aAAe,EAO5BnyC,EAAOywC,MAAM2B,aAAe,EAO5BpyC,EAAOywC,MAAM4B,WAAa,EAO1BryC,EAAOywC,MAAM6B,gBAAkB,EAO/BtyC,EAAOywC,MAAM8B,gBAAkB,EAwB/BvyC,EAAOywC,MAAM3vC,UAAU22B,IAAM,SAAUvwB,EAAOmpC,EAAQjpC,GAIlD,YAFerC,IAAXsrC,IAAwBA,GAAS,GAEjCnpC,EAAMrH,SAAWrB,KAEV0I,GAGPA,EAAMopC,MAAQppC,EAAMrH,QAAUqH,EAAMrH,OAAO0wC,MAE3CrpC,EAAMrH,OAAO2wC,eAAetpC,QAGlBnC,IAAVqC,GAEAF,EAAM0M,EAAIpV,KAAKyC,SAASE,OAExB3C,KAAKyI,SAASC,KAId1I,KAAK2I,WAAWD,EAAOE,GAEvB5I,KAAKg0C,WAGLh0C,KAAKmyC,YAAczpC,EAAM2oB,eAAe,SAA0B,OAAf3oB,EAAMopC,KAEzD9xC,KAAK+C,KAAK0jC,QAAQztB,OAAOtQ,EAAO1I,KAAKoyC,iBAEhC1pC,EAAMopC,MAEX9xC,KAAKi0C,UAAUvrC,IAGf1I,KAAK6yC,qBAAyBnqC,EAAMy9B,QAASz9B,EAAMwrC,eAEnDxrC,EAAMwrC,cAAe,IAGpBrC,GAAUnpC,EAAMyrC,QAEjBzrC,EAAMyrC,OAAOC,wBAAwB1rC,EAAO1I,MAG5B,OAAhBA,KAAK4yC,SAEL5yC,KAAK4yC,OAASlqC,GAGXA,IAkBXlH,EAAOywC,MAAM3vC,UAAU+xC,MAAQ,SAAU3rC,EAAOE,EAAOipC,GAEnD,OAAO7xC,KAAKi5B,IAAIvwB,EAAOmpC,EAAQjpC,IAWnCpH,EAAOywC,MAAM3vC,UAAU2xC,UAAY,SAAUvrC,GAEzC,OAAIA,EAAMrH,SAAWrB,OAIF,IAFHA,KAAK+xC,KAAK1oC,QAAQX,KAI1B1I,KAAK+xC,KAAKjqC,KAAKY,IACR,IAenBlH,EAAOywC,MAAM3vC,UAAU0vC,eAAiB,SAAUtpC,GAE9C,GAAIA,EACJ,CACI,IAAIE,EAAQ5I,KAAK+xC,KAAK1oC,QAAQX,GAE9B,IAAe,IAAXE,EAGA,OADA5I,KAAK+xC,KAAKjpC,OAAOF,EAAO,IACjB,EAIf,OAAO,GAoBXpH,EAAOywC,MAAM3vC,UAAUgyC,YAAc,SAAU7xC,EAAUovC,GAErD,GAAIpvC,aAAoBjB,EAAOywC,MAE3BxvC,EAAS8xC,QAAQv0C,KAAM6xC,QAEtB,GAAIpqC,MAAMC,QAAQjF,GAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAASE,OAAQD,IAEjC1C,KAAKi5B,IAAIx2B,EAASC,GAAImvC,GAI9B,OAAOpvC,GAUXjB,EAAOywC,MAAM3vC,UAAUkyC,MAAQ,SAAU5rC,GAErC,OAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,QAE5B,EAID3C,KAAKwJ,WAAWZ,IA2B/BpH,EAAOywC,MAAM3vC,UAAUkG,OAAS,SAAUzE,EAAGC,EAAGgP,EAAK3F,EAAOH,EAAQtE,QAEjDrC,IAAX2G,IAAwBA,GAAS,GAErC,IAAIxE,EAAQ,IAAI1I,KAAK2yC,UAAU3yC,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,GAMrD,OAJA3E,EAAMwE,OAASA,EACfxE,EAAMxH,QAAUgM,EAChBxE,EAAM8pC,MAAQtlC,EAEPlN,KAAKi5B,IAAIvwB,GAAO,EAAOE,IAoDlCpH,EAAOywC,MAAM3vC,UAAUmyC,eAAiB,SAAUC,EAAU1hC,EAAK3F,EAAOH,EAAQynC,EAAU1L,QAExE1iC,IAAV8G,IAAuBA,EAAQ,QACpB9G,IAAX2G,IAAwBA,GAAS,GAEhCzF,MAAMC,QAAQsL,KAEfA,GAAQA,IAGPvL,MAAMC,QAAQ2F,KAEfA,GAAUA,IAGd,IAAIg/B,EAAQrsC,KACRyC,KAiBJ,OAfAuQ,EAAI2d,QAAQ,SAAUikB,GAElBvnC,EAAMsjB,QAAQ,SAAUkkB,GAEpB,IAAK,IAAInyC,EAAI,EAAGA,EAAIgyC,EAAUhyC,IAC9B,CACI,IAAIgG,EAAQ2jC,EAAM7jC,OAAO,EAAG,EAAGosC,EAAWC,EAAa3nC,GAEnDynC,GAAYA,EAASnwC,KAAKykC,GAAmBvgC,EAAOA,EAAOhG,GAE/DD,EAASqF,KAAKY,QAKnBjG,GAWXjB,EAAOywC,MAAM3vC,UAAU0xC,QAAU,WAI7B,IAFA,IAAItxC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAG0S,EAAI1S,GAwD7BlB,EAAOywC,MAAM3vC,UAAUwyC,MAAQ,SAAUl3C,EAAOC,EAAQk3C,EAAWC,EAAYp0C,EAAU6W,GAKrF,QAHiBlR,IAAb3F,IAA0BA,EAAWY,EAAOotB,eACjCroB,IAAXkR,IAAwBA,EAAS,GAER,IAAzBzX,KAAKyC,SAASE,QAAgB8U,EAASzX,KAAKyC,SAASE,SAAsB,IAAX/E,IAA4B,IAAZC,EAEhF,OAAO,EAOX,IAAK,IAJDqG,EAAI,IAAI1C,EAAOS,UAAU,EAAG,EAAG8yC,EAAWC,GAC1C3/B,EAAKzX,EAAQm3C,EACbxwB,EAAK1mB,EAASm3C,EAETtyC,EAAI+U,EAAQ/U,EAAI1C,KAAKyC,SAASE,OAAQD,IAC/C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,GAAIgG,EAAMusC,QASV,GAPIvsC,EAAMusC,QAAQ/wC,EAAGtD,IAON,IAAXhD,EAGAsG,EAAEF,GAAKgxC,EAEH9wC,EAAEF,IAAMugB,IAERrgB,EAAEH,GAAKgxC,EACP7wC,EAAEF,EAAI,QAGT,IAAgB,IAAZnG,EAGLqG,EAAEH,GAAKgxC,EAEH7wC,EAAEH,IAAMsR,IAERnR,EAAEH,EAAI,EACNG,EAAEF,GAAKgxC,QAQX,GAFA9wC,EAAEH,GAAKgxC,EAEH7wC,EAAEH,IAAMsR,IAERnR,EAAEH,EAAI,EACNG,EAAEF,GAAKgxC,EAEH9wC,EAAEF,IAAMugB,GAGR,OAAO,EAMvB,OAAO,GAYX/iB,EAAOywC,MAAM3vC,UAAU4yC,YAAc,SAAUtsC,GAS3C,QAPcrC,IAAVqC,IAAuBA,EAAQ,GAE/BA,EAAQ5I,KAAKyC,SAASE,OAAS,IAE/BiG,EAAQ,GAGR5I,KAAK4yC,OAIL,OAFA5yC,KAAKszC,YAAc1qC,EACnB5I,KAAK4yC,OAAS5yC,KAAKyC,SAASzC,KAAKszC,aAC1BtzC,KAAK4yC,QAYpBpxC,EAAOywC,MAAM3vC,UAAU6yC,KAAO,WAE1B,GAAIn1C,KAAK4yC,OAcL,OAXI5yC,KAAKszC,aAAetzC,KAAKyC,SAASE,OAAS,EAE3C3C,KAAKszC,YAAc,EAInBtzC,KAAKszC,cAGTtzC,KAAK4yC,OAAS5yC,KAAKyC,SAASzC,KAAKszC,aAE1BtzC,KAAK4yC,QAYpBpxC,EAAOywC,MAAM3vC,UAAU8yC,SAAW,WAE9B,GAAIp1C,KAAK4yC,OAcL,OAXyB,IAArB5yC,KAAKszC,YAELtzC,KAAKszC,YAActzC,KAAKyC,SAASE,OAAS,EAI1C3C,KAAKszC,cAGTtzC,KAAK4yC,OAAS5yC,KAAKyC,SAASzC,KAAKszC,aAE1BtzC,KAAK4yC,QAapBpxC,EAAOywC,MAAM3vC,UAAU+yC,KAAO,SAAUC,EAAQrsC,GAE5CjJ,KAAKgJ,aAAassC,EAAQrsC,GAC1BjJ,KAAKg0C,WAUTxyC,EAAOywC,MAAM3vC,UAAUizC,WAAa,SAAU7sC,GAQ1C,OANIA,EAAMrH,SAAWrB,MAAQA,KAAKw1C,SAAS9sC,GAAS1I,KAAKyC,SAASE,SAE9D3C,KAAKmc,OAAOzT,GAAO,GAAO,GAC1B1I,KAAKi5B,IAAIvwB,GAAO,IAGbA,GAOXlH,EAAOywC,MAAM3vC,UAAUoH,gBAAkBlI,EAAOywC,MAAM3vC,UAAUizC,WAShE/zC,EAAOywC,MAAM3vC,UAAUmzC,WAAa,SAAU/sC,GAQ1C,OANIA,EAAMrH,SAAWrB,MAAQA,KAAKw1C,SAAS9sC,GAAS,IAEhD1I,KAAKmc,OAAOzT,GAAO,GAAO,GAC1B1I,KAAKq0C,MAAM3rC,EAAO,GAAG,IAGlBA,GAOXlH,EAAOywC,MAAM3vC,UAAUqH,gBAAkBnI,EAAOywC,MAAM3vC,UAAUmzC,WAShEj0C,EAAOywC,MAAM3vC,UAAUozC,OAAS,SAAUhtC,GAEtC,GAAIA,EAAMrH,SAAWrB,MAAQA,KAAKw1C,SAAS9sC,GAAS1I,KAAKyC,SAASE,OAAS,EAC3E,CACI,IAAIO,EAAIlD,KAAKw1C,SAAS9sC,GAClBvF,EAAInD,KAAKw0C,MAAMtxC,EAAI,GAEnBC,GAEAnD,KAAKq1C,KAAK3sC,EAAOvF,GAIzB,OAAOuF,GAUXlH,EAAOywC,MAAM3vC,UAAUqzC,SAAW,SAAUjtC,GAExC,GAAIA,EAAMrH,SAAWrB,MAAQA,KAAKw1C,SAAS9sC,GAAS,EACpD,CACI,IAAIxF,EAAIlD,KAAKw1C,SAAS9sC,GAClBvF,EAAInD,KAAKw0C,MAAMtxC,EAAI,GAEnBC,GAEAnD,KAAKq1C,KAAK3sC,EAAOvF,GAIzB,OAAOuF,GAWXlH,EAAOywC,MAAM3vC,UAAUszC,GAAK,SAAUhtC,EAAO7E,EAAGC,GAE5C,GAAI4E,EAAQ,GAAKA,EAAQ5I,KAAKyC,SAASE,OAEnC,OAAQ,EAIR3C,KAAKwJ,WAAWZ,GAAO7E,EAAIA,EAC3B/D,KAAKwJ,WAAWZ,GAAO5E,EAAIA,GAWnCxC,EAAOywC,MAAM3vC,UAAUgc,QAAU,WAE7Bte,KAAKyC,SAAS6b,UACdte,KAAKg0C,WAUTxyC,EAAOywC,MAAM3vC,UAAUkzC,SAAW,SAAU9sC,GAExC,OAAO1I,KAAKyC,SAAS4G,QAAQX,IAYjClH,EAAOywC,MAAM3vC,UAAUuzC,UAAY,SAAU7jB,GAEzC,OAAOhyB,KAAK81C,SAAS,OAAQ9jB,IAejCxwB,EAAOywC,MAAM3vC,UAAUgyB,QAAU,SAAUyhB,EAAUC,GAEjD,IAAIptC,EAAQ5I,KAAKw1C,SAASO,GAE1B,IAAe,IAAXntC,EAkBA,OAhBIotC,EAAS30C,SAEL20C,EAAS30C,kBAAkBG,EAAOywC,MAElC+D,EAAS30C,OAAO8a,OAAO65B,GAIvBA,EAAS30C,OAAOwH,YAAYmtC,IAIpCh2C,KAAKmc,OAAO45B,GAEZ/1C,KAAKq0C,MAAM2B,EAAUptC,GAEdmtC,GAcfv0C,EAAOywC,MAAM3vC,UAAU2zC,YAAc,SAAUvtC,EAAOsK,GAElD,IAAI8d,EAAM9d,EAAIrQ,OAEd,OAAY,IAARmuB,GAAa9d,EAAI,KAAMtK,IAIV,IAARooB,GAAa9d,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,MAI5C,IAAR8d,GAAa9d,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAI/E,IAAR8d,GAAa9d,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,OA0B/IxR,EAAOywC,MAAM3vC,UAAU+vB,YAAc,SAAU3pB,EAAOsK,EAAK5L,EAAO8uC,EAAW3R,GAoBzE,QAlBch+B,IAAVg+B,IAAuBA,GAAQ,GAEnC2R,EAAYA,GAAa,GAgBpBl2C,KAAKi2C,YAAYvtC,EAAOsK,MAAUuxB,GAAS2R,EAAY,GAExD,OAAO,EAGX,IAAIplB,EAAM9d,EAAIrQ,OAmCd,OAjCY,IAARmuB,EAEkB,IAAdolB,EAAmBxtC,EAAMsK,EAAI,IAAM5L,EAChB,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,KAAO5L,EACtB,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,KAAO5L,EACtB,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,KAAO5L,EACtB,IAAd8uC,IAAmBxtC,EAAMsK,EAAI,KAAO5L,GAEhC,IAAR0pB,EAEa,IAAdolB,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAM5L,EACxB,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAd8uC,IAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,GAExC,IAAR0pB,EAEa,IAAdolB,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EAChC,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAd8uC,IAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,GAEhD,IAAR0pB,IAEa,IAAdolB,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EACxC,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAd8uC,EAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAd8uC,IAAmBxtC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,KAGlE,GAaX5F,EAAOywC,MAAM3vC,UAAU6zC,cAAgB,SAAUztC,EAAOsK,EAAK5L,EAAOm9B,GAIhE,QAFch+B,IAAVg+B,IAAuBA,GAAQ,GAE/BvkC,OAAS0I,EAAMrH,OAEf,OAAO,EAGX,IAAIu3B,EAASp3B,EAAOgwB,MAAMM,YAAYppB,EAAOsK,GAE7C,aAAiBzM,IAAXqyB,GAAyB2L,GAAW3L,IAAWxxB,IAuBzD5F,EAAOywC,MAAM3vC,UAAU6E,IAAM,SAAUuB,EAAOsK,EAAK5L,EAAOgvC,EAAYC,EAAcH,EAAW3R,GAS3F,QAPch+B,IAAVg+B,IAAuBA,GAAQ,GAEnCvxB,EAAMA,EAAI6e,MAAM,UAEGtrB,IAAf6vC,IAA4BA,GAAa,QACxB7vC,IAAjB8vC,IAA8BA,GAAe,KAE7B,IAAfD,GAAyBA,GAAc1tC,EAAM8pC,UAA6B,IAAjB6D,GAA2BA,GAAgB3tC,EAAMxH,SAE3G,OAAOlB,KAAKqyB,YAAY3pB,EAAOsK,EAAK5L,EAAO8uC,EAAW3R,IAoB9D/iC,EAAOywC,MAAM3vC,UAAUg0C,OAAS,SAAUtjC,EAAK5L,EAAOgvC,EAAYC,EAAcH,EAAW3R,QAEpEh+B,IAAf6vC,IAA4BA,GAAa,QACxB7vC,IAAjB8vC,IAA8BA,GAAe,QACnC9vC,IAAVg+B,IAAuBA,GAAQ,GAEnCvxB,EAAMA,EAAI6e,MAAM,KAChBqkB,EAAYA,GAAa,EAIzB,IAAK,IAFDplB,EAAM9wB,KAAKyC,SAASE,OAEfD,EAAI,EAAGA,EAAIouB,EAAKpuB,IACzB,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEpB0zC,IAAc1tC,EAAM8pC,OAAY6D,IAAgB3tC,EAAMxH,SAExDlB,KAAKqyB,YAAY3pB,EAAOsK,EAAK5L,EAAO8uC,EAAW3R,KAqB3D/iC,EAAOywC,MAAM3vC,UAAUi0C,eAAiB,SAAUvjC,EAAK5L,EAAOgvC,EAAYC,EAAcH,EAAW3R,QAE5Eh+B,IAAf6vC,IAA4BA,GAAa,QACxB7vC,IAAjB8vC,IAA8BA,GAAe,QACnC9vC,IAAVg+B,IAAuBA,GAAQ,GAEnC2R,EAAYA,GAAa,EAIzB,IAAK,IAFDplB,EAAM9wB,KAAKyC,SAASE,OAEfD,EAAI,EAAGA,EAAIouB,EAAKpuB,IACzB,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEpB0zC,IAAc1tC,EAAM8pC,OAAY6D,IAAgB3tC,EAAMxH,UAEpDwH,aAAiBlH,EAAOywC,MAExBvpC,EAAM6tC,eAAevjC,EAAK5L,EAAOgvC,EAAYC,EAAcH,EAAW3R,GAItEvkC,KAAKqyB,YAAY3pB,EAAOsK,EAAI6e,MAAM,KAAMzqB,EAAO8uC,EAAW3R,MAmB1E/iC,EAAOywC,MAAM3vC,UAAUk0C,SAAW,SAAUxjC,EAAK5L,EAAOgvC,EAAYC,EAAc9R,QAE3Dh+B,IAAf6vC,IAA4BA,GAAa,QACxB7vC,IAAjB8vC,IAA8BA,GAAe,QACnC9vC,IAAVg+B,IAAuBA,GAAQ,GAEnC,IAAK,IAAI7hC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,KAAM0zC,GAAc1tC,EAAM8pC,UAAY6D,GAAgB3tC,EAAMxH,WAEnDlB,KAAKm2C,cAAcztC,EAAOsK,EAAK5L,EAAOm9B,GAEvC,OAAO,EAKnB,OAAO,GAeX/iC,EAAOywC,MAAM3vC,UAAUm0C,SAAW,SAAUzjC,EAAK5L,EAAOgvC,EAAYC,QAE7C9vC,IAAf6vC,IAA4BA,GAAa,QACxB7vC,IAAjB8vC,IAA8BA,GAAe,GAEjD,IAAK,IAAI3zC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,KAAM0zC,GAAc1tC,EAAM8pC,UAAY6D,GAAgB3tC,EAAMxH,UAEpDlB,KAAKm2C,cAAcztC,EAAOsK,EAAK5L,GAE/B,OAAO,EAKnB,OAAO,GAcX5F,EAAOywC,MAAM3vC,UAAUo0C,OAAS,SAAUC,EAAUC,EAAQR,EAAYC,GAEpEr2C,KAAKs2C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5D70C,EAAOywC,MAAM3vC,UAAUu0C,OAAS,SAAUF,EAAUC,EAAQR,EAAYC,GAEpEr2C,KAAKs2C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5D70C,EAAOywC,MAAM3vC,UAAUw0C,YAAc,SAAUH,EAAUC,EAAQR,EAAYC,GAEzEr2C,KAAKs2C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5D70C,EAAOywC,MAAM3vC,UAAUy0C,UAAY,SAAUJ,EAAUC,EAAQR,EAAYC,GAEvEr2C,KAAKs2C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAQ5D70C,EAAOywC,MAAM3vC,UAAU00C,KAAO,WAE1Bh3C,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,GAQnBM,EAAOywC,MAAM3vC,UAAU20C,QAAU,WAE7Bj3C,KAAKk3C,cAAc,QAAQ,IAQ/B11C,EAAOywC,MAAM3vC,UAAU60C,OAAS,WAE5Bn3C,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,GAQnBM,EAAOywC,MAAM3vC,UAAU80C,UAAY,WAE/Bp3C,KAAKk3C,cAAc,UAAU,IAajC11C,EAAOywC,MAAM3vC,UAAU+0C,SAAW,SAAUtzC,EAAGC,EAAGgP,EAAK3F,EAAOiqC,GAE1Dt3C,KAAK2wB,QAAQ3wB,KAAKu3C,WAAYv3C,KAAMs3C,EAAavzC,EAAGC,EAAGgP,EAAK3F,IAahE7L,EAAOywC,MAAM3vC,UAAU40C,cAAgB,SAAUvC,EAAU6C,GAEvD,IAAIrnB,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,KAEA,IAASztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B,IAAK,IAAIA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAAWsqC,GAAe9uC,EAAMisC,IAEtCjsC,EAAMisC,GAAUpvC,MAAMmD,EAAOynB,KAczC3uB,EAAOywC,MAAM3vC,UAAUm1C,kBAAoB,SAAU/uC,EAAOisC,EAAUhyC,GAIlE,GAAe,IAAXA,GAEA,GAAI+F,EAAMisC,EAAS,IAEf,OAAOjsC,EAAMisC,EAAS,SAGzB,GAAe,IAAXhyC,GAEL,GAAI+F,EAAMisC,EAAS,IAAIA,EAAS,IAE5B,OAAOjsC,EAAMisC,EAAS,IAAIA,EAAS,SAGtC,GAAe,IAAXhyC,GAEL,GAAI+F,EAAMisC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,OAAOjsC,EAAMisC,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGnD,GAAe,IAAXhyC,GAEL,GAAI+F,EAAMisC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,OAAOjsC,EAAMisC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGhE,GAAIjsC,EAAMisC,GAEX,OAAOjsC,EAAMisC,GAGjB,OAAO,GAcXnzC,EAAOywC,MAAM3vC,UAAUo1C,QAAU,SAAUC,EAAQ7pC,GAE/C,QAAevH,IAAXoxC,EAAJ,CAQA,IAAIC,GAFJD,EAASA,EAAO9lB,MAAM,MAEIlvB,OAE1B,QAAgB4D,IAAZuH,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,UAKV,GAAuB,iBAAZA,EAGP,IAAI+pC,GADJ/pC,EAAUA,EAAQ+jB,MAAM,MACIlvB,OAIpC,IAAIwtB,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,KAEA,IAASztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAO5B,IAAK,IAHDiyC,EAAW,KACX1L,EAAkB,KAEbvmC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1BiyC,EAAW30C,KAAKy3C,kBAAkB/uC,EAAOivC,EAAQC,GAE7C9pC,GAAW6mC,GAEX1L,EAAkBjpC,KAAKy3C,kBAAkB/uC,EAAOoF,EAAS+pC,GAEzDlD,EAASpvC,MAAM0jC,EAAiB9Y,IAE3BwkB,GAELA,EAASpvC,MAAMmD,EAAOynB,MAUlC3uB,EAAOywC,MAAM3vC,UAAUoC,UAAY,WAE/B,GAAI1E,KAAK0yC,eAGL,OADA1yC,KAAKwC,WACE,EAGX,IAAKxC,KAAKkN,SAAWlN,KAAKqB,OAAO6L,OAG7B,OADAlN,KAAK83C,eAAiB,GACf,EASX,IAFA,IAAIp1C,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,IAIR,OAAO,GAWXlB,EAAOywC,MAAM3vC,UAAUwiC,OAAS,WAK5B,IAFA,IAAIpiC,EAAI1C,KAAKyC,SAASE,OAEfD,KACP,CACI,IAAIouB,EAAM9wB,KAAKyC,SAASE,OAEpBD,GAAKouB,IAAOpuB,EAAIouB,EAAM,GAE1B,IAAIpoB,EAAQ1I,KAAKyC,SAASC,GAErB1C,KAAK8yC,6BAA8BpqC,EAAMwE,QAE1CxE,EAAMo8B,WAUlBtjC,EAAOywC,MAAM3vC,UAAUukC,WAAa,WAG5B7mC,KAAKuzC,gBAELvzC,KAAK+D,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwzC,aAAazvC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAClF/D,KAAKgE,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwzC,aAAaxvC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAGtF,IAAK,IAAItB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGmkC,cAqBzBrlC,EAAOywC,MAAM3vC,UAAUgkB,OAAS,SAAUyxB,EAAWT,GAMjD,IAJA,IAAI1uC,GAAS,EACTjG,EAAS3C,KAAKyC,SAASE,OACvBi3B,OAEKhxB,EAAQjG,GACjB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASmG,KAErB0uC,GAAgBA,GAAe5uC,EAAMwE,SAElC6qC,EAAUrvC,EAAOE,EAAO5I,KAAKyC,WAE7Bm3B,EAAQ9xB,KAAKY,GAKzB,OAAO,IAAIlH,EAAOw2C,SAASpe,IAoB/Bp4B,EAAOywC,MAAM3vC,UAAUquB,QAAU,SAAUgkB,EAAU1L,EAAiBqO,GAIlE,QAFoB/wC,IAAhB+wC,IAA6BA,GAAc,GAE3ChnB,UAAU3tB,QAAU,EAEpB,IAASD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACQgG,EAAQ1I,KAAKyC,SAASC,GAErB40C,IAAe5uC,EAAMwE,QAEtBynC,EAASnwC,KAAKykC,EAAiBvgC,OAK3C,CAOI,IAAK,IAFDynB,GAAS,MAEJztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAGxB,IAASA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAErB40C,IAAe5uC,EAAMwE,SAEtBijB,EAAK,GAAKznB,EACVisC,EAASpvC,MAAM0jC,EAAiB9Y,OAgBhD3uB,EAAOywC,MAAM3vC,UAAU21C,cAAgB,SAAUtD,EAAU1L,GAEvD,IAAI9Y,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,GAAS,MAET,IAAK,IAAIztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B1C,KAAKk4C,QAAQ,UAAU,EAAM12C,EAAOywC,MAAM0B,aAAcgB,EAAU1L,EAAiB9Y,IAavF3uB,EAAOywC,MAAM3vC,UAAU61C,aAAe,SAAUxD,EAAU1L,GAEtD,IAAI9Y,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,GAAS,MAET,IAAK,IAAIztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B1C,KAAKk4C,QAAQ,SAAS,EAAM12C,EAAOywC,MAAM0B,aAAcgB,EAAU1L,EAAiB9Y,IAatF3uB,EAAOywC,MAAM3vC,UAAU81C,YAAc,SAAUzD,EAAU1L,GAErD,IAAI9Y,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,GAAS,MAET,IAAK,IAAIztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B1C,KAAKk4C,QAAQ,SAAS,EAAO12C,EAAOywC,MAAM0B,aAAcgB,EAAU1L,EAAiB9Y,IAiBvF3uB,EAAOywC,MAAM3vC,UAAUy8B,KAAO,SAAU/rB,EAAKqlC,GAErCr4C,KAAKyC,SAASE,OAAS,SAMf4D,IAARyM,IAAqBA,EAAM,UACjBzM,IAAV8xC,IAAuBA,EAAQ72C,EAAOywC,MAAM6B,gBAEhD9zC,KAAKyzC,cAAgBzgC,EAEjBqlC,IAAU72C,EAAOywC,MAAM6B,eAEvB9zC,KAAKyC,SAASs8B,KAAK/+B,KAAKs4C,qBAAqBvoB,KAAK/vB,OAIlDA,KAAKyC,SAASs8B,KAAK/+B,KAAKu4C,sBAAsBxoB,KAAK/vB,OAGvDA,KAAKg0C,YAaTxyC,EAAOywC,MAAM3vC,UAAUk2C,WAAa,SAAUC,EAAa3qC,GAEnD9N,KAAKyC,SAASE,OAAS,IAM3B3C,KAAKyC,SAASs8B,KAAK0Z,EAAY1oB,KAAKjiB,IAEpC9N,KAAKg0C,YAWTxyC,EAAOywC,MAAM3vC,UAAUg2C,qBAAuB,SAAUp1C,EAAGC,GAEvD,OAAID,EAAElD,KAAKyzC,eAAiBtwC,EAAEnD,KAAKyzC,gBAEvB,EAEHvwC,EAAElD,KAAKyzC,eAAiBtwC,EAAEnD,KAAKyzC,eAE7B,EAGPvwC,EAAEkS,EAAIjS,EAAEiS,GAEA,EAID,GAYf5T,EAAOywC,MAAM3vC,UAAUi2C,sBAAwB,SAAUr1C,EAAGC,GAExD,OAAID,EAAElD,KAAKyzC,eAAiBtwC,EAAEnD,KAAKyzC,eAExB,EAEFvwC,EAAElD,KAAKyzC,eAAiBtwC,EAAEnD,KAAKyzC,gBAE5B,EAID,GAgCfjyC,EAAOywC,MAAM3vC,UAAU41C,QAAU,SAAUllC,EAAK5L,EAAOsxC,EAAY/D,EAAU1L,EAAiB9Y,GAE1F,GAA6B,IAAzBnwB,KAAKyC,SAASE,OAClB,CACI,GAAI+1C,IAAel3C,EAAOywC,MAAM0B,aAE5B,OAAO,EAEN,GAAI+E,IAAel3C,EAAOywC,MAAM4B,WAEjC,SAIR,IAAI8E,EAAQ,EAEZ,GAAID,IAAel3C,EAAOywC,MAAM4B,WAE5B,IAAIne,KAGR,IAAK,IAAIhzB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC,GAAI1C,KAAKyC,SAASC,GAAGsQ,KAAS5L,EAC9B,CAgBI,GAfAuxC,IAEIhE,IAEIxkB,GAEAA,EAAK,GAAKnwB,KAAKyC,SAASC,GACxBiyC,EAASpvC,MAAM0jC,EAAiB9Y,IAIhCwkB,EAASnwC,KAAKykC,EAAiBjpC,KAAKyC,SAASC,KAIjDg2C,IAAel3C,EAAOywC,MAAM2B,aAE5B,OAAO5zC,KAAKyC,SAASC,GAEhBg2C,IAAel3C,EAAOywC,MAAM4B,YAEjCne,EAAO5tB,KAAK9H,KAAKyC,SAASC,IAKtC,OAAIg2C,IAAel3C,EAAOywC,MAAM0B,aAErBgF,EAEFD,IAAel3C,EAAOywC,MAAM4B,WAE1Bne,EAKA,MAYfl0B,EAAOywC,MAAM3vC,UAAUwzC,SAAW,SAAU9iC,EAAK5L,GAE7C,OAAOpH,KAAKk4C,QAAQllC,EAAK5L,EAAO5F,EAAOywC,MAAM2B,eAsBjDpyC,EAAOywC,MAAM3vC,UAAUs2C,eAAiB,SAAU1rC,EAAQ2rC,EAAc90C,EAAGC,EAAGgP,EAAK3F,QAE1D9G,IAAjBsyC,IAA8BA,GAAe,GAE3B,kBAAX3rC,IAEPA,GAAS,GAGb,IAAIxE,EAAQ1I,KAAK81C,SAAS,SAAU5oC,GAEpC,OAAkB,OAAVxE,GAAkBmwC,EAAgB74C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAKu3C,WAAW7uC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAuBhH7L,EAAOywC,MAAM3vC,UAAUw2C,cAAgB,SAAUD,EAAc90C,EAAGC,EAAGgP,EAAK3F,QAEjD9G,IAAjBsyC,IAA8BA,GAAe,GAEjD,IAAInwC,EAAQ1I,KAAK81C,SAAS,SAAS,GAEnC,OAAkB,OAAVptC,GAAkBmwC,EAAgB74C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAKu3C,WAAW7uC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAuBhH7L,EAAOywC,MAAM3vC,UAAUy2C,aAAe,SAAUF,EAAc90C,EAAGC,EAAGgP,EAAK3F,QAEhD9G,IAAjBsyC,IAA8BA,GAAe,GAEjD,IAAInwC,EAAQ1I,KAAK81C,SAAS,SAAS,GAEnC,OAAkB,OAAVptC,GAAkBmwC,EAAgB74C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAKu3C,WAAW7uC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAkBhH7L,EAAOywC,MAAM3vC,UAAUi1C,WAAa,SAAU7uC,EAAO3E,EAAGC,EAAGgP,EAAK3F,GAE5D,OAAc,OAAV3E,EAEO,WAGDnC,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEjB,OAAND,GAAoB,OAANC,GAEd0E,EAAMq9B,MAAMhiC,EAAGC,QAGPuC,IAARyM,GAEAtK,EAAMswC,YAAYhmC,EAAK3F,GAGpB3E,IAWXlH,EAAOywC,MAAM3vC,UAAU22C,OAAS,WAE5B,GAAIj5C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAASzC,KAAKyC,SAASE,OAAS,IAYpDnB,EAAOywC,MAAM3vC,UAAU42C,UAAY,WAE/B,GAAIl5C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAAS,IAsB7BjB,EAAOywC,MAAM3vC,UAAU62C,aAAe,SAAUC,EAAQzE,EAAU1L,GAM9D,IAAK,IAJDzT,EAAWqK,OAAOC,UAClBuZ,EAAe,EACfzgB,EAAS,KAEJl2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAENmsC,EAAe31C,KAAKizB,IAAIn1B,EAAOX,MAAM20B,SAAS4jB,EAAQ1wC,KAEnC8sB,KAAcmf,GAAYA,EAASnwC,KAAKykC,EAAiBvgC,EAAO2wC,MAE/E7jB,EAAW6jB,EACXzgB,EAASlwB,GAKrB,OAAOkwB,GAqBXp3B,EAAOywC,MAAM3vC,UAAUg3C,gBAAkB,SAAUF,EAAQzE,EAAU1L,GAMjE,IAAK,IAJDzT,EAAW,EACX6jB,EAAe,EACfzgB,EAAS,KAEJl2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAENmsC,EAAe31C,KAAKizB,IAAIn1B,EAAOX,MAAM20B,SAAS4jB,EAAQ1wC,KAEnC8sB,KAAcmf,GAAYA,EAASnwC,KAAKykC,EAAiBvgC,EAAO2wC,MAE/E7jB,EAAW6jB,EACXzgB,EAASlwB,GAKrB,OAAOkwB,GAWXp3B,EAAOywC,MAAM3vC,UAAUic,MAAQ,SAAUvL,EAAK5L,GAE1C,OAAOpH,KAAKk4C,QAAQllC,EAAK5L,EAAO5F,EAAOywC,MAAM0B,eASjDnyC,EAAOywC,MAAM3vC,UAAUi3C,YAAc,WAEjC,OAAOv5C,KAAKue,MAAM,SAAS,IAS/B/c,EAAOywC,MAAM3vC,UAAUk3C,UAAY,WAE/B,OAAOx5C,KAAKue,MAAM,SAAS,IAW/B/c,EAAOywC,MAAM3vC,UAAUm3C,UAAY,SAAU/zB,EAAY/iB,GAKrD,YAHmB4D,IAAfmf,IAA4BA,EAAa,QAC9Bnf,IAAX5D,IAAwBA,EAAS3C,KAAKyC,SAASE,QAEpC,IAAXA,EAEO,KAGJnB,EAAOk4C,WAAWC,cAAc35C,KAAKyC,SAAUijB,EAAY/iB,IAetEnB,EAAOywC,MAAM3vC,UAAUs3C,gBAAkB,SAAUl0B,EAAY5b,GAE3D,IAAI+vC,EAAO75C,KAAK85C,OAAO,UAAU,EAAMp0B,EAAY5b,GAEnD,OAAO9J,KAAK+C,KAAKsiC,IAAI0U,KAAKF,IAqB9Br4C,EAAOywC,MAAM3vC,UAAUw3C,OAAS,SAAUnD,EAAUvvC,EAAOse,EAAY5b,QAEhDvD,IAAfmf,IAA4BA,EAAa,QAC5Bnf,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,QAIvD,IAAK,IAFD+yB,KAEKhzB,EAAIgjB,EAAYhjB,EAAIoH,EAAUpH,IACvC,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBi0C,EAEIjuC,EAAMiuC,KAAcvvC,GAEpBsuB,EAAO5tB,KAAKY,GAKhBgtB,EAAO5tB,KAAKY,GAIpB,OAAOgtB,GAgBXl0B,EAAOywC,MAAM3vC,UAAU6Z,OAAS,SAAUzT,EAAOlG,EAASqvC,GAKtD,QAHgBtrC,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAXsrC,IAAwBA,GAAS,GAER,IAAzB7xC,KAAKyC,SAASE,SAAkD,IAAlC3C,KAAKyC,SAAS4G,QAAQX,GAEpD,OAAO,EAGNmpC,IAAUnpC,EAAMyrC,QAAWzrC,EAAMsxC,cAElCtxC,EAAMyrC,OAAO8F,4BAA4BvxC,EAAO1I,MAGpD,IAAIgK,EAAUhK,KAAK6I,YAAYH,GAgB/B,OAdA1I,KAAKgyC,eAAetpC,GAEpB1I,KAAKg0C,UAEDh0C,KAAK4yC,SAAWlqC,GAEhB1I,KAAKm1C,OAGL3yC,GAAWwH,GAEXA,EAAQxH,SAAQ,IAGb,GAWXhB,EAAOywC,MAAM3vC,UAAUiyC,QAAU,SAAU2F,EAAOrI,GAI9C,QAFetrC,IAAXsrC,IAAwBA,GAAS,GAEjC7xC,KAAKyC,SAASE,OAAS,GAAKu3C,aAAiB14C,EAAOywC,MACxD,CACI,GAEIiI,EAAMjhB,IAAIj5B,KAAKyC,SAAS,GAAIovC,SAEzB7xC,KAAKyC,SAASE,OAAS,GAE9B3C,KAAK+xC,QAEL/xC,KAAK4yC,OAAS,KAGlB,OAAOsH,GAgBX14C,EAAOywC,MAAM3vC,UAAUunC,UAAY,SAAUrnC,EAASqvC,EAAQsI,GAM1D,QAJgB5zC,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAXsrC,IAAwBA,GAAS,QACdtrC,IAAnB4zC,IAAgCA,GAAiB,GAExB,IAAzBn6C,KAAKyC,SAASE,OAAlB,CAKA,EACA,EACSkvC,GAAU7xC,KAAKyC,SAAS,GAAG0xC,QAE5Bn0C,KAAKyC,SAAS,GAAG0xC,OAAO8F,4BAA4Bj6C,KAAKyC,SAAS,GAAIzC,MAG1E,IAAIgK,EAAUhK,KAAK6I,YAAY7I,KAAKyC,SAAS,IAE7CzC,KAAKgyC,eAAehoC,GAEhBxH,GAAWwH,GAEXA,EAAQxH,SAAQ,EAAM23C,SAGvBn6C,KAAKyC,SAASE,OAAS,GAE9B3C,KAAK+xC,QAEL/xC,KAAK4yC,OAAS,OAYlBpxC,EAAOywC,MAAM3vC,UAAU83C,cAAgB,SAAU10B,EAAY5b,EAAUtH,EAASqvC,GAM5E,QAJiBtrC,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,OAAS,QAChD4D,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAXsrC,IAAwBA,GAAS,GAER,IAAzB7xC,KAAKyC,SAASE,OAAlB,CAKA,GAAI+iB,EAAa5b,GAAY4b,EAAa,GAAK5b,EAAW9J,KAAKyC,SAASE,OAEpE,OAAO,EAKX,IAFA,IAAID,EAAIoH,EAEDpH,GAAKgjB,GACZ,EACSmsB,GAAU7xC,KAAKyC,SAASC,GAAGyxC,QAE5Bn0C,KAAKyC,SAASC,GAAGyxC,OAAO8F,4BAA4Bj6C,KAAKyC,SAASC,GAAI1C,MAG1E,IAAIgK,EAAUhK,KAAK6I,YAAY7I,KAAKyC,SAASC,IAE7C1C,KAAKgyC,eAAehoC,GAEhBxH,GAAWwH,GAEXA,EAAQxH,SAAQ,GAGhBxC,KAAK4yC,SAAW5yC,KAAKyC,SAASC,KAE9B1C,KAAK4yC,OAAS,MAGlBlwC,IAGJ1C,KAAKg0C,YAUTxyC,EAAOywC,MAAM3vC,UAAU+3C,QAAU,SAAUzf,EAAM0c,GAEjC,MAAR1c,IAAgBA,EAAO56B,KAAK+C,KAAKE,MAAM6B,QAE3C9E,KAAK2wB,QAAQ,SAAUjoB,GAEnBA,EAAM9H,SAASuG,IAAIyzB,EAAK+F,QAAS/F,EAAKgG,UACvC,KAAM0W,IAUb91C,EAAOywC,MAAM3vC,UAAUg4C,QAAU,WAE7B94C,EAAOk4C,WAAWY,QAAQt6C,KAAKyC,UAC/BzC,KAAKg0C,WAYTxyC,EAAOywC,MAAM3vC,UAAUE,QAAU,SAAU+3C,EAAiBC,GAEtC,OAAdx6C,KAAK+C,MAAiB/C,KAAKyyC,qBAEPlsC,IAApBg0C,IAAiCA,GAAkB,QAC1Ch0C,IAATi0C,IAAsBA,GAAO,GAEjCx6C,KAAKqzC,UAAUjO,SAASplC,KAAMu6C,EAAiBC,GAE/Cx6C,KAAK6pC,UAAU0Q,GAEfv6C,KAAK4yC,OAAS,KACd5yC,KAAK0G,QAAU,KACf1G,KAAK0yC,gBAAiB,EAEjB8H,IAEGx6C,KAAKqB,QAELrB,KAAKqB,OAAOwH,YAAY7I,MAG5BA,KAAK+C,KAAO,KACZ/C,KAAKkN,QAAS,KAWtBlG,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAKk4C,QAAQ,UAAU,EAAM12C,EAAOywC,MAAM0B,iBAYzD3sC,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKyC,SAASE,UAgB7BqE,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,SAE1C4E,IAAK,WAED,OAAO1F,EAAOkC,KAAKs5B,SAASh9B,KAAKgB,WAGrCmG,IAAK,SAAUC,GAEXpH,KAAKgB,SAAWQ,EAAOkC,KAAK+yB,SAASrvB,MAc7CJ,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQw2B,SAGvC1wB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAKqD,EAAQqQ,EAAUvT,EAAE0yB,aActC5vB,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQy2B,SAGvC3wB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,EAAUvT,EAAE2yB,cActC7vB,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQsyB,MAGvCxsB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAIqD,EAAQqQ,KAczBzQ,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQqyB,OAGvCvsB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAKqD,EAAQqQ,EAAUvT,EAAEtG,SActCoJ,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,OAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQg1B,KAGvClvB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,KAc1BzQ,OAAOyF,eAAejL,EAAOywC,MAAM3vC,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQi1B,QAGvCnvB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,EAAUvT,EAAErG,UAmLtC2D,EAAOi5C,MAAQ,SAAU13C,GAErBvB,EAAOywC,MAAMztC,KAAKxE,KAAM+C,EAAM,KAAM,WAAW,GAS/C/C,KAAK8E,OAAS,IAAItD,EAAOS,UAAU,EAAG,EAAGc,EAAKnF,MAAOmF,EAAKlF,QAK1DmC,KAAK8a,OAAS,KAMd9a,KAAK06C,cAAe,EAKpB16C,KAAK0M,OAAS3J,EAAKnF,MAKnBoC,KAAK2M,QAAU5J,EAAKlF,OAEpBmC,KAAK+C,KAAKujC,MAAMsB,cAAc3O,IAAIj5B,KAAK26C,YAAa36C,OAGxDwB,EAAOi5C,MAAMn4C,UAAY0E,OAAOwB,OAAOhH,EAAOywC,MAAM3vC,WACpDd,EAAOi5C,MAAMn4C,UAAUC,YAAcf,EAAOi5C,MAQ5Cj5C,EAAOi5C,MAAMn4C,UAAUshC,KAAO,WAE1B5jC,KAAK8a,OAAS,IAAItZ,EAAOsgC,OAAO9hC,KAAK+C,KAAM,EAAG,EAAG,EAAG/C,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE/EmC,KAAK+C,KAAKuX,MAAM7R,SAASzI,MAEzBA,KAAK8a,OAAO8oB,QAYhBpiC,EAAOi5C,MAAMn4C,UAAUq4C,YAAc,WAEjC36C,KAAK+D,EAAI,EACT/D,KAAKgE,EAAI,EAEThE,KAAK8a,OAAOirB,SAahBvkC,EAAOi5C,MAAMn4C,UAAUs4C,UAAY,SAAU72C,EAAGC,EAAGpG,EAAOC,GAEtDmC,KAAK06C,cAAe,EACpB16C,KAAK0M,OAAS9O,EACdoC,KAAK2M,QAAU9O,EAEfmC,KAAK8E,OAAOswB,MAAMrxB,EAAGC,EAAGpG,EAAOC,GAE/BmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EAELhE,KAAK8a,OAAOhW,QAGZ9E,KAAK8a,OAAOhW,OAAOswB,MAAMrxB,EAAGC,EAAGN,KAAKuC,IAAIrI,EAAOoC,KAAK+C,KAAKnF,OAAQ8F,KAAKuC,IAAIpI,EAAQmC,KAAK+C,KAAKlF,SAGhGmC,KAAK+C,KAAK0jC,QAAQhB,oBAatBjkC,EAAOi5C,MAAMn4C,UAAU6D,OAAS,SAAUvI,EAAOC,GAIzCmC,KAAK06C,eAED98C,EAAQoC,KAAK0M,SAEb9O,EAAQoC,KAAK0M,QAGb7O,EAASmC,KAAK2M,UAEd9O,EAASmC,KAAK2M,UAItB3M,KAAK8E,OAAOlH,MAAQA,EACpBoC,KAAK8E,OAAOjH,OAASA,EAErBmC,KAAK+C,KAAK+X,OAAO2qB,mBAEjBzlC,KAAK+C,KAAK0jC,QAAQhB,oBAQtBjkC,EAAOi5C,MAAMn4C,UAAU4kC,SAAW,WAG9BlnC,KAAKwC,SAAQ,GAAM,IAkBvBhB,EAAOi5C,MAAMn4C,UAAU23B,KAAO,SAAU3W,EAAQkD,EAASq0B,EAAW/X,EAAYC,QAE5Dx8B,IAAZigB,IAAyBA,EAAU,QACrBjgB,IAAds0C,IAA2BA,GAAY,QACxBt0C,IAAfu8B,IAA4BA,GAAa,QAC5Bv8B,IAAbw8B,IAA0BA,GAAW,GAEpC8X,GAsBDv3B,EAAOpZ,YAEH44B,IAEKxf,EAAOvf,EAAIuf,EAAOphB,eAAetE,MAASoC,KAAK8E,OAAOf,EAEvDuf,EAAOvf,EAAI/D,KAAK8E,OAAO4uB,MAElBpQ,EAAOvf,EAAI/D,KAAK8E,OAAO4uB,QAE5BpQ,EAAOvf,EAAI/D,KAAK8E,OAAO6uB,OAI3BoP,IAEKzf,EAAOtf,EAAIsf,EAAOphB,eAAerE,OAAUmC,KAAK8E,OAAOuxB,IAExD/S,EAAOtf,EAAIhE,KAAK8E,OAAOwxB,OAElBhT,EAAOtf,EAAIhE,KAAK8E,OAAOwxB,SAE5BhT,EAAOtf,EAAIhE,KAAK8E,OAAOuxB,QA1C3ByM,GAAcxf,EAAOvf,EAAIyiB,EAAUxmB,KAAK8E,OAAOf,EAE/Cuf,EAAOvf,EAAI/D,KAAK8E,OAAO4uB,MAAQlN,EAE1Bsc,GAAcxf,EAAOvf,EAAIyiB,EAAUxmB,KAAK8E,OAAO4uB,QAEpDpQ,EAAOvf,EAAI/D,KAAK8E,OAAO6uB,KAAOnN,GAG9Buc,GAAYzf,EAAOtf,EAAIwiB,EAAUxmB,KAAK8E,OAAOuxB,IAE7C/S,EAAOtf,EAAIhE,KAAK8E,OAAOwxB,OAAS9P,EAE3Buc,GAAYzf,EAAOtf,EAAIwiB,EAAUxmB,KAAK8E,OAAOwxB,SAElDhT,EAAOtf,EAAIhE,KAAK8E,OAAOuxB,IAAM7P,KA0CzChlB,EAAOi5C,MAAMn4C,UAAUw4C,QAAU,SAAUZ,EAAO5C,EAAa9wB,EAASq0B,EAAW/X,EAAYC,GAE3FmX,EAAMvpB,QAAQ3wB,KAAKi6B,KAAMj6B,KAAMs3C,EAAa9wB,EAASq0B,EAAW/X,EAAYC,IAOhF/7B,OAAOyF,eAAejL,EAAOi5C,MAAMn4C,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOlH,OAGvBuJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+C,KAAKnF,QAElBwJ,EAAQpH,KAAK+C,KAAKnF,OAGtBoC,KAAK8E,OAAOlH,MAAQwJ,EACpBpH,KAAK0M,OAAStF,EACdpH,KAAK06C,cAAe,KAS5B1zC,OAAOyF,eAAejL,EAAOi5C,MAAMn4C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOjH,QAGvBsJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+C,KAAKlF,SAElBuJ,EAAQpH,KAAK+C,KAAKlF,QAGtBmC,KAAK8E,OAAOjH,OAASuJ,EACrBpH,KAAK2M,QAAUvF,EACfpH,KAAK06C,cAAe,KAU5B1zC,OAAOyF,eAAejL,EAAOi5C,MAAMn4C,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAO8xB,UAAY52B,KAAK8E,OAAOf,KAUnDiD,OAAOyF,eAAejL,EAAOi5C,MAAMn4C,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAO+xB,WAAa72B,KAAK8E,OAAOd,KAUpDgD,OAAOyF,eAAejL,EAAOi5C,MAAMn4C,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK8E,OAAOf,EAAI,EAET/D,KAAK+C,KAAKsiC,IAAI0V,QAAQ/6C,KAAK8E,OAAOf,EAAI/D,KAAK8E,OAAOlH,MAAQ8F,KAAKizB,IAAI32B,KAAK8E,OAAOf,IAI/E/D,KAAK+C,KAAKsiC,IAAI0V,QAAQ/6C,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOlH,UAWpEoJ,OAAOyF,eAAejL,EAAOi5C,MAAMn4C,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK8E,OAAOd,EAAI,EAEThE,KAAK+C,KAAKsiC,IAAI0V,QAAQ/6C,KAAK8E,OAAOd,EAAIhE,KAAK8E,OAAOjH,OAAS6F,KAAKizB,IAAI32B,KAAK8E,OAAOd,IAIhFhE,KAAK+C,KAAKsiC,IAAI0V,QAAQ/6C,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAOjH,WA8EpE2D,EAAOw5C,KAAO,SAAUp9C,EAAOC,EAAQgH,EAAUxD,EAAQilC,EAAO1vB,EAAaQ,EAAW6jC,GAkdpF,OA5cAj7C,KAAKkU,GAAK1S,EAAOiqB,MAAM3jB,KAAK9H,MAAQ,EAKpCA,KAAKwW,OAAS,KAKdxW,KAAKi7C,cAAgBA,EAOrBj7C,KAAKqB,OAAS,GAWdrB,KAAKpC,MAAQ,IAWboC,KAAKnC,OAAS,IASdmC,KAAK4E,WAAa,EAMlB5E,KAAK0M,OAAS,IAMd1M,KAAK2M,QAAU,IAMf3M,KAAK4W,aAAc,EAOnB5W,KAAKoX,WAAY,EAajBpX,KAAKk7C,cAAe,EAMpBl7C,KAAK8W,uBAAwB,EAW7B9W,KAAK+W,mBAAoB,EAMzB/W,KAAK6E,SAAW,KAMhB7E,KAAKqqC,WAAa7oC,EAAOkqB,KAKzB1rB,KAAKsmC,MAAQ,KAMbtmC,KAAKgpC,UAAW,EAMhBhpC,KAAKm7C,WAAY,EAMjBn7C,KAAKo7C,IAAM,KAKXp7C,KAAKi5B,IAAM,KAKXj5B,KAAKkmC,KAAO,KAKZlmC,KAAKga,MAAQ,KAKbha,KAAKmmC,MAAQ,KAKbnmC,KAAKomC,KAAO,KAKZpmC,KAAKwlC,KAAO,KAKZxlC,KAAKq7C,IAAM,KAKXr7C,KAAKc,MAAQ,KAKbd,KAAKqmC,MAAQ,KAKbrmC,KAAKsa,MAAQ,KAKbta,KAAKklC,KAAO,KAKZllC,KAAKumC,OAAS,KAKdvmC,KAAKiD,MAAQ,KAKbjD,KAAKymC,QAAU,KAKfzmC,KAAK+uC,QAAU,KAKf/uC,KAAKqlC,IAAM,KAKXrlC,KAAKiqB,OAASzoB,EAAO85C,OAKrBt7C,KAAK8a,OAAS,KAKd9a,KAAKkX,OAAS,KAKdlX,KAAK8N,QAAU,KAKf9N,KAAK8pC,MAAQ,KAKb9pC,KAAKwmC,UAAY,KAKjBxmC,KAAKwI,OAAS,KASdxI,KAAKu7C,YAAa,EAMlBv7C,KAAK0yC,gBAAiB,EAOtB1yC,KAAKw7C,UAAW,EAOhBx7C,KAAKy7C,aAAc,EAOnBz7C,KAAK07C,UAAY,EAKjB17C,KAAK0oC,QAAU,KAKf1oC,KAAK4oC,SAAW,KAKhB5oC,KAAK27C,OAAS,KAKd37C,KAAK47C,QAAU,KAMf57C,KAAK67C,SAAU,EAMf77C,KAAK87C,aAAc,EAQnB97C,KAAK+7C,gBAAkB,EAOvB/7C,KAAKg8C,iBAAmB,EAOxBh8C,KAAKi8C,iBAAmB,EAMxBj8C,KAAKk8C,WAAa,EAMlBl8C,KAAKm8C,WAAa,EAMlBn8C,KAAKo8C,WAAa,EAMlBp8C,KAAKkqC,YAAa,EAQlBlqC,KAAKq8C,mBAAqB,IAAI76C,EAAO6gC,OAMrCriC,KAAKs8C,mBAAoB,EAMzBt8C,KAAKu8C,mBAAoB,EAMzBv8C,KAAKw8C,YAAa,EAMlBx8C,KAAKy8C,WAAa,EAOlBz8C,KAAKgX,gBAAkB,UAMvBhX,KAAK08C,qBAAuB,EAGH,IAArBpsB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAE3CtwB,KAAKwvC,YAAYlf,UAAU,KAI3BtwB,KAAKwW,QAAWmmC,aAAa,QAER,IAAV/+C,IAEPoC,KAAK0M,OAAS9O,QAGI,IAAXC,IAEPmC,KAAK2M,QAAU9O,QAGK,IAAbgH,IAEP7E,KAAKqqC,WAAaxlC,QAGA,IAAXxD,IAEPrB,KAAKqB,OAASA,QAGS,IAAhBuV,IAEP5W,KAAK4W,YAAcA,QAGE,IAAdQ,IAEPpX,KAAKoX,UAAYA,GAGrBpX,KAAKqlC,IAAM,IAAI7jC,EAAOo7C,sBAAuB3P,KAAK4P,MAAQn5C,KAAKivB,UAAU/J,aAEzE5oB,KAAKsmC,MAAQ,IAAI9kC,EAAO2lC,aAAannC,KAAMsmC,IAG/CtmC,KAAKiqB,OAAO6yB,UAAU98C,KAAK4jC,KAAM5jC,MAE1BA,MAmDXwB,EAAOw5C,KAAK14C,WAQRktC,YAAa,SAAUh5B,GAEnBxW,KAAKwW,OAASA,OAEajQ,IAAvBiQ,EAAOmmC,cAEP38C,KAAKwW,OAAOmmC,aAAc,GAG1BnmC,EAAO5Y,QAEPoC,KAAK0M,OAAS8J,EAAO5Y,OAGrB4Y,EAAO3Y,SAEPmC,KAAK2M,QAAU6J,EAAO3Y,QAGtB2Y,EAAO3R,WAEP7E,KAAKqqC,WAAa7zB,EAAO3R,UAGzB2R,EAAOnV,SAEPrB,KAAKqB,OAASmV,EAAOnV,aAGEkF,IAAvBiQ,EAAOI,cAEP5W,KAAK4W,YAAcJ,EAAOI,kBAGLrQ,IAArBiQ,EAAOY,YAEPpX,KAAKoX,UAAYZ,EAAOY,gBAGK7Q,IAA7BiQ,EAAOO,oBAEP/W,KAAK+W,kBAAoBP,EAAOO,wBAGRxQ,IAAxBiQ,EAAO0kC,eAEPl7C,KAAKk7C,aAAe1kC,EAAO0kC,cAG3B1kC,EAAO5R,aAEP5E,KAAK4E,WAAa4R,EAAO5R,iBAGQ2B,IAAjCiQ,EAAOM,wBAEP9W,KAAK8W,sBAAwBN,EAAOM,4BAGTvQ,IAA3BiQ,EAAOQ,kBAEPhX,KAAKgX,gBAAkBR,EAAOQ,iBAG9BR,EAAOykC,gBAEPj7C,KAAKi7C,cAAgBzkC,EAAOykC,eAGhC,IAAI8B,IAAU9P,KAAK4P,MAAQn5C,KAAKivB,UAAU/J,YAEtCpS,EAAOumC,OAEPA,EAAOvmC,EAAOumC,MAGlB/8C,KAAKqlC,IAAM,IAAI7jC,EAAOo7C,oBAAoBG,GAE1C,IAAIzW,EAAQ,KAER9vB,EAAO8vB,QAEPA,EAAQ9vB,EAAO8vB,OAGnBtmC,KAAKsmC,MAAQ,IAAI9kC,EAAO2lC,aAAannC,KAAMsmC,IAS/C1C,KAAM,WAEF,IAAI5jC,KAAKgpC,SAAT,CA4CA,GAvCAhpC,KAAK0oC,QAAU,IAAIlnC,EAAO6gC,OAC1BriC,KAAK4oC,SAAW,IAAIpnC,EAAO6gC,OAC3BriC,KAAK27C,OAAS,IAAIn6C,EAAO6gC,OACzBriC,KAAK47C,QAAU,IAAIp6C,EAAO6gC,OAE1BriC,KAAKgpC,UAAW,EAEhBxqC,KAAKuE,KAAO/C,KAEZA,KAAKwlC,KAAOhkC,EAAOkC,KAEnB1D,KAAKc,MAAQ,IAAIU,EAAOw7C,aAAah9C,KAAMA,KAAK0M,OAAQ1M,KAAK2M,SAC7D3M,KAAKsa,MAAQ,IAAI9Y,EAAO2tC,MAAMnvC,MAE9BA,KAAKi9C,gBAELj9C,KAAKiD,MAAQ,IAAIzB,EAAOi5C,MAAMz6C,MAC9BA,KAAKi5B,IAAM,IAAIz3B,EAAO07C,kBAAkBl9C,MACxCA,KAAKkmC,KAAO,IAAI1kC,EAAO27C,kBAAkBn9C,MACzCA,KAAKga,MAAQ,IAAIxY,EAAO8sC,MAAMtuC,MAC9BA,KAAKomC,KAAO,IAAI5kC,EAAO47C,OAAOp9C,MAC9BA,KAAKklC,KAAO,IAAI1jC,EAAO67C,KAAKr9C,MAC5BA,KAAKumC,OAAS,IAAI/kC,EAAO87C,aAAat9C,MACtCA,KAAKmmC,MAAQ,IAAI3kC,EAAO+7C,MAAMv9C,MAC9BA,KAAKqmC,MAAQ,IAAI7kC,EAAOg8C,aAAax9C,MACrCA,KAAKymC,QAAU,IAAIjlC,EAAO6wC,QAAQryC,KAAMA,KAAKi7C,eAC7Cj7C,KAAKwmC,UAAY,IAAIhlC,EAAOi8C,UAAUz9C,MACtCA,KAAKwI,OAAS,IAAIhH,EAAOk8C,OAAO19C,MAChCA,KAAK+uC,QAAU,IAAIvtC,EAAOstC,cAAc9uC,MACxCA,KAAKq7C,IAAM,IAAI75C,EAAOm8C,IAAI39C,MAE1BA,KAAKklC,KAAKtB,OACV5jC,KAAKsa,MAAMspB,OACX5jC,KAAKiD,MAAM2gC,OACX5jC,KAAKc,MAAM8iC,OACX5jC,KAAKmmC,MAAMvC,KAAK5jC,KAAKwW,QACrBxW,KAAKqmC,MAAMzC,OACX5jC,KAAKsmC,MAAM1C,OAEP5jC,KAAKwW,OAAOmmC,YAEZ38C,KAAK8pC,MAAQ,IAAItoC,EAAOgwB,MAAMosB,MAAM59C,MACpCA,KAAK8pC,MAAMlG,WAGf,CACI,IAAIia,EAAO,aAEX79C,KAAK8pC,OAAUplC,UAAWm5C,EAAM/Y,OAAQ+Y,EAAM9X,MAAO8X,EAAMr7C,QAASq7C,EAAMC,YAAY,GAG1F99C,KAAK+9C,kBAEL/9C,KAAKm7C,WAAY,EAEbn7C,KAAKwW,QAAUxW,KAAKwW,OAAOwnC,gBAE3Bh+C,KAAKo7C,IAAM,IAAI55C,EAAOy8C,sBAAsBj+C,KAAMA,KAAKwW,OAAOwnC,iBAI9Dh+C,KAAKo7C,IAAM,IAAI55C,EAAOy8C,sBAAsBj+C,MAAM,GAGtDA,KAAKkqC,YAAa,EAElBlqC,KAAKk+C,cAEDl+C,KAAKwW,OAAO2nC,eAKZn+C,KAAKga,MAAMokC,QAEXp+C,KAAKo7C,IAAI9uC,QAITtM,KAAKga,MAAMqkC,QAAQxS,QAAQ,WAEvB7rC,KAAKo7C,IAAI9uC,SACVtM,SAUX+9C,gBAAiB,WAEb,IAAI3tC,OAAOkuC,eAAgBluC,OAAOkuC,aAAaC,WAA/C,CAKA,IAAIC,EAAIh9C,EAAOgqB,QACXtnB,EAAI,SACJhB,EAAI,aACJE,EAAI,EAkBR,GAhBIpD,KAAKqqC,aAAe7oC,EAAOmV,OAE3BzS,EAAI,QACJd,KAEKpD,KAAKqqC,aAAe7oC,EAAOmqB,WAEhCznB,EAAI,YAGJlE,KAAKiqB,OAAOw0B,WAEZv7C,EAAI,WACJE,KAGCpD,KAAKiqB,OAAOy0B,GA0BRtuC,OAAO9P,SAEZA,QAAQ+P,IAAI,WAAamuC,EAAI,gBAAkBt6C,EAAI,MAAQhB,EAAI,2BA3BnE,CAWI,IAAK,IAVDitB,GACA,uBAAyBquB,EAAI,gBAAkBt6C,EAAI,MAAQhB,EAAI,wCAC/D,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKR,EAAI,EAAGA,EAAI,EAAGA,IAEfA,EAAIU,EAEJ+sB,EAAKroB,KAAK,oCAIVqoB,EAAKroB,KAAK,oCAIlBxH,QAAQ+P,IAAI9K,MAAMjF,QAAS6vB,MAcnC8sB,cAAe,WAEX,IAAKj9C,KAAKiqB,OAAO/S,OAGb,MAAM,IAAInO,MAAM,4DA0BpB,GAvBI/I,KAAKwW,OAAOU,OAEZlX,KAAKkX,OAASlX,KAAKwW,OAAOU,OAI1BlX,KAAKkX,OAAS1V,EAAOioB,OAAOjhB,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKwW,OAAOmoC,UAAU,GAGxF3+C,KAAKwW,OAAOooC,YAEZ5+C,KAAKkX,OAAOoE,MAAQtb,KAAKwW,OAAOooC,YAIhC5+C,KAAKkX,OAAOoE,MAAM,uBAAyB,4BAG3Ctb,KAAKwW,OAAOqoC,OAEZr9C,EAAOioB,OAAOq1B,uBAAuB9+C,KAAKkX,QAGzClX,KAAKqqC,aAAe7oC,EAAOmV,OAC3B3W,KAAKqqC,aAAe7oC,EAAOoqB,aAC3B5rB,KAAKqqC,aAAe7oC,EAAOkqB,MAAQ1rB,KAAKiqB,OAAO80B,MACpD,EACQ/+C,KAAKk7C,cAAgBl7C,KAAKqqC,aAAe7oC,EAAOoqB,eAEhDptB,KAAKmf,qBACL3d,KAAKk7C,cAAe,GAGxB,IAEIl7C,KAAK6E,SAAW,IAAIrG,KAAK+X,cAAcvW,KAAMA,KAAKwW,QAClDxW,KAAKqqC,WAAa7oC,EAAOmV,MACzB3W,KAAK8N,QAAU,KACf9N,KAAKkX,OAAOy5B,iBAAiB,mBAAoB3wC,KAAKua,YAAYwV,KAAK/vB,OAAO,GAC9EA,KAAKkX,OAAOy5B,iBAAiB,uBAAwB3wC,KAAKg/C,gBAAgBjvB,KAAK/vB,OAAO,GAE1F,MAAOi/C,GAOH,GALAzgD,KAAKiY,gBAAkB,KACvBzW,KAAK6E,SAAW,KAChB7E,KAAKk7C,cAAe,EACpB18C,KAAK6H,2BAA4B,EAE7BrG,KAAKqqC,aAAe7oC,EAAOmV,MAG3B,MAAMsoC,GAKbj/C,KAAK6E,WAEN7E,KAAK6E,SAAW,IAAIrG,KAAK8qB,eAAetpB,KAAMA,KAAKwW,QACnDxW,KAAK8N,QAAU9N,KAAK6E,SAASiJ,QAEzB9N,KAAKqqC,aAAe7oC,EAAOkqB,OAE3B1rB,KAAKqqC,WAAa7oC,EAAO+nB,SAI7BvpB,KAAKiqB,OAAOi1B,WAEZl/C,KAAKkX,OAAO2S,aAAgB7pB,KAAKqqC,aAAe7oC,EAAO+nB,QAGvDvpB,KAAKqqC,aAAe7oC,EAAOmqB,WAE3B3rB,KAAKsa,MAAM6kC,SAAWn/C,KAAKoX,UAE3B5V,EAAOioB,OAAO21B,SAASp/C,KAAKkX,OAAQlX,KAAKqB,QAAQ,GACjDG,EAAOioB,OAAOqmB,eAAe9vC,KAAKkX,UAW1CqD,YAAa,SAAU81B,GAEnBA,EAAMgP,iBAENr/C,KAAK6E,SAAS0V,aAAc,GAShCykC,gBAAiB,WAEbh/C,KAAK6E,SAASyT,cAEdtY,KAAKga,MAAMslC,kBAEXt/C,KAAK6E,SAAS0V,aAAc,GAUhCuqB,OAAQ,SAAUI,GAEd,GAAIllC,KAAK0yC,eAEL1yC,KAAKwC,cAFT,CASA,GAFAxC,KAAKklC,KAAKJ,OAAOI,GAEbllC,KAAKkqC,WASL,OAPAlqC,KAAKu/C,YAAYv/C,KAAKklC,KAAKsa,gBAG3Bx/C,KAAKy/C,aAAaz/C,KAAKklC,KAAKwa,WAAa1/C,KAAKklC,KAAKya,iBAEnD3/C,KAAKkqC,YAAa,GAMtB,GAAIlqC,KAAKo8C,WAAa,IAAMp8C,KAAKs8C,kBAGzBt8C,KAAKklC,KAAKA,KAAOllC,KAAK08C,uBAGtB18C,KAAK08C,qBAAuB18C,KAAKklC,KAAKA,KAAO,IAG7CllC,KAAKq8C,mBAAmBjX,YAI5BplC,KAAKk8C,WAAa,EAClBl8C,KAAKo8C,WAAa,EAEdp8C,KAAKw8C,WAELx8C,KAAKi8C,iBAAmB,GAIxBj8C,KAAKy/C,aAAaz/C,KAAKklC,KAAKwa,WAAa1/C,KAAKklC,KAAKya,YACnD3/C,KAAKi8C,iBAAmB,OAIhC,CAEI,IAAI2D,EAAkC,IAAvB5/C,KAAKklC,KAAKwa,WAAsB1/C,KAAKklC,KAAKya,WAGzD3/C,KAAKk8C,YAAcx4C,KAAKuC,IAAIvC,KAAK41B,IAAIsmB,EAAW5/C,KAAKy8C,WAAYz8C,KAAKklC,KAAK2a,SAAU,GAMrF,IAAIthC,EAAQ,EAkBZ,IAhBAve,KAAKg8C,iBAAmBt4C,KAAKmsB,MAAM7vB,KAAKk8C,WAAa0D,GAEjD5/C,KAAKs8C,oBAELt8C,KAAKg8C,iBAAmBt4C,KAAK41B,IAAI,EAAGt5B,KAAKg8C,mBAGzCh8C,KAAKu8C,kBAELv8C,KAAKi8C,iBAAmB,EAIxBj8C,KAAKi8C,iBAAmBv4C,KAAK41B,IAAI,EAAGt5B,KAAKg8C,kBAGtCh8C,KAAKk8C,YAAc0D,IAEtB5/C,KAAKk8C,YAAc0D,EACnB5/C,KAAK+7C,gBAAkBx9B,EAEvBve,KAAKu/C,YAAYv/C,KAAKklC,KAAKsa,gBAE3BjhC,KAEIve,KAAKs8C,mBAA+B,IAAV/9B,IAM1Bve,KAAKklC,KAAK1b,UAKdjL,EAAQve,KAAKm8C,WAEbn8C,KAAKo8C,aAEA79B,EAAQve,KAAKm8C,aAGlBn8C,KAAKo8C,WAAa,GAGtBp8C,KAAKm8C,WAAa59B,EAEdve,KAAKi8C,iBAAmB,GAExBj8C,KAAKy/C,aAAaz/C,KAAKk8C,WAAa0D,GAIxC5/C,KAAK6E,SAAS2O,OAAShS,EAAOmV,OAG9B3W,KAAK6E,SAASlH,GAAGqO,UAWzBuzC,YAAa,SAAUO,GAEd9/C,KAAK67C,SAAY77C,KAAKy7C,aAgCvBz7C,KAAKc,MAAMmmC,cACXjnC,KAAKsmC,MAAMW,YAAY6Y,GACvB9/C,KAAK8pC,MAAMplC,YACX1E,KAAKmmC,MAAMc,gBAjCPjnC,KAAKw7C,WAELx7C,KAAKy7C,aAAc,GAGvBz7C,KAAKklC,KAAKxgC,YAEV1E,KAAKc,MAAM4D,YACX1E,KAAK8pC,MAAMplC,YACX1E,KAAK8a,OAAOpW,YACZ1E,KAAKymC,QAAQ/hC,YACb1E,KAAKsmC,MAAM5hC,UAAUo7C,GACrB9/C,KAAK+uC,QAAQrqC,UAAUo7C,GACvB9/C,KAAKsa,MAAM5V,YAEX1E,KAAKsmC,MAAMxB,SACX9kC,KAAKsa,MAAMwqB,SACX9kC,KAAKumC,OAAOzB,SACZ9kC,KAAKqmC,MAAMvB,SACX9kC,KAAKmmC,MAAMrB,SACX9kC,KAAKymC,QAAQ3B,SACb9kC,KAAK+uC,QAAQjK,SAEb9kC,KAAKsa,MAAMusB,aACX7mC,KAAKsmC,MAAMO,aACX7mC,KAAK+uC,QAAQlI,cAWjB7mC,KAAKsa,MAAMxX,mBAkBf28C,aAAc,SAAUrV,GAEhBpqC,KAAKu7C,YAAcv7C,KAAKqqC,aAAe7oC,EAAOmqB,WAKlD3rB,KAAKklC,KAAK4B,YAEV9mC,KAAKsmC,MAAMQ,UAAUsD,GAErBpqC,KAAK6E,SAASM,OAAOnF,KAAKsa,OAE1Bta,KAAK+uC,QAAQ5pC,OAAOilC,GAEpBpqC,KAAKsmC,MAAMnhC,OAAOilC,GAElBpqC,KAAK+uC,QAAQF,WAAWzE,KAS5B2V,WAAY,WAER//C,KAAKw7C,UAAW,EAChBx7C,KAAKy7C,aAAc,EACnBz7C,KAAK07C,UAAY,GAQrBsE,YAAa,WAEThgD,KAAKw7C,UAAW,EAChBx7C,KAAKy7C,aAAc,GASvBwE,KAAM,WAEFjgD,KAAKy7C,aAAc,EACnBz7C,KAAK07C,aAeTl5C,QAAS,WAELxC,KAAKo7C,IAAIjvC,OAETnM,KAAK8pC,MAAMtnC,UACXxC,KAAKsmC,MAAM9jC,UACXxC,KAAKqmC,MAAM7jC,UACXxC,KAAKc,MAAM0B,UACXxC,KAAKsa,MAAM9X,UACXxC,KAAKmmC,MAAM3jC,UACXxC,KAAKymC,QAAQjkC,UACbxC,KAAK+uC,QAAQvsC,UACbxC,KAAKumC,OAAO/jC,UAEZxC,KAAK8pC,MAAQ,KACb9pC,KAAKsmC,MAAQ,KACbtmC,KAAKqmC,MAAQ,KACbrmC,KAAKc,MAAQ,KACbd,KAAKsa,MAAQ,KACbta,KAAKmmC,MAAQ,KACbnmC,KAAKymC,QAAU,KACfzmC,KAAK+uC,QAAU,KACf/uC,KAAKumC,OAAS,KAEdvmC,KAAKga,MAAQ,KACbha,KAAKomC,KAAO,KACZpmC,KAAKklC,KAAO,KACZllC,KAAKiD,MAAQ,KAEbjD,KAAKgpC,UAAW,EAEhBhpC,KAAK6E,SAASrC,SAAQ,GAEtBhB,EAAOioB,OAAOy2B,cAAclgD,KAAKkX,QAE7B1Y,KAAKuE,OAAS/C,OAEdxB,KAAKuE,KAAO,MAEhBvE,KAAKiY,gBAAkB,KAEvBjV,EAAOiqB,MAAMzrB,KAAKkU,IAAM,MAU5Bs9B,WAAY,SAAUnB,GAGbrwC,KAAK67C,UAEN77C,KAAK67C,SAAU,EAEf77C,KAAKklC,KAAKsM,aAENxxC,KAAKqmC,MAAM8Z,aAEXngD,KAAKqmC,MAAM+Z,UAGfpgD,KAAK0oC,QAAQtD,SAASiL,GAGlBrwC,KAAKiqB,OAAOo2B,SAAWrgD,KAAKiqB,OAAOq2B,MAEnCtgD,KAAKu7C,YAAa,KAY9B9J,YAAa,SAAUpB,GAGfrwC,KAAK67C,UAAY77C,KAAK87C,cAEtB97C,KAAK67C,SAAU,EAEf77C,KAAKklC,KAAKuM,cAEVzxC,KAAKmmC,MAAMJ,QAEP/lC,KAAKqmC,MAAM8Z,aAEXngD,KAAKqmC,MAAMka,YAGfvgD,KAAK4oC,SAASxD,SAASiL,GAGnBrwC,KAAKiqB,OAAOo2B,SAAWrgD,KAAKiqB,OAAOq2B,MAEnCtgD,KAAKu7C,YAAa,KAY9BjK,UAAW,SAAUjB,GAEjBrwC,KAAK27C,OAAOvW,SAASiL,GAEhBrwC,KAAKsa,MAAM80B,yBAEZpvC,KAAKwxC,WAAWnB,IAWxBkB,UAAW,SAAUlB,GAEjBrwC,KAAKk+C,cAELl+C,KAAK47C,QAAQxW,SAASiL,GAEjBrwC,KAAKsa,MAAM80B,yBAEZpvC,KAAKyxC,YAAYpB,IASzB6N,YAAa,WAEL9tC,OAAOowC,SAEFpwC,OAAOkuC,cAAiBluC,OAAOkuC,eAAiBluC,OAAOkuC,aAAamC,YAErErwC,OAAOowC,UAOvBh/C,EAAOw5C,KAAK14C,UAAUC,YAAcf,EAAOw5C,KAQ3Ch0C,OAAOyF,eAAejL,EAAOw5C,KAAK14C,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAK67C,SAGhB10C,IAAK,SAAUC,IAEG,IAAVA,IAEqB,IAAjBpH,KAAK67C,UAEL77C,KAAK67C,SAAU,EACX77C,KAAKqmC,MAAM8Z,aAEXngD,KAAKqmC,MAAM+Z,UAEfpgD,KAAKklC,KAAKsM,aACVxxC,KAAK0oC,QAAQtD,SAASplC,OAE1BA,KAAK87C,aAAc,IAIf97C,KAAK67C,UAEL77C,KAAK67C,SAAU,EACf77C,KAAKmmC,MAAMJ,QACX/lC,KAAKqmC,MAAMka,YACXvgD,KAAKklC,KAAKuM,cACVzxC,KAAK4oC,SAASxD,SAASplC,OAE3BA,KAAK87C,aAAc,MA4B/Bt6C,EAAO+7C,MAAQ,SAAUx6C,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAK0gD,UAAY,KAMjB1gD,KAAK2gD,WAAa,KAQlB3gD,KAAK4gD,iBAML5gD,KAAK6gD,uBAAyB,KAM9B7gD,KAAK8gD,8BAAgC,KAMrC9gD,KAAK+gD,SAAW,EAShB/gD,KAAKghD,SAAU,EAMfhhD,KAAKihD,mBAAqBz/C,EAAO+7C,MAAM2D,oBAMvClhD,KAAKY,SAAW,KAKhBZ,KAAKmhD,MAAQ,KAObnhD,KAAKohD,OAAS,KAKdphD,KAAKc,MAAQ,KAUbd,KAAKqhD,aAAe,EAMpBrhD,KAAKshD,QAAU,IAMfthD,KAAKuhD,cAAgB,IAMrBvhD,KAAKwhD,SAAW,IAMhBxhD,KAAKyhD,gBAAkB,IAMvBzhD,KAAK0hD,iBAAmB,IASxB1hD,KAAK2hD,sBAAuB,EAM5B3hD,KAAK4hD,WAAa,IAQlB5hD,KAAK6hD,YAAc,IASnB7hD,KAAK8hD,sBAKL9hD,KAAK+hD,SAAW,KAKhB/hD,KAAKgiD,SAAW,KAKhBhiD,KAAKiiD,SAAW,KAKhBjiD,KAAKkiD,SAAW,KAKhBliD,KAAKmiD,SAAW,KAKhBniD,KAAKoiD,SAAW,KAKhBpiD,KAAKqiD,SAAW,KAKhBriD,KAAKsiD,SAAW,KAKhBtiD,KAAKuiD,SAAW,KAKhBviD,KAAKwiD,UAAY,KAUjBxiD,KAAKyiD,YASLziD,KAAK0iD,cAAgB,KASrB1iD,KAAK2iD,aAAe,KAUpB3iD,KAAKktC,MAAQ,KAObltC,KAAK4iD,SAAW,KAUhB5iD,KAAK6iD,MAAQ,KAUb7iD,KAAK8iD,UAAY,KAOjB9iD,KAAK+iD,QAAU,KAQf/iD,KAAKgjD,aAAc,EAWnBhjD,KAAKijD,OAAS,KAWdjjD,KAAKkjD,KAAO,KAWZljD,KAAKmjD,MAAQ,KAUbnjD,KAAKojD,OAAS,KAQdpjD,KAAKqjD,cAAgB,EAMrBrjD,KAAKsjD,iBAAmB,IAAI9hD,EAAOw2C,SAMnCh4C,KAAKujD,YAAc,IAAI/hD,EAAOX,MAM9Bb,KAAKwjD,aAAe,EAMpBxjD,KAAKyjD,aAAe,KAMpBzjD,KAAK0jD,GAAK,EAMV1jD,KAAK2jD,GAAK,GAOdniD,EAAO+7C,MAAMqG,sBAAwB,EAMrCpiD,EAAO+7C,MAAMsG,sBAAwB,EAMrCriD,EAAO+7C,MAAM2D,oBAAsB,EAOnC1/C,EAAO+7C,MAAMuG,aAAe,GAE5BtiD,EAAO+7C,MAAMj7C,WAoBTshC,KAAM,SAAUptB,GAER,gBAAiBA,IAEjBxW,KAAKqhD,YAAc7qC,EAAO6qC,aAG9BrhD,KAAK2iD,aAAe,IAAInhD,EAAOuiD,QAAQ/jD,KAAK+C,KAAM,EAAGvB,EAAOwiD,YAAYC,QACxEjkD,KAAKkkD,aACLlkD,KAAKkkD,aAELlkD,KAAKktC,MAAQ,IAAI1rC,EAAO2iD,MAAMnkD,KAAK+C,MACnC/C,KAAK6iD,MAAQ,IAAIrhD,EAAO4iD,MAAMpkD,KAAK+C,MACnC/C,KAAK8iD,UAAY,IAAIthD,EAAO6iD,UAAUrkD,KAAK+C,MAC3C/C,KAAKskD,WAAa,IAAI9iD,EAAO+iD,WAAWvkD,KAAK+C,MAC7C/C,KAAKwkD,YAAc,IAAIhjD,EAAOijD,YAAYzkD,KAAK+C,MAE3CvB,EAAOkjD,WAEP1kD,KAAK4iD,SAAW,IAAIphD,EAAOkjD,SAAS1kD,KAAK+C,OAGzCvB,EAAOmjD,UAEP3kD,KAAK+iD,QAAU,IAAIvhD,EAAOmjD,QAAQ3kD,KAAK+C,OAG3C/C,KAAKijD,OAAS,IAAIzhD,EAAO6gC,OACzBriC,KAAKkjD,KAAO,IAAI1hD,EAAO6gC,OACvBriC,KAAKmjD,MAAQ,IAAI3hD,EAAO6gC,OACxBriC,KAAKojD,OAAS,IAAI5hD,EAAO6gC,OAEzBriC,KAAKc,MAAQ,IAAIU,EAAOX,MAAM,EAAG,GACjCb,KAAKmhD,MAAQ,IAAI3/C,EAAOX,MACxBb,KAAKY,SAAW,IAAIY,EAAOX,MAC3Bb,KAAKyjD,aAAe,IAAIjiD,EAAOX,MAE/Bb,KAAKohD,OAAS,IAAI5/C,EAAOmzB,OAAO,EAAG,EAAG,IAEtC30B,KAAK0iD,cAAgB1iD,KAAK2iD,aAE1B3iD,KAAK0gD,UAAYl/C,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GACnDA,KAAK2gD,WAAa3gD,KAAK0gD,UAAUloC,WAAW,MAExCxY,KAAK+C,KAAKknB,OAAO64B,YAAmC,IAArBtsC,EAAOssC,UAEtC9iD,KAAK8iD,UAAUx2C,QAEVtM,KAAK+C,KAAKknB,OAAO44B,QAA2B,IAAjBrsC,EAAOqsC,OAEvC7iD,KAAK6iD,MAAMv2C,QAGVtM,KAAK8iD,UAAUpY,SAA4B,IAAjBl0B,EAAO02B,OAElCltC,KAAKktC,MAAM5gC,QAGftM,KAAK2iD,aAAajY,QAAS,GAED,IAAtBl0B,EAAO8tC,YAEPtkD,KAAKskD,WAAWh4C,SAGO,IAAvBkK,EAAOguC,aAEPxkD,KAAKwkD,YAAYl4C,QAGjBtM,KAAK4iD,WAAiC,IAApBpsC,EAAOosC,UAEzB5iD,KAAK4iD,SAASt2C,QAGlB,IAAI+/B,EAAQrsC,KAEZA,KAAK4kD,mBAAqB,SAAUvU,GAEhChE,EAAMwY,kBAAkBxU,IAG5BrwC,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,QAAS3wC,KAAK4kD,oBAAoB,IAQxEpiD,QAAS,WAELxC,KAAKktC,MAAM/gC,OACXnM,KAAKskD,WAAWn4C,OAChBnM,KAAK6iD,MAAM12C,OACXnM,KAAK8iD,UAAU32C,OACfnM,KAAKwkD,YAAYr4C,OAEbnM,KAAK4iD,UAEL5iD,KAAK4iD,SAASz2C,OAGdnM,KAAK+iD,SAEL/iD,KAAK+iD,QAAQ52C,OAGjBnM,KAAK4gD,iBAELp/C,EAAOqF,WAAWsV,OAAOnc,MAEzBA,KAAK+C,KAAKmU,OAAO06B,oBAAoB,QAAS5xC,KAAK4kD,qBAyBvDE,+BAAgC,SAAUnQ,EAAU7mC,GAEhD9N,KAAK6gD,uBAAyBlM,EAC9B30C,KAAK8gD,8BAAgChzC,GAuBzCi3C,gBAAiB,SAAUpQ,EAAU7mC,GAEjC9N,KAAK4gD,cAAc94C,MAAO6sC,SAAUA,EAAU7mC,QAASA,KAkB3Dk3C,qBAAsB,SAAUrQ,EAAU7mC,EAASm3C,QAEjC1+C,IAAV0+C,IAAuBA,GAAQ,GAEnCjlD,KAAK8hD,mBAAmBh6C,MAAO6sC,SAAUA,EAAU7mC,QAASA,EAASm3C,MAAOA,KAWhFC,wBAAyB,SAAUvQ,EAAU7mC,GAIzC,IAFA,IAAIpL,EAAI1C,KAAK8hD,mBAAmBn/C,OAEzBD,KAEH,GAAI1C,KAAK8hD,mBAAmBp/C,GAAGiyC,WAAaA,GAAY30C,KAAK8hD,mBAAmBp/C,GAAGoL,UAAYA,EAG3F,OADA9N,KAAK8hD,mBAAmBh5C,OAAOpG,EAAG,IAC3B,EAIf,OAAO,GAWXyiD,0BAA2B,SAAUF,EAAO5U,GAIxC,IAFA,IAAI3tC,EAAI1C,KAAK8hD,mBAAmBn/C,OAEzBD,KACP,CACI,IAAI0iD,EAAKplD,KAAK8hD,mBAAmBp/C,GAE7B0iD,EAAGH,QAAUA,GAASG,EAAGzQ,SAASnwC,KAAK4gD,EAAGt3C,QAAS9N,KAAMqwC,IAEzDrwC,KAAK8hD,mBAAmBh5C,OAAOpG,EAAG,KAY9C2iD,mBAAoB,SAAU1Q,EAAU7mC,GAIpC,IAFA,IAAIpL,EAAI1C,KAAK4gD,cAAcj+C,OAEpBD,KAEH,GAAI1C,KAAK4gD,cAAcl+C,GAAGiyC,WAAaA,GAAY30C,KAAK4gD,cAAcl+C,GAAGoL,UAAYA,EAGjF,YADA9N,KAAK4gD,cAAc93C,OAAOpG,EAAG,IAczCwhD,WAAY,WAER,GAAIlkD,KAAKyiD,SAAS9/C,QAAUnB,EAAO+7C,MAAMuG,aAGrC,OADAxjD,QAAQ+Z,KAAK,6CAA+C7Y,EAAO+7C,MAAMuG,aAAe,sBACjF,KAGX,IAAI5vC,EAAKlU,KAAKyiD,SAAS9/C,OAAS,EAC5BqrC,EAAU,IAAIxsC,EAAOuiD,QAAQ/jD,KAAK+C,KAAMmR,EAAI1S,EAAOwiD,YAAYsB,SAKnE,OAHAtlD,KAAKyiD,SAAS36C,KAAKkmC,GACnBhuC,KAAK,UAAYkU,GAAM85B,EAEhBA,GASXlJ,OAAQ,WAOJ,GALI9kC,KAAK4iD,UAEL5iD,KAAK4iD,SAAS9d,SAGd9kC,KAAK+gD,SAAW,GAAK/gD,KAAKwjD,aAAexjD,KAAK+gD,SAE9C/gD,KAAKwjD,mBAFT,CAMAxjD,KAAKmhD,MAAMp9C,EAAI/D,KAAKY,SAASmD,EAAI/D,KAAKyjD,aAAa1/C,EACnD/D,KAAKmhD,MAAMn9C,EAAIhE,KAAKY,SAASoD,EAAIhE,KAAKyjD,aAAaz/C,EAEnDhE,KAAKyjD,aAAapuB,SAASr1B,KAAKY,UAChCZ,KAAK2iD,aAAa7d,SAEd9kC,KAAK+iD,SAAW/iD,KAAK+iD,QAAQrY,QAE7B1qC,KAAK+iD,QAAQje,SAGjB,IAAK,IAAIpiC,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAEtC1C,KAAKyiD,SAAS//C,GAAGoiC,SAGrB9kC,KAAKwjD,aAAe,IASxBvc,YAAa,WAELjnC,KAAK+iD,SAAW/iD,KAAK+iD,QAAQrY,QAE7B1qC,KAAK+iD,QAAQje,UAerBiB,MAAO,SAAUwf,GAEb,GAAKvlD,KAAK+C,KAAKimC,WAAYhpC,KAAKgjD,YAAhC,MAKaz8C,IAATg/C,IAAsBA,GAAO,GAEjCvlD,KAAK2iD,aAAa5c,QAEd/lC,KAAK4iD,UAEL5iD,KAAK4iD,SAAS7c,MAAMwf,GAGxB,IAAK,IAAI7iD,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAEtC1C,KAAKyiD,SAAS//C,GAAGqjC,QAGiB,SAAlC/lC,KAAK+C,KAAKmU,OAAOoE,MAAMs3B,SAEvB5yC,KAAK+C,KAAKmU,OAAOoE,MAAMs3B,OAAS,IAGhC2S,IAEAvlD,KAAKijD,OAAO7W,UACZpsC,KAAKkjD,KAAK9W,UACVpsC,KAAKmjD,MAAM/W,UACXpsC,KAAKojD,OAAOhX,UACZpsC,KAAKijD,OAAS,IAAIzhD,EAAO6gC,OACzBriC,KAAKkjD,KAAO,IAAI1hD,EAAO6gC,OACvBriC,KAAKmjD,MAAQ,IAAI3hD,EAAO6gC,OACxBriC,KAAKojD,OAAS,IAAI5hD,EAAO6gC,OACzBriC,KAAK4gD,kBAGT5gD,KAAKwjD,aAAe,IAUxBgC,WAAY,SAAUzhD,EAAGC,GAErBhE,KAAKyjD,aAAaruB,MAAMrxB,EAAGC,GAC3BhE,KAAKmhD,MAAM/rB,MAAM,EAAG,IAYxBqwB,aAAc,SAAUpV,GAEpB,GAAIrwC,KAAKqhD,aAAe,GAAKrhD,KAAK0lD,oBAAoB1lD,KAAKqhD,cAAgBrhD,KAAKqhD,YAE5E,OAAO,KAGX,IAAKrhD,KAAK+hD,SAASrX,OAEf,OAAO1qC,KAAK+hD,SAASz1C,MAAM+jC,GAG/B,IAAKrwC,KAAKgiD,SAAStX,OAEf,OAAO1qC,KAAKgiD,SAAS11C,MAAM+jC,GAG/B,IAAK,IAAI3tC,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAC1C,CACI,IAAIsrC,EAAUhuC,KAAKyiD,SAAS//C,GAE5B,IAAKsrC,EAAQtD,OAET,OAAOsD,EAAQ1hC,MAAM+jC,GAI7B,OAAO,MAYXsV,cAAe,SAAUtV,GAErB,GAAIrwC,KAAK+hD,SAASrX,QAAU1qC,KAAK+hD,SAAS6D,aAAevV,EAAMuV,WAE3D,OAAO5lD,KAAK+hD,SAAS8D,KAAKxV,GAG9B,GAAIrwC,KAAKgiD,SAAStX,QAAU1qC,KAAKgiD,SAAS4D,aAAevV,EAAMuV,WAE3D,OAAO5lD,KAAKgiD,SAAS6D,KAAKxV,GAG9B,IAAK,IAAI3tC,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAC1C,CACI,IAAIsrC,EAAUhuC,KAAKyiD,SAAS//C,GAE5B,GAAIsrC,EAAQtD,QAAUsD,EAAQ4X,aAAevV,EAAMuV,WAE/C,OAAO5X,EAAQ6X,KAAKxV,GAI5B,OAAO,MAWXyV,YAAa,SAAUzV,GAEnB,GAAIrwC,KAAK+hD,SAASrX,QAAU1qC,KAAK+hD,SAAS6D,aAAevV,EAAMuV,WAE3D,OAAO5lD,KAAK+hD,SAAS51C,KAAKkkC,GAG9B,GAAIrwC,KAAKgiD,SAAStX,QAAU1qC,KAAKgiD,SAAS4D,aAAevV,EAAMuV,WAE3D,OAAO5lD,KAAKgiD,SAAS71C,KAAKkkC,GAG9B,IAAK,IAAI3tC,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAC1C,CACI,IAAIsrC,EAAUhuC,KAAKyiD,SAAS//C,GAE5B,GAAIsrC,EAAQtD,QAAUsD,EAAQ4X,aAAevV,EAAMuV,WAE/C,OAAO5X,EAAQ7hC,KAAKkkC,GAI5B,OAAO,MAWXqV,oBAAqB,SAAUloB,QAEbj3B,IAAVi3B,IAAuBA,EAAQx9B,KAAKyiD,SAAS9/C,QAIjD,IAAK,IAFD4b,EAAQif,EAEH96B,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,QAAU4b,EAAQ,EAAG7b,IAErC1C,KAAKyiD,SAAS//C,GAEhBgoC,QAERnsB,IAIR,OAAQif,EAAQjf,GAUpBwnC,WAAY,SAAUC,QAEDz/C,IAAby/C,IAA0BA,GAAW,GAEzC,IAAK,IAAItjD,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAC1C,CACI,IAAIsrC,EAAUhuC,KAAKyiD,SAAS//C,GAE5B,GAAIsrC,EAAQtD,SAAWsb,EAEnB,OAAOhY,EAIf,OAAO,MAcXiY,yBAA0B,SAAUL,GAEhC,IAAK,IAAIljD,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAC1C,CACI,IAAIsrC,EAAUhuC,KAAKyiD,SAAS//C,GAE5B,GAAIsrC,EAAQ4X,aAAeA,EAEvB,OAAO5X,EAIf,OAAO,MAaXkY,iBAAkB,SAAUC,GAExB,IAAK,IAAIzjD,EAAI,EAAGA,EAAI1C,KAAKyiD,SAAS9/C,OAAQD,IAC1C,CACI,IAAIsrC,EAAUhuC,KAAKyiD,SAAS//C,GAE5B,GAAIsrC,EAAQmY,YAAcA,EAEtB,OAAOnY,EAIf,OAAO,MAWXoY,iBAAkB,SAAUnrC,EAAe+yB,EAAStY,QAEjCnvB,IAAXmvB,IAAwBA,EAAS,IAAIl0B,EAAOX,OAEhD,IAAI4C,EAAKwX,EAAc1Z,eACnB2S,EAAK,GAAKzQ,EAAGP,EAAIO,EAAGJ,EAAII,EAAGL,GAAKK,EAAGN,GAEvC,OAAOuyB,EAAON,MACV3xB,EAAGJ,EAAI6Q,EAAK85B,EAAQjqC,GAAKN,EAAGL,EAAI8Q,EAAK85B,EAAQhqC,GAAKP,EAAGF,GAAKE,EAAGL,EAAIK,EAAGH,GAAKG,EAAGJ,GAAK6Q,EACjFzQ,EAAGP,EAAIgR,EAAK85B,EAAQhqC,GAAKP,EAAGN,EAAI+Q,EAAK85B,EAAQjqC,IAAMN,EAAGF,GAAKE,EAAGP,EAAIO,EAAGH,GAAKG,EAAGN,GAAK+Q,IAY1FmyC,QAAS,SAAUprC,EAAe+yB,EAASsY,GAEvC,IAAKrrC,EAAc5T,aAEf,OAAO,EAOX,GAJArH,KAAKomD,iBAAiBnrC,EAAe+yB,EAAShuC,KAAKujD,aAEnD+C,EAAWjxB,SAASr1B,KAAKujD,aAErBtoC,EAAc9Z,SAAW8Z,EAAc9Z,QAAQmJ,SAE/C,OAAQ2Q,EAAc9Z,QAAQmJ,SAAStK,KAAKujD,YAAYx/C,EAAG/D,KAAKujD,YAAYv/C,GAE3E,GAAIxC,EAAO+kD,UAAYtrC,aAAyBzZ,EAAO+kD,SAC5D,CACI,IAAI3oD,EAAQ8F,KAAKizB,IAAI1b,EAAcrd,OAC/BC,EAAS6F,KAAKizB,IAAI1b,EAAcpd,QAChCyN,EAAK2P,EAAclX,EAAKnG,EAAQqd,EAAcmzB,QAElD,GAAIpuC,KAAK+C,KAAK+X,OAAO/W,EAAIiqC,EAAQjqC,GAAKuH,GAAMtL,KAAK+C,KAAK+X,OAAO/W,EAAIiqC,EAAQjqC,EAAIuH,EAAK1N,EAClF,CACQ2N,EAAK0P,EAAcjX,EAAKnG,EAASod,EAAcozB,QAEnD,GAAIruC,KAAK+C,KAAK+X,OAAO9W,EAAIgqC,EAAQhqC,GAAKuH,GAAMvL,KAAK+C,KAAK+X,OAAO9W,EAAIgqC,EAAQhqC,EAAIuH,EAAK1N,EAE9E,OAAO,QAId,GAAIod,aAAyBzZ,EAAOglD,WACzC,CACI,IAAI5oD,EAAQqd,EAAcrd,MACtBC,EAASod,EAAcpd,OACvByN,GAAM1N,EAAQqd,EAActU,OAAO5C,EAEvC,GAAI/D,KAAKujD,YAAYx/C,GAAKuH,GAAMtL,KAAKujD,YAAYx/C,EAAIuH,EAAK1N,EAC1D,CACQ2N,GAAM1N,EAASod,EAActU,OAAO3C,EAExC,GAAIhE,KAAKujD,YAAYv/C,GAAKuH,GAAMvL,KAAKujD,YAAYv/C,EAAIuH,EAAK1N,EAEtD,OAAO,QAId,GAAIod,aAAyBzc,KAAKsH,OACvC,CACI,IAAIlI,EAAQqd,EAAcld,QAAQsP,MAAMzP,MAAQqd,EAAcld,QAAQqI,YAAYxB,WAC9E/G,EAASod,EAAcld,QAAQsP,MAAMxP,OAASod,EAAcld,QAAQqI,YAAYxB,WAChF0G,GAAM1N,EAAQqd,EAActU,OAAO5C,EAEvC,GAAI/D,KAAKujD,YAAYx/C,GAAKuH,GAAMtL,KAAKujD,YAAYx/C,EAAIuH,EAAK1N,EAC1D,CACI,IAAI2N,GAAM1N,EAASod,EAActU,OAAO3C,EAExC,GAAIhE,KAAKujD,YAAYv/C,GAAKuH,GAAMvL,KAAKujD,YAAYv/C,EAAIuH,EAAK1N,EAEtD,OAAO,QAId,GAAIod,aAAyBzZ,EAAOqiC,SAErC,IAASnhC,EAAI,EAAGA,EAAIuY,EAAcwrC,aAAa9jD,OAAQD,IACvD,CACI,IAAI0R,EAAO6G,EAAcwrC,aAAa/jD,GAEtC,GAAK0R,EAAKsyC,OAMNtyC,EAAKuyC,OAASvyC,EAAKuyC,MAAMr8C,SAAStK,KAAKujD,YAAYx/C,EAAG/D,KAAKujD,YAAYv/C,IAEvE,OAAO,EAOnB,IAAK,IAAItB,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/C,GAAI1C,KAAKqmD,QAAQprC,EAAcxY,SAASC,GAAIsrC,EAASsY,GAEjD,OAAO,EAIf,OAAO,GASXzB,kBAAmB,WAMf7kD,KAAK0iD,cAAckE,2BAWvBlP,QAAS,SAAUmP,EAAS7Y,GAKxB,IAHA,IAAI6L,EAAO75C,KAAKsjD,iBAAiBzJ,KAC7Bn3C,EAAIm3C,EAAKl3C,OAEND,KACP,CACI,IAAI4E,EAAOuyC,EAAKn3C,GAEZ4E,GAAQA,EAAK05C,SAEb15C,EAAKu/C,GAAS7Y,MAO9BxsC,EAAO+7C,MAAMj7C,UAAUC,YAAcf,EAAO+7C,MAQ5Cv2C,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,KAE1C4E,IAAK,WAED,OAAOlH,KAAK0jD,IAGhBv8C,IAAK,SAAUC,GAEXpH,KAAK0jD,GAAKhgD,KAAKmsB,MAAMzoB,MAW7BJ,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,KAE1C4E,IAAK,WAED,OAAOlH,KAAK2jD,IAGhBx8C,IAAK,SAAUC,GAEXpH,KAAK2jD,GAAKjgD,KAAKmsB,MAAMzoB,MAW7BJ,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,cAE1C4E,IAAK,WAED,OAAQlH,KAAK+gD,SAAW,GAAK/gD,KAAKwjD,aAAexjD,KAAK+gD,YAW9D/5C,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,yBAE1C4E,IAAK,WAED,OAAOlH,KAAKyiD,SAAS9/C,OAAS3C,KAAK0lD,yBAW3C1+C,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,uBAE1C4E,IAAK,WAED,OAAOlH,KAAK0lD,yBAWpB1+C,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK+D,KAW9CiD,OAAOyF,eAAejL,EAAO+7C,MAAMj7C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKgE,KAyB9CxC,EAAO2iD,MAAQ,SAAUphD,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAKmmC,MAAQpjC,EAAKojC,MAKlBnmC,KAAKipC,gBAAkBjpC,KAAK+C,KAO5B/C,KAAK8mD,kBAAoB,KAOzB9mD,KAAK+mD,gBAAkB,KAQvB/mD,KAAKgnD,iBAAmB,KAOxBhnD,KAAKinD,kBAAoB,KAKzBjnD,KAAKknD,SAAU,EAQflnD,KAAK0qC,QAAS,EASd1qC,KAAKghD,SAAU,EAQfhhD,KAAKmnD,eAAgB,EAQrBnnD,KAAKqwC,MAAQ,KAMbrwC,KAAKonD,aAAe,KAMpBpnD,KAAKqnD,aAAe,KAMpBrnD,KAAKsnD,WAAa,KAMlBtnD,KAAKunD,YAAc,KAMnBvnD,KAAKwnD,aAAe,MAOxBhmD,EAAO2iD,MAAMsD,WAAa,EAM1BjmD,EAAO2iD,MAAMuD,YAAc,EAM3BlmD,EAAO2iD,MAAMwD,cAAgB,EAM7BnmD,EAAO2iD,MAAMyD,aAAe,EAM5BpmD,EAAO2iD,MAAM0D,YAAc,EAM3BrmD,EAAO2iD,MAAM2D,eAAiB,EAE9BtmD,EAAO2iD,MAAM7hD,WAOTgK,MAAO,WAEH,IAAI2d,EAASjqB,KAAK+C,KAAKknB,OAEvB,GAAIA,EAAO89B,yBAA2B/nD,KAAKmmC,MAAM0c,MAAMnY,OAGnD,OAAO,EAGX,GAA0B,OAAtB1qC,KAAKonD,aAGL,OAAO,EAGX,IAAI/a,EAAQrsC,KAEZA,KAAKonD,aAAe,SAAU/W,GAE1B,OAAOhE,EAAM2b,YAAY3X,IAG7BrwC,KAAKqnD,aAAe,SAAUhX,GAE1B,OAAOhE,EAAM4b,YAAY5X,IAG7BrwC,KAAKsnD,WAAa,SAAUjX,GAExB,OAAOhE,EAAM6b,UAAU7X,IAG3BrwC,KAAKmoD,iBAAmB,SAAU9X,GAE9B,OAAOhE,EAAM+b,gBAAgB/X,IAGjCrwC,KAAKqoD,kBAAoB,SAAUhY,GAE/B,OAAOhE,EAAMic,iBAAiBjY,IAGlCrwC,KAAKunD,YAAc,SAAUlX,GAEzB,OAAOhE,EAAMkc,WAAWlY,IAG5BrwC,KAAKwnD,aAAe,SAAUnX,GAE1B,OAAOhE,EAAMmc,YAAYnY,IAG7B,IAAIn5B,EAASlX,KAAK+C,KAAKmU,OAgBvB,OAdAA,EAAOy5B,iBAAiB,YAAa3wC,KAAKonD,cAAc,GACxDlwC,EAAOy5B,iBAAiB,YAAa3wC,KAAKqnD,cAAc,GACxDnwC,EAAOy5B,iBAAiB,UAAW3wC,KAAKsnD,YAAY,GAE/Cr9B,EAAOi1B,WAER9uC,OAAOugC,iBAAiB,UAAW3wC,KAAKmoD,kBAAkB,GAC1D/3C,OAAOugC,iBAAiB,WAAY3wC,KAAKqoD,mBAAmB,GAC5DnxC,EAAOy5B,iBAAiB,YAAa3wC,KAAKwnD,cAAc,GACxDtwC,EAAOy5B,iBAAiB,WAAY3wC,KAAKunD,aAAa,IAG1DvnD,KAAK0qC,QAAS,GAEP,GAQXsd,YAAa,SAAU3X,GAEnBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGNr/C,KAAK8mD,mBAEL9mD,KAAK8mD,kBAAkBtiD,KAAKxE,KAAKipC,gBAAiBoH,GAGjDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjC3Q,EAAMuV,WAAa,EAEnB5lD,KAAKmmC,MAAMwc,aAAar2C,MAAM+jC,KAQlC4X,YAAa,SAAU5X,GAEnBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGNr/C,KAAKyoD,mBAELzoD,KAAKyoD,kBAAkBjkD,KAAKxE,KAAKipC,gBAAiBoH,GAGjDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjC3Q,EAAMuV,WAAa,EAEnB5lD,KAAKmmC,MAAMwc,aAAakD,KAAKxV,KAQjC6X,UAAW,SAAU7X,GAEjBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGNr/C,KAAK+mD,iBAEL/mD,KAAK+mD,gBAAgBviD,KAAKxE,KAAKipC,gBAAiBoH,GAG/CrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjC3Q,EAAMuV,WAAa,EAEnB5lD,KAAKmmC,MAAMwc,aAAax2C,KAAKkkC,KASjC+X,gBAAiB,SAAU/X,GAElBrwC,KAAKmmC,MAAMwc,aAAa+F,aAErB1oD,KAAK+mD,iBAEL/mD,KAAK+mD,gBAAgBviD,KAAKxE,KAAKipC,gBAAiBoH,GAGpDA,EAAMuV,WAAa,EAEnB5lD,KAAKmmC,MAAMwc,aAAax2C,KAAKkkC,KAUrCiY,iBAAkB,SAAUjY,GAExBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGVr/C,KAAKmmC,MAAMwc,aAAa+F,YAAa,EAEhC1oD,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAejChhD,KAAKmmC,MAAMwc,aAAax2C,KAAKkkC,GAG7BrwC,KAAKmmC,MAAMwc,aAAagG,iBAS5BJ,WAAY,SAAUlY,GAElBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGVr/C,KAAKmmC,MAAMwc,aAAa+F,YAAa,EAEjC1oD,KAAKgnD,kBAELhnD,KAAKgnD,iBAAiBxiD,KAAKxE,KAAKipC,gBAAiBoH,GAGhDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjChhD,KAAKmmC,MAAMwc,aAAaiG,cAAcvY,GAElCrwC,KAAKmnD,gBAEL9W,EAAMuV,WAAa,EAEnB5lD,KAAKmmC,MAAMwc,aAAax2C,KAAKkkC,GAE7BrwC,KAAKmmC,MAAMuR,QAAQ,qBAAsB13C,KAAKmmC,MAAMwc,iBAU5D6F,YAAa,SAAUnY,GAEnBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGVr/C,KAAKmmC,MAAMwc,aAAa+F,YAAa,EAEjC1oD,KAAKinD,mBAELjnD,KAAKinD,kBAAkBziD,KAAKxE,KAAKipC,gBAAiBoH,GAGjDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,SAKjChhD,KAAKmmC,MAAMwc,aAAaiG,cAAcvY,IAO1ClkC,KAAM,WAEF,IAAI+K,EAASlX,KAAK+C,KAAKmU,OAEvBA,EAAO06B,oBAAoB,YAAa5xC,KAAKonD,cAAc,GAC3DlwC,EAAO06B,oBAAoB,YAAa5xC,KAAKqnD,cAAc,GAC3DnwC,EAAO06B,oBAAoB,UAAW5xC,KAAKsnD,YAAY,GACvDpwC,EAAO06B,oBAAoB,YAAa5xC,KAAKwnD,cAAc,GAC3DtwC,EAAO06B,oBAAoB,WAAY5xC,KAAKunD,aAAa,GAEzDn3C,OAAOwhC,oBAAoB,UAAW5xC,KAAKmoD,kBAAkB,GAC7D/3C,OAAOwhC,oBAAoB,WAAY5xC,KAAKqoD,mBAAmB,GAE/DroD,KAAK0qC,QAAS,IAKtBlpC,EAAO2iD,MAAM7hD,UAAUC,YAAcf,EAAO2iD,MAQ5C3iD,EAAO+iD,WAAa,SAAUxhD,GAM1B/C,KAAK+C,KAAOA,EAMZ/C,KAAKmmC,MAAQpjC,EAAKojC,MAMlBnmC,KAAK6oD,QAAU9lD,EAAKmU,OAOpBlX,KAAKq/C,gBAAiB,EAStBr/C,KAAK0qC,QAAS,EAOd1qC,KAAK20C,SAAW,KAOhB30C,KAAKipC,gBAAkBlmC,EASvB/C,KAAK8oD,MAAQ,EAWb9oD,KAAK+oD,eAAiBhmD,EAAKknB,OAAO++B,WAQlChpD,KAAKipD,oBAAsBjpD,KAAKkpD,eAAen5B,KAAK/vB,MAOpDA,KAAKmpD,WAAa,MAOtB3nD,EAAO+iD,WAAWv4B,GAAK,EAMvBxqB,EAAO+iD,WAAWt4B,MAAQ,EAO1BzqB,EAAO+iD,WAAWjiD,UAAUgK,MAAQ,WAEhC,SAAKtM,KAAK+oD,gBAAkB/oD,KAAK0qC,UAKjC1qC,KAAK6oD,QAAQlY,iBAAiB3wC,KAAK+oD,eAAgB/oD,KAAKipD,qBAAqB,GAEjD,eAAxBjpD,KAAK+oD,eAEL/oD,KAAKmpD,WAAa,IAAI3nD,EAAO4nD,iBAAgB,KAAS,GAEzB,mBAAxBppD,KAAK+oD,iBAEV/oD,KAAKmpD,WAAa,IAAI3nD,EAAO4nD,gBAAgB,EAAG,IAGpDppD,KAAK0qC,QAAS,GAEP,IAOXlpC,EAAO+iD,WAAWjiD,UAAU6J,KAAO,WAE1BnM,KAAK0qC,SAKV1qC,KAAK6oD,QAAQjX,oBAAoB5xC,KAAK+oD,eAAgB/oD,KAAKipD,qBAAqB,GAEhFjpD,KAAK0qC,QAAS,IASlBlpC,EAAO+iD,WAAWjiD,UAAU4mD,eAAiB,SAAU7Y,GAE/CrwC,KAAKmpD,aAEL9Y,EAAQrwC,KAAKmpD,WAAWE,UAAUhZ,IAGlCrwC,KAAKq/C,gBAELhP,EAAMgP,iBAIVr/C,KAAK8oD,MAAQtnD,EAAOkC,KAAK+4B,OAAO4T,EAAMiZ,QAAS,EAAG,GAE9CtpD,KAAK20C,UAEL30C,KAAK20C,SAASnwC,KAAKxE,KAAKipC,gBAAiBoH,IA8BjD7uC,EAAO6iD,UAAY,SAAUthD,GAKzB/C,KAAK+C,KAAOA,EAMZ/C,KAAKmmC,MAAQpjC,EAAKojC,MAKlBnmC,KAAKipC,gBAAkBjpC,KAAK+C,KAK5B/C,KAAKupD,oBAAsB,KAK3BvpD,KAAKwpD,oBAAsB,KAK3BxpD,KAAKypD,kBAAoB,KAKzBzpD,KAAK0pD,mBAAqB,KAK1B1pD,KAAK2pD,oBAAsB,KAK3B3pD,KAAK4pD,sBAAwB,KAgB7B5pD,KAAKknD,SAAU,EAQflnD,KAAKqwC,MAAQ,KAQbrwC,KAAK0qC,QAAS,EAOd1qC,KAAKghD,SAAU,EAOfhhD,KAAKmnD,eAAgB,EAMrBnnD,KAAK6pD,iBAAmB,KAMxB7pD,KAAK8pD,iBAAmB,KAMxB9pD,KAAK+pD,eAAiB,KAMtB/pD,KAAKgqD,qBAAuB,KAM5BhqD,KAAKiqD,gBAAkB,KAMvBjqD,KAAKkqD,iBAAmB,MAG5B1oD,EAAO6iD,UAAU/hD,WAMbgK,MAAO,WAEH,IAAKtM,KAAK+C,KAAKknB,OAAO64B,UAElB,OAAO,EAGX,GAA8B,OAA1B9iD,KAAK6pD,iBAGL,OAAO,EAGX,IAAIxd,EAAQrsC,KAEZA,KAAK6pD,iBAAmB,SAAUxZ,GAE9B,OAAOhE,EAAM8d,cAAc9Z,IAG/BrwC,KAAK8pD,iBAAmB,SAAUzZ,GAE9B,OAAOhE,EAAM+d,cAAc/Z,IAG/BrwC,KAAK+pD,eAAiB,SAAU1Z,GAE5B,OAAOhE,EAAMge,YAAYha,IAG7BrwC,KAAKgqD,qBAAuB,SAAU3Z,GAElC,OAAOhE,EAAMie,kBAAkBja,IAGnCrwC,KAAKiqD,gBAAkB,SAAU5Z,GAE7B,OAAOhE,EAAMke,aAAala,IAG9BrwC,KAAKkqD,iBAAmB,SAAU7Z,GAE9B,OAAOhE,EAAMme,cAAcna,IAG/BrwC,KAAKyqD,mBAAqB,SAAUpa,GAEhC,OAAOhE,EAAMqe,gBAAgBra,IAGjC,IAAIn5B,EAASlX,KAAK+C,KAAKmU,OA8BvB,OA5BAA,EAAOy5B,iBAAiB,gBAAiB3wC,KAAK6pD,kBAAkB,GAChE3yC,EAAOy5B,iBAAiB,gBAAiB3wC,KAAK8pD,kBAAkB,GAChE5yC,EAAOy5B,iBAAiB,cAAe3wC,KAAK+pD,gBAAgB,GAC5D7yC,EAAOy5B,iBAAiB,kBAAmB3wC,KAAKyqD,oBAAoB,GAGpEvzC,EAAOy5B,iBAAiB,cAAe3wC,KAAK6pD,kBAAkB,GAC9D3yC,EAAOy5B,iBAAiB,cAAe3wC,KAAK8pD,kBAAkB,GAC9D5yC,EAAOy5B,iBAAiB,YAAa3wC,KAAK+pD,gBAAgB,GAC1D7yC,EAAOy5B,iBAAiB,gBAAiB3wC,KAAKyqD,oBAAoB,GAElEvzC,EAAOoE,MAAM,uBAAyB,OACtCpE,EAAOoE,MAAM,oBAAsB,OAE9Btb,KAAK+C,KAAKknB,OAAOi1B,WAElB9uC,OAAOugC,iBAAiB,cAAe3wC,KAAKgqD,sBAAsB,GAClE9yC,EAAOy5B,iBAAiB,gBAAiB3wC,KAAKkqD,kBAAkB,GAChEhzC,EAAOy5B,iBAAiB,eAAgB3wC,KAAKiqD,iBAAiB,GAG9D75C,OAAOugC,iBAAiB,YAAa3wC,KAAKgqD,sBAAsB,GAChE9yC,EAAOy5B,iBAAiB,cAAe3wC,KAAKkqD,kBAAkB,GAC9DhzC,EAAOy5B,iBAAiB,aAAc3wC,KAAKiqD,iBAAiB,IAGhEjqD,KAAK0qC,QAAS,GAEP,GASXyf,cAAe,SAAU9Z,GAErBrwC,KAAK+C,KAAKojC,MAAMgf,2BAA0B,EAAO9U,GAEjDrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGNr/C,KAAKupD,qBAELvpD,KAAKupD,oBAAoB/kD,KAAKxE,KAAKipC,gBAAiBoH,GAGnDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjC3Q,EAAMuV,WAAavV,EAAM8V,UAErBnmD,KAAK2qD,oBAAoBta,GAEzBrwC,KAAKmmC,MAAMwc,aAAar2C,MAAM+jC,GAI9BrwC,KAAKmmC,MAAMsf,aAAapV,KAShC+Z,cAAe,SAAU/Z,GAErBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGNr/C,KAAKwpD,qBAELxpD,KAAKwpD,oBAAoBhlD,KAAKxE,KAAKipC,gBAAiBoH,GAGnDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjC3Q,EAAMuV,WAAavV,EAAM8V,UAErBnmD,KAAK2qD,oBAAoBta,GAEzBrwC,KAAKmmC,MAAMwc,aAAakD,KAAKxV,GAI7BrwC,KAAKmmC,MAAMwf,cAActV,KASjCga,YAAa,SAAUha,GAEnBrwC,KAAK+C,KAAKojC,MAAMgf,2BAA0B,EAAM9U,GAEhDrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGNr/C,KAAKypD,mBAELzpD,KAAKypD,kBAAkBjlD,KAAKxE,KAAKipC,gBAAiBoH,GAGjDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,UAKjC3Q,EAAMuV,WAAavV,EAAM8V,UAErBnmD,KAAK2qD,oBAAoBta,GAEzBrwC,KAAKmmC,MAAMwc,aAAax2C,KAAKkkC,GAI7BrwC,KAAKmmC,MAAM2f,YAAYzV,KAU/Bia,kBAAmB,SAAUja,GAIzB,GAFAA,EAAMuV,WAAavV,EAAM8V,UAErBnmD,KAAK2qD,oBAAoBta,KAAWrwC,KAAKmmC,MAAMwc,aAAa+F,WAE5D1oD,KAAKqqD,YAAYha,OAGrB,CACI,IAAIrC,EAAUhuC,KAAKmmC,MAAM8f,yBAAyB5V,EAAMuV,YAEpD5X,GAAWA,EAAQ0a,YAEnB1oD,KAAKqqD,YAAYha,KAW7Bka,aAAc,SAAUla,GAEpBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGVhP,EAAMuV,WAAavV,EAAM8V,UAEzB,IAAInY,EAAUhuC,KAAK4qD,oBAAoBva,GAEnCrC,IAEAA,EAAQ0a,YAAa,GAGrB1oD,KAAK0pD,oBAEL1pD,KAAK0pD,mBAAmBllD,KAAKxE,KAAKipC,gBAAiBoH,GAGlDrwC,KAAKmmC,MAAM6a,SAAYhhD,KAAKghD,SAK7BhhD,KAAKmnD,gBAEL9W,EAAMuV,WAAa,EAEd5X,IAEDA,EAAUhuC,KAAKmmC,MAAMwc,cAGzB3U,EAAQ7hC,KAAKkkC,GAEbrwC,KAAKmmC,MAAMuR,QAAQ,qBAAsB1J,KAUjDwc,cAAe,SAAUna,GAErBrwC,KAAKqwC,MAAQA,EAETrwC,KAAKknD,SAEL7W,EAAMgP,iBAGVhP,EAAMuV,WAAavV,EAAM8V,UAEzB,IAAInY,EAAUhuC,KAAK4qD,oBAAoBva,GAEnCrC,IAEAA,EAAQ0a,YAAa,GAGrB1oD,KAAK2pD,qBAEL3pD,KAAK2pD,oBAAoBnlD,KAAKxE,KAAKipC,gBAAiBoH,IAU5Dqa,gBAAiB,SAAUra,GAEvBrwC,KAAKqwC,MAAQA,EAETrwC,KAAK4pD,uBAEL5pD,KAAK4pD,sBAAsBplD,KAAKxE,KAAKipC,gBAAiBoH,GAGrDrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,UAKtC3Q,EAAMuV,WAAavV,EAAM8V,UAErBnmD,KAAK2qD,oBAAoBta,GAEzBrwC,KAAKmmC,MAAMwc,aAAax2C,KAAKkkC,GAI7BrwC,KAAKmmC,MAAM2f,YAAYzV,KAQ/BlkC,KAAM,WAEF,IAAI+K,EAASlX,KAAK+C,KAAKmU,OAEvBA,EAAO06B,oBAAoB,gBAAiB5xC,KAAK6pD,kBAAkB,GACnE3yC,EAAO06B,oBAAoB,gBAAiB5xC,KAAK8pD,kBAAkB,GACnE5yC,EAAO06B,oBAAoB,cAAe5xC,KAAK+pD,gBAAgB,GAG/D7yC,EAAO06B,oBAAoB,cAAe5xC,KAAK6pD,kBAAkB,GACjE3yC,EAAO06B,oBAAoB,cAAe5xC,KAAK8pD,kBAAkB,GACjE5yC,EAAO06B,oBAAoB,YAAa5xC,KAAK+pD,gBAAgB,GAE7D35C,OAAOwhC,oBAAoB,cAAe5xC,KAAKgqD,sBAAsB,GACrE9yC,EAAO06B,oBAAoB,gBAAiB5xC,KAAKkqD,kBAAkB,GACnEhzC,EAAO06B,oBAAoB,eAAgB5xC,KAAKiqD,iBAAiB,GAGjE75C,OAAOwhC,oBAAoB,YAAa5xC,KAAKgqD,sBAAsB,GACnE9yC,EAAO06B,oBAAoB,cAAe5xC,KAAKkqD,kBAAkB,GACjEhzC,EAAO06B,oBAAoB,aAAc5xC,KAAKiqD,iBAAiB,GAE/DjqD,KAAK0qC,QAAS,GAQlBigB,oBAAqB,SAAUta,GAE3B,MAA8B,UAAtBA,EAAMwa,aAAiD,IAAtBxa,EAAMwa,aAQnDD,oBAAqB,SAAUva,GAE3B,OAAOrwC,KAAK2qD,oBAAoBta,GAC1BrwC,KAAKmmC,MAAMwc,aACX3iD,KAAKmmC,MAAM8f,yBAAyB5V,EAAMuV,cAKxDpkD,EAAO6iD,UAAU/hD,UAAUC,YAAcf,EAAO6iD,UAgChD7iD,EAAOspD,aAAe,SAAUzpD,EAAQ0pD,GAKpC/qD,KAAKqB,OAASA,EAKdrB,KAAK+C,KAAO1B,EAAO0B,KAMnB/C,KAAKqwC,MAAQ,KAMbrwC,KAAKgrD,QAAS,EAMdhrD,KAAKirD,MAAO,EAMZjrD,KAAKkrD,SAAW,EAMhBlrD,KAAKmrD,OAAS,EAQdnrD,KAAKorD,QAAU,EAQfprD,KAAKqrD,QAAS,EAQdrrD,KAAKsrD,UAAW,EAQhBtrD,KAAKurD,SAAU,EAMfvrD,KAAKoH,MAAQ,EAKbpH,KAAK+qD,WAAaA,EAQlB/qD,KAAKijD,OAAS,IAAIzhD,EAAO6gC,OAQzBriC,KAAKkjD,KAAO,IAAI1hD,EAAO6gC,OAQvBriC,KAAKwrD,QAAU,IAAIhqD,EAAO6gC,QAG9B7gC,EAAOspD,aAAaxoD,WAWhBgK,MAAO,SAAU+jC,EAAOjpC,GAEhBpH,KAAKgrD,SAKThrD,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EACZjrD,KAAKkrD,SAAWlrD,KAAK+C,KAAKmiC,KAAKA,KAC/BllC,KAAKorD,QAAU,EAEfprD,KAAKqwC,MAAQA,EACbrwC,KAAKoH,MAAQA,EAETipC,IAEArwC,KAAKqrD,OAAShb,EAAMgb,OACpBrrD,KAAKsrD,SAAWjb,EAAMib,SACtBtrD,KAAKurD,QAAUlb,EAAMkb,SAGzBvrD,KAAKijD,OAAO7d,SAASplC,KAAMoH,KAY/B+E,KAAM,SAAUkkC,EAAOjpC,GAEfpH,KAAKirD,OAKTjrD,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EACZjrD,KAAKmrD,OAASnrD,KAAK+C,KAAKmiC,KAAKA,KAE7BllC,KAAKqwC,MAAQA,EACbrwC,KAAKoH,MAAQA,EAETipC,IAEArwC,KAAKqrD,OAAShb,EAAMgb,OACpBrrD,KAAKsrD,SAAWjb,EAAMib,SACtBtrD,KAAKurD,QAAUlb,EAAMkb,SAGzBvrD,KAAKkjD,KAAK9d,SAASplC,KAAMoH,KAa7BqkD,UAAW,SAAUC,EAAWrb,EAAOjpC,GAE/BskD,EAEA1rD,KAAKsM,MAAM+jC,EAAOjpC,GAIlBpH,KAAKmM,KAAKkkC,EAAOjpC,IAWzBukD,SAAU,SAAUvkD,GAEhBpH,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EAEZjrD,KAAKoH,MAAQA,EAEbpH,KAAKwrD,QAAQpmB,SAASplC,KAAMoH,IAWhCwkD,YAAa,SAAU/oB,GAInB,OAFAA,EAAWA,GAAY,IAEf7iC,KAAKgrD,QAAWhrD,KAAKkrD,SAAWroB,EAAY7iC,KAAK+C,KAAKmiC,KAAKA,MAWvE2mB,aAAc,SAAUhpB,GAIpB,OAFAA,EAAWA,GAAY,IAEf7iC,KAAKirD,MAASjrD,KAAKmrD,OAAStoB,EAAY7iC,KAAK+C,KAAKmiC,KAAKA,MAQnEa,MAAO,WAEH/lC,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EAEZjrD,KAAKkrD,SAAWlrD,KAAK+C,KAAKmiC,KAAKA,KAC/BllC,KAAKorD,QAAU,EAEfprD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,UAAW,EAChBtrD,KAAKurD,SAAU,GASnB/oD,QAAS,WAELxC,KAAKijD,OAAO7W,UACZpsC,KAAKkjD,KAAK9W,UACVpsC,KAAKwrD,QAAQpf,UAEbpsC,KAAKqB,OAAS,KACdrB,KAAK+C,KAAO,OAKpBvB,EAAOspD,aAAaxoD,UAAUC,YAAcf,EAAOspD,aAUnD9jD,OAAOyF,eAAejL,EAAOspD,aAAaxoD,UAAW,YAEjD4E,IAAK,WAED,OAAIlH,KAAKirD,MAEG,EAGLjrD,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKkrD,YAoB1C1pD,EAAOuiD,QAAU,SAAUhhD,EAAMmR,EAAI43C,GAKjC9rD,KAAK+C,KAAOA,EAKZ/C,KAAKkU,GAAKA,EAMVlU,KAAKwT,KAAOhS,EAAO6rB,QAMnBrtB,KAAKkN,QAAS,EAMdlN,KAAK4lD,WAAa,EAMlB5lD,KAAKmmD,UAAY,KAKjBnmD,KAAK8rD,YAAcA,GAAgBtqD,EAAOwiD,YAAYC,OAASziD,EAAOwiD,YAAYsB,QAMlFtlD,KAAKgI,OAAS,KASdhI,KAAK+rD,OAAS,KAWd/rD,KAAKgsD,WAAa,IAAIxqD,EAAOspD,aAAa9qD,KAAMwB,EAAOuiD,QAAQ2D,aAa/D1nD,KAAKisD,aAAe,IAAIzqD,EAAOspD,aAAa9qD,KAAMwB,EAAOuiD,QAAQ4D,eAajE3nD,KAAKksD,YAAc,IAAI1qD,EAAOspD,aAAa9qD,KAAMwB,EAAOuiD,QAAQ6D,cAahE5nD,KAAKmsD,WAAa,IAAI3qD,EAAOspD,aAAa9qD,KAAMwB,EAAOuiD,QAAQ8D,aAa/D7nD,KAAKosD,cAAgB,IAAI5qD,EAAOspD,aAAa9qD,KAAMwB,EAAOuiD,QAAQ+D,gBAalE9nD,KAAKqsD,aAAe,IAAI7qD,EAAOspD,aAAa9qD,KAAMwB,EAAOuiD,QAAQuI,eAOjEtsD,KAAKusD,WAAY,EAMjBvsD,KAAKwsD,YAMLxsD,KAAKysD,UAAY,EAMjBzsD,KAAK0sD,aAAc,EAKnB1sD,KAAK0oD,YAAa,EAKlB1oD,KAAK2sD,SAAW,EAKhB3sD,KAAK4sD,SAAW,EAKhB5sD,KAAK6sD,OAAS,EAKd7sD,KAAK8sD,OAAS,EAKd9sD,KAAK+sD,SAAW,EAKhB/sD,KAAKgtD,SAAW,EAOhBhtD,KAAKitD,aAAe,EAOpBjtD,KAAKktD,aAAe,EAMpBltD,KAAKmtD,UAAY,EAMjBntD,KAAKotD,UAAY,EAMjBptD,KAAK+D,GAAK,EAMV/D,KAAKgE,GAAK,EAKVhE,KAAKqtD,QAAkB,IAAPn5C,EAQhBlU,KAAKgrD,QAAS,EAQdhrD,KAAKirD,MAAO,EAMZjrD,KAAKkrD,SAAW,EAMhBlrD,KAAKmrD,OAAS,EAMdnrD,KAAKstD,gBAAkB,EAMvBttD,KAAKutD,aAAe,EAMpBvtD,KAAKwtD,iBAAmB3tB,OAAOC,UAM/B9/B,KAAKytD,aAAe,KAWpBztD,KAAK0tD,yBAML1tD,KAAK0qC,QAAS,EAMd1qC,KAAKwR,OAAQ,EAKbxR,KAAKY,SAAW,IAAIY,EAAOX,MAK3Bb,KAAK2tD,aAAe,IAAInsD,EAAOX,MAK/Bb,KAAK4tD,WAAa,IAAIpsD,EAAOX,MAO7Bb,KAAKohD,OAAS,IAAI5/C,EAAOmzB,OAAO,EAAG,EAAG,IAOtC30B,KAAK6tD,kBAAoB,KAQzB7tD,KAAK8tD,wBAA0B,MAQnCtsD,EAAOuiD,QAAQ0D,UAAY,EAO3BjmD,EAAOuiD,QAAQ2D,YAAc,EAO7BlmD,EAAOuiD,QAAQ6D,aAAe,EAO9BpmD,EAAOuiD,QAAQ4D,cAAgB,EAQ/BnmD,EAAOuiD,QAAQ8D,YAAc,EAQ7BrmD,EAAOuiD,QAAQ+D,eAAiB,GAOhCtmD,EAAOuiD,QAAQuI,cAAgB,GAE/B9qD,EAAOuiD,QAAQzhD,WAQXqmD,aAAc,WAEV3oD,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EAERjrD,KAAKqtD,UAELrtD,KAAKgsD,WAAWjmB,QAChB/lC,KAAKisD,aAAalmB,QAClB/lC,KAAKksD,YAAYnmB,QACjB/lC,KAAKmsD,WAAWpmB,QAChB/lC,KAAKosD,cAAcrmB,QACnB/lC,KAAKqsD,aAAatmB,UAY1BgoB,mBAAoB,SAAUhC,EAAQ1b,GAElC,OAAQ0b,GAEJ,KAAMvqD,EAAO2iD,MAAiB,YAC1BnkD,KAAKgsD,WAAW1/C,MAAM+jC,GACtB,MAEJ,KAAM7uC,EAAO2iD,MAAkB,aAC3BnkD,KAAKksD,YAAY5/C,MAAM+jC,GACvB,MAEJ,KAAM7uC,EAAO2iD,MAAmB,cAC5BnkD,KAAKisD,aAAa3/C,MAAM+jC,GACxB,MAEJ,KAAM7uC,EAAO2iD,MAAiB,YAC1BnkD,KAAKmsD,WAAW7/C,MAAM+jC,GACtB,MAEJ,KAAM7uC,EAAO2iD,MAAoB,eAC7BnkD,KAAKosD,cAAc9/C,MAAM+jC,KAarC2d,iBAAkB,SAAUjC,EAAQ1b,GAEhC,OAAQ0b,GAEJ,KAAMvqD,EAAO2iD,MAAiB,YAC1BnkD,KAAKgsD,WAAW7/C,KAAKkkC,GACrB,MAEJ,KAAM7uC,EAAO2iD,MAAkB,aAC3BnkD,KAAKksD,YAAY//C,KAAKkkC,GACtB,MAEJ,KAAM7uC,EAAO2iD,MAAmB,cAC5BnkD,KAAKisD,aAAa9/C,KAAKkkC,GACvB,MAEJ,KAAM7uC,EAAO2iD,MAAiB,YAC1BnkD,KAAKmsD,WAAWhgD,KAAKkkC,GACrB,MAEJ,KAAM7uC,EAAO2iD,MAAoB,eAC7BnkD,KAAKosD,cAAcjgD,KAAKkkC,KAapC4d,qBAAsB,SAAUC,EAAS7d,GAErC,IAAI78B,EAAO68B,EAAM78B,KAAK26C,cAActlC,QAAQ,GACxCulC,EAAiB,SAAT56C,EACRqyC,EAAiB,SAATryC,OAEIjN,IAAZ2nD,GAGIE,GAAoB,IAAZF,GAAiB7d,EAAMkb,UAE/B2C,EAAU,GAIdluD,KAAKgsD,WAAWP,UAAUjqD,EAAOuiD,QAAQ2D,YAAcwG,EAAS7d,GAChErwC,KAAKksD,YAAYT,UAAUjqD,EAAOuiD,QAAQ6D,aAAesG,EAAS7d,GAClErwC,KAAKisD,aAAaR,UAAUjqD,EAAOuiD,QAAQ4D,cAAgBuG,EAAS7d,GACpErwC,KAAKmsD,WAAWV,UAAUjqD,EAAOuiD,QAAQ8D,YAAcqG,EAAS7d,GAChErwC,KAAKosD,cAAcX,UAAUjqD,EAAOuiD,QAAQ+D,eAAiBoG,EAAS7d,GACtErwC,KAAKqsD,aAAaZ,UAAUjqD,EAAOuiD,QAAQuI,cAAgB4B,EAAS7d,SAQ/C9pC,IAAjB8pC,EAAM0b,OAGFqC,GAAQ/d,EAAMkb,SAA4B,IAAjBlb,EAAM0b,OAE/B/rD,KAAKksD,YAAY5/C,MAAM+jC,GAGvB+d,EAEApuD,KAAK+tD,mBAAmB1d,EAAM0b,OAAQ1b,GAEhCwV,GAEN7lD,KAAKguD,iBAAiB3d,EAAM0b,OAAQ1b,GAIxC+d,EAGI/d,EAAMkb,QAENvrD,KAAKksD,YAAY5/C,MAAM+jC,GAIvBrwC,KAAKgsD,WAAW1/C,MAAM+jC,IAK1BrwC,KAAKgsD,WAAW7/C,KAAKkkC,GACrBrwC,KAAKksD,YAAY//C,KAAKkkC,KAalCuY,cAAe,SAAUvY,GAErBrwC,KAAK+rD,OAAS1b,EAAM0b,OACpB/rD,KAAKiuD,qBAAqB5d,EAAM6d,QAAS7d,GAEzCrwC,KAAKirD,MAAO,EACZjrD,KAAKgrD,QAAS,GAEVhrD,KAAKgsD,WAAWhB,QAAUhrD,KAAKksD,YAAYlB,QAAUhrD,KAAKisD,aAAajB,QAAUhrD,KAAKmsD,WAAWnB,QAAUhrD,KAAKosD,cAAcpB,QAAUhrD,KAAKqsD,aAAarB,UAE1JhrD,KAAKirD,MAAO,EACZjrD,KAAKgrD,QAAS,IAStB1+C,MAAO,SAAU+jC,GAEb,IAAIlK,EAAQnmC,KAAK+C,KAAKojC,MA2DtB,OAzDIkK,EAAM8V,YAENnmD,KAAKmmD,UAAY9V,EAAM8V,WAG3BnmD,KAAK4lD,WAAavV,EAAMuV,WACxB5lD,KAAKgI,OAASqoC,EAAMroC,OAEhBhI,KAAKqtD,QAELrtD,KAAK4oD,cAAcvY,IAInBrwC,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,GAGhBjrD,KAAK0qC,QAAS,EACd1qC,KAAK0oD,YAAa,EAClB1oD,KAAKwR,OAAQ,EAEbxR,KAAKwsD,YACLxsD,KAAK6tD,kBAAoB,KACzB7tD,KAAK8tD,wBAA0B,KAG/B9tD,KAAKwtD,iBAAmBxtD,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKkrD,SACnDlrD,KAAKkrD,SAAWlrD,KAAK+C,KAAKmiC,KAAKA,KAC/BllC,KAAKusD,WAAY,EAGjBvsD,KAAK6lD,KAAKxV,GAAO,GAGjBrwC,KAAK2tD,aAAav4B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,IAEjCmiC,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuBz/C,EAAO+7C,MAAM2D,qBACzC/a,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,uBAE1EloB,EAAMpiC,EAAI/D,KAAK+D,EACfoiC,EAAMniC,EAAIhE,KAAKgE,EACfmiC,EAAMvlC,SAASw0B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,GAClCmiC,EAAM8c,OAAO7d,SAASplC,KAAMqwC,GAC5BlK,EAAMqf,WAAWxlD,KAAK+D,EAAG/D,KAAKgE,IAGlChE,KAAK0sD,aAAc,EAEnB1sD,KAAKutD,eAEqB,OAAtBvtD,KAAKytD,cAELztD,KAAKytD,aAAaa,gBAAgBtuD,MAG/BA,MAOX8kC,OAAQ,WAEJ,IAAIqB,EAAQnmC,KAAK+C,KAAKojC,MAElBnmC,KAAK0qC,SAGD1qC,KAAKwR,QAED20B,EAAMmd,iBAAiB3K,MAAQ,GAE/B34C,KAAKuuD,2BAA0B,GAGnCvuD,KAAKwR,OAAQ,IAGM,IAAnBxR,KAAKusD,WAAuBvsD,KAAK6iC,UAAYsD,EAAMqb,YAE/Crb,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuBz/C,EAAO+7C,MAAM2D,qBACzC/a,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,sBAE1EloB,EAAMid,OAAOhe,SAASplC,MAG1BA,KAAKusD,WAAY,GAIjBpmB,EAAMwb,sBAAwB3hD,KAAK+C,KAAKmiC,KAAKA,MAAQllC,KAAKysD,YAE1DzsD,KAAKysD,UAAYzsD,KAAK+C,KAAKmiC,KAAKA,KAAOiB,EAAMyb,WAE7C5hD,KAAKwsD,SAAS1kD,MACV/D,EAAG/D,KAAKY,SAASmD,EACjBC,EAAGhE,KAAKY,SAASoD,IAGjBhE,KAAKwsD,SAAS7pD,OAASwjC,EAAM0b,aAE7B7hD,KAAKwsD,SAASgC,WAa9B3I,KAAM,SAAUxV,EAAOoe,GAEnB,IAAItoB,EAAQnmC,KAAK+C,KAAKojC,MAEtB,IAAIA,EAAMuoB,WAAV,MAKkBnoD,IAAdkoD,IAA2BA,GAAY,QAEtBloD,IAAjB8pC,EAAM0b,SAEN/rD,KAAK+rD,OAAS1b,EAAM0b,QAGpB/rD,KAAKqtD,SAELrtD,KAAK4oD,cAAcvY,GAGvBrwC,KAAK2sD,QAAUtc,EAAMsc,QACrB3sD,KAAK4sD,QAAUvc,EAAMuc,QAErB5sD,KAAK6sD,MAAQxc,EAAMwc,MACnB7sD,KAAK8sD,MAAQzc,EAAMyc,MAEnB9sD,KAAK+sD,QAAU1c,EAAM0c,QACrB/sD,KAAKgtD,QAAU3c,EAAM2c,QAEjBhtD,KAAKqtD,SAAWlnB,EAAMqe,YAAYmK,SAAWF,IAE7CzuD,KAAKitD,aAAe5c,EAAM8c,WAAa9c,EAAMue,cAAgBve,EAAMwe,iBAAmB,EACtF7uD,KAAKktD,aAAe7c,EAAM+c,WAAa/c,EAAMye,cAAgBze,EAAM0e,iBAAmB,EAEtF/uD,KAAKmtD,WAAantD,KAAKitD,aACvBjtD,KAAKotD,WAAaptD,KAAKktD,cAG3BltD,KAAK+D,GAAK/D,KAAK6sD,MAAQ7sD,KAAK+C,KAAKjC,MAAM2W,OAAO1T,GAAKoiC,EAAMrlC,MAAMiD,EAC/D/D,KAAKgE,GAAKhE,KAAK8sD,MAAQ9sD,KAAK+C,KAAKjC,MAAM2W,OAAOzT,GAAKmiC,EAAMrlC,MAAMkD,EAE/DhE,KAAKY,SAASw0B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,GACjChE,KAAKohD,OAAOr9C,EAAI/D,KAAK+D,EACrB/D,KAAKohD,OAAOp9C,EAAIhE,KAAKgE,GAEjBmiC,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuBz/C,EAAO+7C,MAAM2D,qBACzC/a,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,uBAE1EloB,EAAMuc,cAAgB1iD,KACtBmmC,EAAMpiC,EAAI/D,KAAK+D,EACfoiC,EAAMniC,EAAIhE,KAAKgE,EACfmiC,EAAMvlC,SAASw0B,MAAM+Q,EAAMpiC,EAAGoiC,EAAMniC,GACpCmiC,EAAMib,OAAOr9C,EAAIoiC,EAAMpiC,EACvBoiC,EAAMib,OAAOp9C,EAAImiC,EAAMniC,GAG3BhE,KAAK0oD,WAAa1oD,KAAK+C,KAAKjC,MAAMgE,OAAOwF,SAAStK,KAAK6sD,MAAO7sD,KAAK8sD,OAInE,IAFA,IAAIpqD,EAAIyjC,EAAMya,cAAcj+C,OAErBD,KAEHyjC,EAAMya,cAAcl+C,GAAGiyC,SAASnwC,KAAK2hC,EAAMya,cAAcl+C,GAAGoL,QAAS9N,KAAMA,KAAK+D,EAAG/D,KAAKgE,EAAGyqD,EAAWpe,GAgB1G,OAZ0B,OAAtBrwC,KAAKytD,cAA2BztD,KAAK+C,KAAKgkC,SAAU/mC,KAAKytD,aAAauB,UAA4C,IAAhChvD,KAAKytD,aAAawB,UAO/F9oB,EAAMmd,iBAAiB3K,MAAQ,GAEpC34C,KAAKuuD,0BAA0BE,IAPQ,IAAnCzuD,KAAKytD,aAAa3oB,OAAO9kC,QAEzBA,KAAKytD,aAAe,MAQrBztD,OAWXuuD,0BAA2B,SAAUE,GAGjC,IAAIS,EAAuB,EACvBC,GAA0B,EAC1BC,EAAkB,KAOlBC,EAAcrvD,KAAK+C,KAAKojC,MAAMmd,iBAAiBgM,MAInD,IAFAtvD,KAAK0tD,yBAEE2B,GAGHA,EAAYE,SAAU,GAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,IAAYlvD,KAAK+C,KAAKgkC,SAAUsoB,EAAY/rC,OAAO0rC,UAG3HK,EAAYE,SAAU,GAEjBd,GAAaY,EAAYI,iBAAiBzvD,MAAM,KAC/CyuD,GAAaY,EAAYK,iBAAiB1vD,MAAM,MAElDkvD,EAAuBG,EAAY/rC,OAAOw0B,cAC1CqX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBrvD,KAAK0tD,sBAAsB5lD,KAAKunD,KAIxCA,EAAcrvD,KAAK+C,KAAKojC,MAAMmd,iBAAiBnO,KAWnD,IAFAka,EAAcrvD,KAAK+C,KAAKojC,MAAMmd,iBAAiBgM,MAExCD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnET,GAAaY,EAAYI,iBAAiBzvD,MAAM,KAC/CyuD,GAAaY,EAAYK,iBAAiB1vD,MAAM,MAElDkvD,EAAuBG,EAAY/rC,OAAOw0B,cAC1CqX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBrvD,KAAK0tD,sBAAsB5lD,KAAKunD,IAIxCA,EAAcrvD,KAAK+C,KAAKojC,MAAMmd,iBAAiBnO,KAUnD,OAPIn1C,KAAK+C,KAAKojC,MAAM0a,yBAEhBuO,EAAkBpvD,KAAK+C,KAAKojC,MAAM0a,uBAAuBr8C,KAAKxE,KAAK+C,KAAKojC,MAAM2a,8BAA+B9gD,KAAMA,KAAK0tD,sBAAuB0B,IAGnJpvD,KAAK4vD,WAAWR,GAAiB,GAEH,OAAtBpvD,KAAKytD,cAejBmC,WAAY,SAAUC,EAAWhe,QAEdtrC,IAAXsrC,IAAwBA,GAAS,GAGnB,OAAdge,EAGI7vD,KAAKytD,eAELztD,KAAKytD,aAAaqC,mBAAmB9vD,KAAM6xC,GAC3C7xC,KAAKytD,aAAe,MAIF,OAAtBztD,KAAKytD,cAGLztD,KAAKytD,aAAeoC,EACpBA,EAAUE,oBAAoB/vD,KAAM6xC,IAKhC7xC,KAAKytD,eAAiBoC,GAGS,IAA3BA,EAAU/qB,OAAO9kC,QAEjBA,KAAKytD,aAAe,OAMxBztD,KAAKytD,aAAaqC,mBAAmB9vD,KAAM6xC,GAG3C7xC,KAAKytD,aAAeoC,EACpB7vD,KAAKytD,aAAasC,oBAAoB/vD,KAAM6xC,KAWxDme,MAAO,SAAU3f,GAEbrwC,KAAK0oD,YAAa,EAClB1oD,KAAK6lD,KAAKxV,GAAO,IASrBlkC,KAAM,SAAUkkC,GAEZ,IAAIlK,EAAQnmC,KAAK+C,KAAKojC,MAEtB,CAAA,IAAInmC,KAAK0sD,cAAe1sD,KAAK0oD,WAA7B,CAQA,GAFA1oD,KAAKmrD,OAASnrD,KAAK+C,KAAKmiC,KAAKA,MAEzBiB,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuBz/C,EAAO+7C,MAAM2D,qBACzC/a,EAAM8a,qBAAuBz/C,EAAO+7C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,uBAE1EloB,EAAM+c,KAAK9d,SAASplC,KAAMqwC,GAGtBrwC,KAAK6iC,UAAY,GAAK7iC,KAAK6iC,UAAYsD,EAAMmb,SACjD,CAEI,IAAI2O,EAAajwD,KAAKmrD,OAASnrD,KAAKstD,gBAAkBnnB,EAAMob,cAE5Dpb,EAAMgd,MAAM/d,SAASplC,KAAMiwD,EAAW5f,GAEtCrwC,KAAKstD,gBAAkBttD,KAAKmrD,OAwCpC,OApCInrD,KAAKqtD,QAELrtD,KAAK4oD,cAAcvY,IAInBrwC,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,GAIZjrD,KAAKkU,GAAK,IAEVlU,KAAK0qC,QAAS,GAGlB1qC,KAAK0oD,WAAa1oD,KAAK+C,KAAKjC,MAAMgE,OAAOwF,SAAS+lC,EAAMwc,MAAOxc,EAAMyc,OACrE9sD,KAAKmmD,UAAY,KACjBnmD,KAAK4lD,WAAa,KAElB5lD,KAAK4tD,WAAWx4B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,IAEd,IAAjBhE,KAAKqtD,SAELlnB,EAAM+pB,kBAGV/pB,EAAMuR,QAAQ,mBAAoB13C,MAE9BA,KAAK6tD,oBAEL7tD,KAAK8tD,wBAA0B9tD,KAAKytD,cAGxCztD,KAAKytD,aAAe,KAEbztD,KA5DHqwC,EAAMgP,mBAuEduM,YAAa,SAAU/oB,GAInB,OAFAA,EAAWA,GAAY7iC,KAAK+C,KAAKojC,MAAMsb,iBAEf,IAAhBzhD,KAAKgrD,QAAoBhrD,KAAKkrD,SAAWroB,EAAY7iC,KAAK+C,KAAKmiC,KAAKA,MAWhF2mB,aAAc,SAAUhpB,GAIpB,OAFAA,EAAWA,GAAY7iC,KAAK+C,KAAKojC,MAAMub,iBAE/B1hD,KAAKirD,MAASjrD,KAAKmrD,OAAStoB,EAAY7iC,KAAK+C,KAAKmiC,KAAKA,MAoBnEirB,mBAAoB,SAAUn+B,EAAM2iB,EAAU1L,EAAiBmnB,GAE3D,GAAKpwD,KAAKgrD,OAAV,CAOA,IAAK,IAFDqF,EAAerwD,KAAK6tD,kBAAoB7tD,KAAK6tD,sBAExCnrD,EAAI,EAAGA,EAAI2tD,EAAY1tD,OAAQD,IAEpC,GAAI2tD,EAAY3tD,GAAGsvB,OAASA,EAC5B,CACIq+B,EAAYvnD,OAAOpG,EAAG,GACtB,MAIR2tD,EAAYvoD,MACRkqB,KAAMA,EACNy7B,aAAcztD,KAAKytD,aACnB9Y,SAAUA,EACV1L,gBAAiBA,EACjBmnB,aAAcA,MAStBxJ,wBAAyB,WAErB,IAAIyJ,EAAcrwD,KAAK6tD,kBAEvB,GAAKwC,EAAL,CAKA,IAAK,IAAI3tD,EAAI,EAAGA,EAAI2tD,EAAY1tD,OAAQD,IACxC,CACI,IAAI4tD,EAAaD,EAAY3tD,GAEzB4tD,EAAW7C,eAAiBztD,KAAK8tD,yBAEjCwC,EAAW3b,SAASpvC,MAAM+qD,EAAWrnB,gBAAiBqnB,EAAWF,cAIzEpwD,KAAK6tD,kBAAoB,KACzB7tD,KAAK8tD,wBAA0B,OAOnC/nB,MAAO,YAEkB,IAAjB/lC,KAAKqtD,UAELrtD,KAAK0qC,QAAS,GAGlB1qC,KAAKmmD,UAAY,KACjBnmD,KAAK4lD,WAAa,KAClB5lD,KAAKwR,OAAQ,EACbxR,KAAKutD,aAAe,EACpBvtD,KAAKusD,WAAY,EACjBvsD,KAAKwsD,SAAS7pD,OAAS,EACvB3C,KAAK0sD,aAAc,EAEnB1sD,KAAK2oD,eAED3oD,KAAKytD,cAELztD,KAAKytD,aAAa8C,iBAAiBvwD,MAGvCA,KAAKytD,aAAe,MAOxB+C,cAAe,WAEXxwD,KAAKmtD,UAAY,EACjBntD,KAAKotD,UAAY,IAKzB5rD,EAAOuiD,QAAQzhD,UAAUC,YAAcf,EAAOuiD,QAW9C/8C,OAAOyF,eAAejL,EAAOuiD,QAAQzhD,UAAW,YAE5C4E,IAAK,WAED,OAAIlH,KAAKirD,MAEG,EAGLjrD,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKkrD,YAW1ClkD,OAAOyF,eAAejL,EAAOuiD,QAAQzhD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO/W,EAAI/D,KAAK+D,KAW/CiD,OAAOyF,eAAejL,EAAOuiD,QAAQzhD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO9W,EAAIhE,KAAKgE,KAe/CxC,EAAOwiD,aASHC,OAAQ,EAMRqB,QAAS,GAIb9jD,EAAOivD,gBAEPjvD,EAAOivD,aAAajvD,EAAOwiD,YAAYC,QAAU,SAEjDziD,EAAOivD,aAAajvD,EAAOwiD,YAAYsB,SAAW,UAiBlD9jD,EAAO4iD,MAAQ,SAAUrhD,GAKrB/C,KAAK+C,KAAOA,EAOZ/C,KAAK0qC,QAAS,EAOd1qC,KAAKghD,SAAU,EAKfhhD,KAAKipC,gBAAkBjpC,KAAK+C,KAK5B/C,KAAK0wD,mBAAqB,KAK1B1wD,KAAK2wD,kBAAoB,KAKzB3wD,KAAK4wD,iBAAmB,KAKxB5wD,KAAK6wD,mBAAqB,KAK1B7wD,KAAK8wD,mBAAqB,KAK1B9wD,KAAK+wD,oBAAsB,KAM3B/wD,KAAKq/C,gBAAiB,EAMtBr/C,KAAKqwC,MAAQ,KAMbrwC,KAAKgxD,cAAgB,KAMrBhxD,KAAKixD,aAAe,KAMpBjxD,KAAKkxD,YAAc,KAMnBlxD,KAAKmxD,cAAgB,KAMrBnxD,KAAKoxD,cAAgB,KAMrBpxD,KAAKqxD,eAAiB,KAMtBrxD,KAAKixD,aAAe,MAGxBzvD,EAAO4iD,MAAM9hD,WAMTgK,MAAO,WAEH,IAAKtM,KAAK+C,KAAKknB,OAAO44B,MAElB,OAAO,EAGX,GAA2B,OAAvB7iD,KAAKgxD,cAGL,OAAO,EAGX,IAAI3kB,EAAQrsC,KA6CZ,OA3CAA,KAAKgxD,cAAgB,SAAU3gB,GAE3B,OAAOhE,EAAMilB,aAAajhB,IAG9BrwC,KAAKixD,aAAe,SAAU5gB,GAE1B,OAAOhE,EAAMklB,YAAYlhB,IAG7BrwC,KAAKkxD,YAAc,SAAU7gB,GAEzB,OAAOhE,EAAMmlB,WAAWnhB,IAG5BrwC,KAAKmxD,cAAgB,SAAU9gB,GAE3B,OAAOhE,EAAMolB,aAAaphB,IAG9BrwC,KAAKoxD,cAAgB,SAAU/gB,GAE3B,OAAOhE,EAAMqlB,aAAarhB,IAG9BrwC,KAAKqxD,eAAiB,SAAUhhB,GAE5B,OAAOhE,EAAMslB,cAActhB,IAG/BrwC,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,aAAc3wC,KAAKgxD,eAAe,GACpEhxD,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,YAAa3wC,KAAKixD,cAAc,GAClEjxD,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,WAAY3wC,KAAKkxD,aAAa,GAChElxD,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,cAAe3wC,KAAKqxD,gBAAgB,GAEjErxD,KAAK+C,KAAKknB,OAAOi1B,WAElBl/C,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,aAAc3wC,KAAKmxD,eAAe,GACpEnxD,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,aAAc3wC,KAAKoxD,eAAe,IAGxEpxD,KAAK0qC,QAAS,GAEP,GAOXknB,uBAAwB,WAEpB5xD,KAAK6xD,mBAAqB,SAAUxhB,GAEhCA,EAAMgP,kBAGVrP,SAASW,iBAAiB,YAAa3wC,KAAK6xD,oBAAoB,IAQpEP,aAAc,SAAUjhB,GAMpB,GAJArwC,KAAK+C,KAAKojC,MAAMgf,2BAA0B,EAAO9U,GAEjDrwC,KAAKqwC,MAAQA,EAERrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,QAAtC,CAKIhhD,KAAK0wD,oBAEL1wD,KAAK0wD,mBAAmBlsD,KAAKxE,KAAKipC,gBAAiBoH,GAGnDrwC,KAAKq/C,gBAELhP,EAAMgP,iBAQV,IAAK,IAAI38C,EAAI,EAAGA,EAAI2tC,EAAMyhB,eAAenvD,OAAQD,IAE7C1C,KAAK+C,KAAKojC,MAAMsf,aAAapV,EAAMyhB,eAAepvD,MAU1DivD,cAAe,SAAUthB,GASrB,GAPArwC,KAAKqwC,MAAQA,EAETrwC,KAAK+wD,qBAEL/wD,KAAK+wD,oBAAoBvsD,KAAKxE,KAAKipC,gBAAiBoH,GAGnDrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,QAAtC,CAKIhhD,KAAKq/C,gBAELhP,EAAMgP,iBAOV,IAAK,IAAI38C,EAAI,EAAGA,EAAI2tC,EAAMyhB,eAAenvD,OAAQD,IAE7C1C,KAAK+C,KAAKojC,MAAM2f,YAAYzV,EAAMyhB,eAAepvD,MAUzD+uD,aAAc,SAAUphB,GAEpBrwC,KAAKqwC,MAAQA,EAETrwC,KAAK6wD,oBAEL7wD,KAAK6wD,mBAAmBrsD,KAAKxE,KAAKipC,gBAAiBoH,GAGlDrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,SAKlChhD,KAAKq/C,gBAELhP,EAAMgP,kBAUdqS,aAAc,SAAUrhB,GAEpBrwC,KAAKqwC,MAAQA,EAETrwC,KAAK8wD,oBAEL9wD,KAAK8wD,mBAAmBtsD,KAAKxE,KAAKipC,gBAAiBoH,GAGnDrwC,KAAKq/C,gBAELhP,EAAMgP,kBASdkS,YAAa,SAAUlhB,GAEnBrwC,KAAKqwC,MAAQA,EAETrwC,KAAK2wD,mBAEL3wD,KAAK2wD,kBAAkBnsD,KAAKxE,KAAKipC,gBAAiBoH,GAGlDrwC,KAAKq/C,gBAELhP,EAAMgP,iBAGV,IAAK,IAAI38C,EAAI,EAAGA,EAAI2tC,EAAMyhB,eAAenvD,OAAQD,IAE7C1C,KAAK+C,KAAKojC,MAAMwf,cAActV,EAAMyhB,eAAepvD,KAS3D8uD,WAAY,SAAUnhB,GAElBrwC,KAAK+C,KAAKojC,MAAMgf,2BAA0B,EAAM9U,GAEhDrwC,KAAKqwC,MAAQA,EAETrwC,KAAK4wD,kBAEL5wD,KAAK4wD,iBAAiBpsD,KAAKxE,KAAKipC,gBAAiBoH,GAGjDrwC,KAAKq/C,gBAELhP,EAAMgP,iBAQV,IAAK,IAAI38C,EAAI,EAAGA,EAAI2tC,EAAMyhB,eAAenvD,OAAQD,IAE7C1C,KAAK+C,KAAKojC,MAAM2f,YAAYzV,EAAMyhB,eAAepvD,KAQzDyJ,KAAM,WAEGnM,KAAK+C,KAAKknB,OAAO44B,QAKtB7iD,KAAK+C,KAAKmU,OAAO06B,oBAAoB,aAAc5xC,KAAKgxD,eACxDhxD,KAAK+C,KAAKmU,OAAO06B,oBAAoB,YAAa5xC,KAAKixD,cACvDjxD,KAAK+C,KAAKmU,OAAO06B,oBAAoB,WAAY5xC,KAAKkxD,aACtDlxD,KAAK+C,KAAKmU,OAAO06B,oBAAoB,aAAc5xC,KAAKmxD,eACxDnxD,KAAK+C,KAAKmU,OAAO06B,oBAAoB,aAAc5xC,KAAKoxD,eACxDpxD,KAAK+C,KAAKmU,OAAO06B,oBAAoB,cAAe5xC,KAAKqxD,gBAEzDrxD,KAAK0qC,QAAS,KAKtBlpC,EAAO4iD,MAAM9hD,UAAUC,YAAcf,EAAO4iD,MAe5C5iD,EAAOuwD,aAAe,SAAUzuC,GAK5BtjB,KAAKsjB,OAASA,EAKdtjB,KAAK+C,KAAOugB,EAAOvgB,KAMnB/C,KAAKghD,SAAU,EAMfhhD,KAAKuvD,SAAU,EASfvvD,KAAK2vD,WAAa,EAMlB3vD,KAAKgyD,eAAgB,EAMrBhyD,KAAKiyD,gBAAiB,EAMtBjyD,KAAKivD,WAAY,EAMjBjvD,KAAKkyD,qBAAsB,EAM3BlyD,KAAKmyD,mBAAoB,EAMzBnyD,KAAKu1C,YAAa,EAMlBv1C,KAAKoyD,WAAa,KAMlBpyD,KAAKqyD,YAAa,EAMlBryD,KAAKsyD,eAAgB,EAMrBtyD,KAAKuyD,MAAQ,EAMbvyD,KAAKwyD,MAAQ,EAMbxyD,KAAKyyD,YAAc,EAMnBzyD,KAAK0yD,YAAc,EAUnB1yD,KAAK2yD,kBAAmB,EAUxB3yD,KAAK4yD,mBAAoB,EAMzB5yD,KAAK6yD,kBAAoB,IAMzB7yD,KAAK8yD,WAAY,EAMjB9yD,KAAK+yD,WAAa,KAMlB/yD,KAAKgzD,aAAe,KAKpBhzD,KAAKizD,YAAa,EAKlBjzD,KAAKkzD,WAAa,IAAI1xD,EAAOX,MAK7Bb,KAAKmzD,gBAAiB,EAKtBnzD,KAAKozD,uBAAwB,EAK7BpzD,KAAKqzD,eAAiB,IAAI7xD,EAAOX,MAKjCb,KAAKszD,sBAAwB,EAK7BtzD,KAAKuzD,kBAAoB,EAKzBvzD,KAAKwzD,UAAY,IAAIhyD,EAAOX,MAK5Bb,KAAKyzD,UAAY,IAAIjyD,EAAOX,MAM5Bb,KAAK0zD,WAAa,IAAIlyD,EAAOX,MAM7Bb,KAAK2zD,YAAa,EAMlB3zD,KAAK4zD,cAAe,EAMpB5zD,KAAK6zD,eAAgB,EAMrB7zD,KAAK8zD,mBAAoB,EAMzB9zD,KAAK+zD,aAAc,EAMnB/zD,KAAKg0D,WAAa,IAAIxyD,EAAOX,MAM7Bb,KAAKi0D,gBAELj0D,KAAKi0D,aAAansD,MACdoM,GAAI,EACJnQ,EAAG,EACHC,EAAG,EACHkwD,KAAM,EACNC,KAAM,EACNnJ,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,KAInBztD,EAAOuwD,aAAazvD,WAUhBgK,MAAO,SAAU4+B,EAAU8mB,GAMvB,GAJA9mB,EAAWA,GAAY,OACD3kC,IAAlByrD,IAA+BA,GAAgB,IAG9B,IAAjBhyD,KAAKghD,QACT,CAEIhhD,KAAK+C,KAAKojC,MAAMmd,iBAAiBrqB,IAAIj5B,MACrCA,KAAKgyD,cAAgBA,EACrBhyD,KAAK2vD,WAAazkB,EAElB,IAAK,IAAIxoC,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKi0D,aAAavxD,IACdwR,GAAIxR,EACJqB,EAAG,EACHC,EAAG,EACHgnD,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,GAInBjvD,KAAKoyD,WAAa,IAAI5wD,EAAOX,MAC7Bb,KAAKghD,SAAU,EACfhhD,KAAK+zD,aAAc,EAMvB,OAHA/zD,KAAKsjB,OAAO6wB,OAAOsgB,eAAex7B,IAAIj5B,KAAK00D,aAAc10D,MACzDA,KAAKsjB,OAAO6wB,OAAOwgB,mBAAmB17B,IAAIj5B,KAAK40D,iBAAkB50D,MAE1DA,KAAKsjB,QAShBoxC,aAAc,WAEN10D,KAAK2zD,YAKL3zD,KAAK+zD,cAAgB/zD,KAAKghD,SAE1BhhD,KAAKsM,SAUbsoD,iBAAkB,WAEV50D,KAAK2zD,aAKL3zD,KAAKghD,SAELhhD,KAAK+zD,aAAc,EACnB/zD,KAAKmM,QAILnM,KAAK+zD,aAAc,IAQ3BhuB,MAAO,WAEH/lC,KAAKghD,SAAU,EAEf,IAAK,IAAIt+C,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKi0D,aAAavxD,IACdwR,GAAIxR,EACJqB,EAAG,EACHC,EAAG,EACHgnD,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,IASvB9iD,KAAM,YAGmB,IAAjBnM,KAAKghD,UAOLhhD,KAAKghD,SAAU,EACfhhD,KAAK+C,KAAKojC,MAAMmd,iBAAiBnnC,OAAOnc,QAQhDwC,QAAS,WAEDxC,KAAKsjB,SAEDtjB,KAAKiyD,iBAELjyD,KAAK+C,KAAKmU,OAAOoE,MAAMs3B,OAAS,GAChC5yC,KAAKiyD,gBAAiB,GAG1BjyD,KAAKghD,SAAU,EAEfhhD,KAAK+C,KAAKojC,MAAMmd,iBAAiBnnC,OAAOnc,MAExCA,KAAKi0D,aAAatxD,OAAS,EAC3B3C,KAAK+yD,WAAa,KAClB/yD,KAAKgzD,aAAe,KACpBhzD,KAAKsjB,OAAS,OAetBksC,cAAe,SAAUqF,EAAWC,EAAiBC,GAIjD,YAF4BxuD,IAAxBwuD,IAAqCA,GAAsB,MAE1D/0D,KAAKghD,SACkB,IAAxBhhD,KAAKsjB,OAAOxiB,MAAMiD,GACM,IAAxB/D,KAAKsjB,OAAOxiB,MAAMkD,GAClBhE,KAAK2vD,WAAa3vD,KAAK+C,KAAKojC,MAAMkd,eACjCrjD,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAOkH,uBAMzCwsD,IAAwB/0D,KAAK4yD,mBAAqB5yD,KAAK2yD,qBAKxD3yD,KAAK2vD,WAAakF,GAAc70D,KAAK2vD,aAAekF,GAAa70D,KAAKsjB,OAAOw0B,cAAgBgd,KAcrGE,eAAgB,WAEZ,OAAQh1D,KAAK4yD,mBAAqB5yD,KAAK2yD,kBAW3CsC,SAAU,SAAU9O,GAIhB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAWpiD,GAWxCmxD,SAAU,SAAU/O,GAIhB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAWniD,GAWxCmxD,YAAa,SAAUhP,GAInB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAW6E,QAWxCoK,UAAW,SAAUjP,GAIjB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAW8E,MAUxCoK,gBAAiB,SAAUlP,GAIvB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAW+E,UAUxCoK,cAAe,SAAUnP,GAIrB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAWgF,QAUxCoK,YAAa,SAAUpP,GAEnB,IAAKnmD,KAAKghD,QAEN,OAAO,EAGX,QAAkBz6C,IAAd4/C,EACJ,CACI,IAAK,IAAIzjD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAKi0D,aAAavxD,GAAG0xD,OAErB,OAAO,EAIf,OAAO,EAIP,OAAOp0D,KAAKi0D,aAAa9N,GAAWiO,QAW5CoB,WAAY,SAAUrP,GAElB,IAAKnmD,KAAKghD,QAEN,OAAO,EAGX,QAAkBz6C,IAAd4/C,EAYA,OAAOnmD,KAAKi0D,aAAa9N,GAAWkO,MAVpC,IAAK,IAAI3xD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAKi0D,aAAavxD,GAAG2xD,MAErB,OAAO,GAiBvBoB,gBAAiB,SAAUtP,GAIvB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAWmO,UAUxCoB,eAAgB,SAAUvP,GAItB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAWoO,SAUxCoB,eAAgB,SAAUxP,GAItB,OAFAA,EAAYA,GAAa,EAElBnmD,KAAKi0D,aAAa9N,GAAW8I,WAYxCQ,iBAAkB,SAAUzhB,EAAS4nB,GAEjC,SAAK5nB,EAAQgd,QACRhrD,KAAKghD,SACLhhD,KAAKsjB,QACLtjB,KAAKsjB,OAAOjiB,QACZrB,KAAKsjB,OAAOpiB,SACZlB,KAAKsjB,OAAOjiB,OAAOH,SACS,IAA7BlB,KAAKsjB,OAAO3hB,WAAWoC,GACM,IAA7B/D,KAAKsjB,OAAO3hB,WAAWqC,OAMvBhE,KAAK+C,KAAKojC,MAAMkgB,QAAQrmD,KAAKsjB,OAAQ0qB,EAAShuC,KAAKg0D,mBAElCztD,IAAbqvD,IAEAA,GAAW,MAGVA,GAAY51D,KAAK4yD,oBAEX5yD,KAAK61D,WAAW71D,KAAKg0D,WAAWjwD,EAAG/D,KAAKg0D,WAAWhwD,MAoBtE0rD,iBAAkB,SAAU1hB,EAAS4nB,GAEjC,SAAK51D,KAAKghD,SACLhhD,KAAKsjB,QACLtjB,KAAKsjB,OAAOjiB,QACZrB,KAAKsjB,OAAOpiB,SACZlB,KAAKsjB,OAAOjiB,OAAOH,SACS,IAA7BlB,KAAKsjB,OAAO3hB,WAAWoC,GACM,IAA7B/D,KAAKsjB,OAAO3hB,WAAWqC,OAMvBhE,KAAK+C,KAAKojC,MAAMkgB,QAAQrmD,KAAKsjB,OAAQ0qB,EAAShuC,KAAKg0D,mBAElCztD,IAAbqvD,IAEAA,GAAW,MAGVA,GAAY51D,KAAK2yD,mBAEX3yD,KAAK61D,WAAW71D,KAAKg0D,WAAWjwD,EAAG/D,KAAKg0D,WAAWhwD,MAqBtE6xD,WAAY,SAAU9xD,EAAGC,EAAGgqC,GAGxB,GAAIhuC,KAAKsjB,OAAOvlB,QAAQqI,YAAYgJ,OACpC,CACI,GAAU,OAANrL,GAAoB,OAANC,EAClB,CAEIhE,KAAK+C,KAAKojC,MAAMigB,iBAAiBpmD,KAAKsjB,OAAQ0qB,EAAShuC,KAAKg0D,YAE5D,IAAIjwD,EAAI/D,KAAKg0D,WAAWjwD,EACpBC,EAAIhE,KAAKg0D,WAAWhwD,EAgB5B,GAb6B,IAAzBhE,KAAKsjB,OAAO3c,OAAO5C,IAEnBA,IAAM/D,KAAKsjB,OAAOvlB,QAAQsP,MAAMzP,MAAQoC,KAAKsjB,OAAO3c,OAAO5C,GAGlC,IAAzB/D,KAAKsjB,OAAO3c,OAAO3C,IAEnBA,IAAMhE,KAAKsjB,OAAOvlB,QAAQsP,MAAMxP,OAASmC,KAAKsjB,OAAO3c,OAAO3C,GAGhED,GAAK/D,KAAKsjB,OAAOvlB,QAAQsP,MAAMtJ,EAC/BC,GAAKhE,KAAKsjB,OAAOvlB,QAAQsP,MAAMrJ,EAE3BhE,KAAKsjB,OAAOvlB,QAAQqQ,OAEpBrK,GAAK/D,KAAKsjB,OAAOvlB,QAAQqQ,KAAKrK,EAC9BC,GAAKhE,KAAKsjB,OAAOvlB,QAAQqQ,KAAKpK,EAG1BD,EAAI/D,KAAKsjB,OAAOvlB,QAAQ6P,KAAK7J,GAAKA,EAAI/D,KAAKsjB,OAAOvlB,QAAQ6P,KAAK8lB,OAAS1vB,EAAIhE,KAAKsjB,OAAOvlB,QAAQ6P,KAAK5J,GAAKA,EAAIhE,KAAKsjB,OAAOvlB,QAAQ6P,KAAK0oB,QAIvI,OAFAt2B,KAAK81D,IAAM/xD,EACX/D,KAAK+1D,IAAM/xD,GACJ,EAYf,GARAhE,KAAK81D,IAAM/xD,EACX/D,KAAK+1D,IAAM/xD,EAEXhE,KAAK+C,KAAKojC,MAAMwa,WAAW34B,UAAU,EAAG,EAAG,EAAG,GAC9ChoB,KAAK+C,KAAKojC,MAAMwa,WAAW1xC,UAAUjP,KAAKsjB,OAAOvlB,QAAQqI,YAAYgJ,OAAQrL,EAAGC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAExFhE,KAAK+C,KAAKojC,MAAMwa,WAAWz3B,aAAa,EAAG,EAAG,EAAG,GAEnD9U,KAAK,IAAMpU,KAAK6yD,kBAEpB,OAAO,EAIf,OAAO,GAYX/tB,OAAQ,SAAUkJ,GAEd,GAAoB,OAAhBhuC,KAAKsjB,aAA0C/c,IAAvBvG,KAAKsjB,OAAOjiB,OAMxC,OAAKrB,KAAKghD,SAAYhhD,KAAKsjB,OAAOpiB,SAAYlB,KAAKsjB,OAAOjiB,OAAOH,QAM7DlB,KAAK4zD,cAEA5zD,KAAK8zD,oBAEN9zD,KAAK8zD,kBAAqBtyD,EAAOkC,KAAK8xB,SAASwY,EAAQjqC,EAAGiqC,EAAQhqC,EAAGhE,KAAKwzD,UAAUzvD,EAAG/D,KAAKwzD,UAAUxvD,IAAMhE,KAAKszD,uBAGjHtzD,KAAK8zD,mBAAqB9zD,KAAK6zD,eAE/B7zD,KAAKg2D,UAAUhoB,IAGZ,GAEFhuC,KAAK8yD,WAAa9yD,KAAKi2D,oBAAsBjoB,EAAQ95B,GAEnDlU,KAAKk2D,WAAWloB,GAAS,GAE3BhuC,KAAKi0D,aAAajmB,EAAQ95B,IAAIkgD,OAE/Bp0D,KAAK0vD,iBAAiB1hB,IAEtBhuC,KAAKi0D,aAAajmB,EAAQ95B,IAAInQ,EAAIiqC,EAAQjqC,EAAI/D,KAAKsjB,OAAOvf,EAC1D/D,KAAKi0D,aAAajmB,EAAQ95B,IAAIlQ,EAAIgqC,EAAQhqC,EAAIhE,KAAKsjB,OAAOtf,GACnD,IAIPhE,KAAK8vD,mBAAmB9hB,IACjB,QAXV,GAtBDhuC,KAAK8vD,mBAAmB9hB,IACjB,IA6Cf+hB,oBAAqB,SAAU/hB,EAAS6D,GAEpC,GAAoB,OAAhB7xC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKi0D,aAAajmB,EAAQ95B,IAErC,IAAoB,IAAhBE,EAAKggD,QAAoBpmB,EAAQx8B,MACrC,CACI,IAAI2kD,GAA6B,IAAhB/hD,EAAKggD,OAEtBhgD,EAAKggD,QAAS,EACdhgD,EAAKigD,OAAQ,EACbjgD,EAAKkgD,SAAWt0D,KAAK+C,KAAKmiC,KAAKA,KAC/B9wB,EAAKrQ,EAAIiqC,EAAQjqC,EAAI/D,KAAKsjB,OAAOvf,EACjCqQ,EAAKpQ,EAAIgqC,EAAQhqC,EAAIhE,KAAKsjB,OAAOtf,EAE7BhE,KAAKgyD,gBAAoC,IAAnB59C,EAAK66C,YAE3BjvD,KAAK+C,KAAKmU,OAAOoE,MAAMs3B,OAAS,UAChC5yC,KAAKiyD,gBAAiB,IAGrBpgB,GAAUskB,GAAan2D,KAAKsjB,QAAUtjB,KAAKsjB,OAAO6wB,QAEnDn0C,KAAKsjB,OAAO6wB,OAAOiiB,qBAAqBp2D,KAAKsjB,OAAQ0qB,GAGrDhuC,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAO4xC,kBAEzCjzC,KAAKsjB,OAAOjiB,OAAO4xC,iBAAiB7N,SAASplC,KAAKsjB,OAAQ0qB,MAatE8hB,mBAAoB,SAAU9hB,EAAS6D,GAEnC,GAAoB,OAAhB7xC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKi0D,aAAajmB,EAAQ95B,IAErCE,EAAKggD,QAAS,EACdhgD,EAAKigD,OAAQ,EACbjgD,EAAKmgD,QAAUv0D,KAAK+C,KAAKmiC,KAAKA,KAE1BllC,KAAKgyD,gBAAoC,IAAnB59C,EAAK66C,YAE3BjvD,KAAK+C,KAAKmU,OAAOoE,MAAMs3B,OAAS,GAChC5yC,KAAKiyD,gBAAiB,IAGrBpgB,GAAU7xC,KAAKsjB,QAAUtjB,KAAKsjB,OAAO6wB,SAEtCn0C,KAAKsjB,OAAO6wB,OAAOkiB,oBAAoBr2D,KAAKsjB,OAAQ0qB,GAEhDhuC,KAAKsjB,QAAUtjB,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAO6xC,iBAExDlzC,KAAKsjB,OAAOjiB,OAAO6xC,gBAAgB9N,SAASplC,KAAKsjB,OAAQ0qB,MAYrEsgB,gBAAiB,SAAUtgB,GAEvB,GAAoB,OAAhBhuC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKi0D,aAAajmB,EAAQ95B,IAErC,IAAKE,EAAK42C,QAAU52C,EAAKggD,OACzB,CACI,GAAIp0D,KAAK4yD,oBAAsB5yD,KAAK61D,WAAW,KAAM,KAAM7nB,GAEvD,OAYJ,GATA55B,EAAK42C,QAAS,EACd52C,EAAK62C,MAAO,EACZ72C,EAAK82C,SAAWlrD,KAAK+C,KAAKmiC,KAAKA,KAE/BllC,KAAKwzD,UAAUrsD,IAAI6mC,EAAQjqC,EAAGiqC,EAAQhqC,GAGtCgqC,EAAQx8B,OAAQ,EAEZxR,KAAKsjB,QAAUtjB,KAAKsjB,OAAO6wB,SAE3Bn0C,KAAKsjB,OAAO6wB,OAAOmiB,qBAAqBt2D,KAAKsjB,OAAQ0qB,GAGjDhuC,KAAKsjB,QAAUtjB,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAO0xC,kBAExD/yC,KAAKsjB,OAAOjiB,OAAO0xC,iBAAiB3N,SAASplC,KAAKsjB,OAAQ0qB,GAI1C,OAAhBhuC,KAAKsjB,QAEL,OAKJtjB,KAAK8yD,YAAgC,IAAnB9yD,KAAKivD,YAEQ,IAA3BjvD,KAAKuzD,mBAA0D,IAA/BvzD,KAAKszD,sBAErCtzD,KAAKg2D,UAAUhoB,IAIfhuC,KAAK4zD,cAAe,EAEpB5zD,KAAK8zD,kBAAoD,IAA/B9zD,KAAKszD,sBAE3BtzD,KAAKuzD,kBAAoB,GAEzBvzD,KAAK6zD,eAAgB,EACrB7zD,KAAK+C,KAAKmiC,KAAKiP,OAAOlb,IAAIj5B,KAAKuzD,kBAAmBvzD,KAAKu2D,gBAAiBv2D,KAAMguC,IAI9EhuC,KAAK6zD,eAAgB,IAK7B7zD,KAAKu1C,YAELv1C,KAAKsjB,OAAOiyB,gBAYxBghB,gBAAiB,SAAUvoB,GAEvBhuC,KAAK6zD,eAAgB,EAEjB7zD,KAAK4zD,cAAgB5zD,KAAKsjB,QAEtBtjB,KAAK8zD,mBAEL9zD,KAAKg2D,UAAUhoB,IAW3BuiB,iBAAkB,SAAUviB,GAExB,GAAoB,OAAhBhuC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKi0D,aAAajmB,EAAQ95B,IAGrC,GAAIE,EAAK42C,QAAUhd,EAAQid,KAC3B,CACI72C,EAAK42C,QAAS,EACd52C,EAAK62C,MAAO,EACZ72C,EAAK+2C,OAASnrD,KAAK+C,KAAKmiC,KAAKA,KAC7B9wB,EAAKogD,aAAepgD,EAAK+2C,OAAS/2C,EAAK82C,SAGvC,IAAIkJ,EAASp0D,KAAK0vD,iBAAiB1hB,GAE/BhuC,KAAKsjB,QAAUtjB,KAAKsjB,OAAO6wB,SAEtBn0C,KAAKozD,yBACNpzD,KAAKozD,uBAA2BpzD,KAAK8yD,WAAa9yD,KAAKivD,WAAajvD,KAAKi2D,oBAAsBjoB,EAAQ95B,KAEvGlU,KAAKsjB,OAAO6wB,OAAOqiB,mBAAmBx2D,KAAKsjB,OAAQ0qB,EAASomB,GAG5Dp0D,KAAKsjB,QAAUtjB,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAO2xC,gBAExDhzC,KAAKsjB,OAAOjiB,OAAO2xC,eAAe5N,SAASplC,KAAKsjB,OAAQ0qB,EAASomB,GAIjEA,IAEAA,EAASp0D,KAAK0vD,iBAAiB1hB,KAIvC55B,EAAKggD,OAASA,GAETA,GAAUp0D,KAAKgyD,gBAEhBhyD,KAAK+C,KAAKmU,OAAOoE,MAAMs3B,OAAS,UAChC5yC,KAAKiyD,gBAAiB,GAI1BjkB,EAAQx8B,OAAQ,EAEhBxR,KAAK4zD,cAAe,EAGhB5zD,KAAK8yD,WAAa9yD,KAAKivD,WAAajvD,KAAKi2D,oBAAsBjoB,EAAQ95B,IAEvElU,KAAKy2D,SAASzoB,MAc1BkoB,WAAY,SAAUloB,EAAS0oB,GAE3B,IAAI57C,EAAS9a,KAAK+C,KAAK+X,OACnBo4C,EAAalzD,KAAKkzD,WAClByD,EAAY32D,KAAK0zD,WACjBkD,EAAc52D,KAAKi0D,aAAajmB,EAAQ95B,IACxCu/C,EAAYzzD,KAAKyzD,UACjBnwC,EAAStjB,KAAKsjB,OAIlB,QAFkB/c,IAAdmwD,IAA2BA,GAAY,GAEvC1oB,EAAQid,KAGR,OADAjrD,KAAKy2D,SAASzoB,IACP,EAGX,IAAI6oB,EAAoB72D,KAAK82D,cAAc9oB,GAE3C,GAAI1qB,EAAOiwB,cAEP,IAAIrgB,EAAKpY,EAAOha,MAAMiD,EAAI8yD,EAAkB9yD,EAAI4yD,EAAU5yD,EAAImvD,EAAWnvD,EACrEgzD,EAAKj8C,EAAOha,MAAMkD,EAAI6yD,EAAkB7yD,EAAI2yD,EAAU3yD,EAAIkvD,EAAWlvD,OAIzE,IAAIkvB,EAAK2jC,EAAkB9yD,EAAI4yD,EAAU5yD,EAAImvD,EAAWnvD,EACpDgzD,EAAKF,EAAkB7yD,EAAI2yD,EAAU3yD,EAAIkvD,EAAWlvD,EAG5D,GAAIsf,EAAOiwB,cACX,CACI,IAAIC,EAAelwB,EAAOkwB,aACtBwjB,EAAQxjB,EAAazvC,EACrBkzD,EAAQzjB,EAAaxvC,EAErBhE,KAAKkyD,sBAEL1e,EAAazvC,EAAImvB,EAAKpY,EAAO/W,GAG7B/D,KAAKmyD,oBAEL3e,EAAaxvC,EAAI+yD,EAAKj8C,EAAO9W,GAG7BhE,KAAK+yD,YAEL/yD,KAAKk3D,kBAGLl3D,KAAKgzD,cAELhzD,KAAKm3D,oBAGLn3D,KAAKqyD,aAEL7e,EAAazvC,EAAIL,KAAK+xB,OAAO+d,EAAazvC,EAAK/D,KAAKyyD,YAAczyD,KAAKuyD,OAAUvyD,KAAKuyD,OAASvyD,KAAKuyD,MAASvyD,KAAKyyD,YAAczyD,KAAKuyD,MACrI/e,EAAaxvC,EAAIN,KAAK+xB,OAAO+d,EAAaxvC,EAAKhE,KAAK0yD,YAAc1yD,KAAKwyD,OAAUxyD,KAAKwyD,OAASxyD,KAAKwyD,MAASxyD,KAAK0yD,YAAc1yD,KAAKwyD,MACrIiB,EAAUtsD,IAAIqsC,EAAazvC,EAAGyvC,EAAaxvC,IAG/C,IAAImK,EAAKqlC,EAAazvC,EAAIizD,EACtB3oD,EAAKmlC,EAAaxvC,EAAIizD,MAG9B,CACI,IAAI/nD,EAAK4L,EAAO/W,EAAI6yD,EAAY1C,KAC5B/kD,EAAK2L,EAAO9W,EAAI4yD,EAAYzC,KAC5B6C,EAAQ1zC,EAAOvf,EACfkzD,EAAQ3zC,EAAOtf,EAEfhE,KAAKkyD,sBAEL5uC,EAAOvf,EAAImvB,EAAKhkB,GAGhBlP,KAAKmyD,oBAEL7uC,EAAOtf,EAAI+yD,EAAK5nD,GAGhBnP,KAAK+yD,YAEL/yD,KAAKk3D,kBAGLl3D,KAAKgzD,cAELhzD,KAAKm3D,oBAGLn3D,KAAKqyD,aAEL/uC,EAAOvf,EAAIL,KAAK+xB,OAAOnS,EAAOvf,EAAK/D,KAAKyyD,YAAczyD,KAAKuyD,OAAUvyD,KAAKuyD,OAASvyD,KAAKuyD,MAASvyD,KAAKyyD,YAAczyD,KAAKuyD,MACzHjvC,EAAOtf,EAAIN,KAAK+xB,OAAOnS,EAAOtf,EAAKhE,KAAK0yD,YAAc1yD,KAAKwyD,OAAUxyD,KAAKwyD,OAASxyD,KAAKwyD,MAASxyD,KAAK0yD,YAAc1yD,KAAKwyD,MACzHiB,EAAUtsD,IAAImc,EAAOvf,EAAGuf,EAAOtf,IAGnC,IAAImK,EAAKmV,EAAOvf,EAAIizD,EAChB3oD,EAAKiV,EAAOtf,EAAIizD,EAKxB,OAFAj3D,KAAKsjB,OAAO6wB,OAAOijB,aAAahyB,SAAS9hB,EAAQ0qB,EAAS9a,EAAI6jC,EAAItD,EAAWiD,EAAWvoD,EAAIE,IAErF,GAWXgpD,SAAU,SAAUlR,EAAWmR,GAK3B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAETt3D,KAAKi0D,aAAa9N,GAAWiO,QAAUp0D,KAAKu3D,aAAapR,GAAamR,GAWlFE,QAAS,SAAUrR,EAAWmR,GAK1B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAETt3D,KAAKi0D,aAAa9N,GAAWkO,OAAUr0D,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKi0D,aAAa9N,GAAWoO,QAAU+C,GAWhH1L,YAAa,SAAUzF,EAAWmR,GAK9B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAETt3D,KAAKi0D,aAAa9N,GAAW6E,QAAUhrD,KAAKw0D,aAAarO,GAAamR,GAWlFzL,aAAc,SAAU1F,EAAWmR,GAK/B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAETt3D,KAAKi0D,aAAa9N,GAAW8E,MAASjrD,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKi0D,aAAa9N,GAAWgF,OAASmM,GAU9GC,aAAc,SAAUpR,GAIpB,OAFAA,EAAYA,GAAa,EAErBnmD,KAAKi0D,aAAa9N,GAAWiO,OAEtBp0D,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKi0D,aAAa9N,GAAWmO,UAGtD,GAUZE,aAAc,SAAUrO,GAIpB,OAFAA,EAAYA,GAAa,EAErBnmD,KAAKi0D,aAAa9N,GAAW6E,OAEtBhrD,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKi0D,aAAa9N,GAAW+E,UAGtD,GA+BZuM,WAAY,SAAUC,EAAYniB,EAAYoiB,EAAcC,EAAgB7E,EAAYC,QAEjEzsD,IAAfmxD,IAA4BA,GAAa,QAC1BnxD,IAAfgvC,IAA4BA,GAAa,QACxBhvC,IAAjBoxD,IAA8BA,GAAe,QAC1BpxD,IAAnBqxD,IAAgCA,EAAiB,UAClCrxD,IAAfwsD,IAA4BA,EAAa,WACxBxsD,IAAjBysD,IAA8BA,EAAe,MAEjDhzD,KAAK0zD,WAAa,IAAIlyD,EAAOX,MAC7Bb,KAAK8yD,WAAY,EACjB9yD,KAAKu1C,WAAaA,EAClBv1C,KAAKkzD,WAAa,IAAI1xD,EAAOX,MAC7Bb,KAAKmzD,eAAiBuE,EAEtB13D,KAAK4yD,kBAAoB+E,EACzB33D,KAAK6yD,kBAAoB+E,EAErB7E,IAEA/yD,KAAK+yD,WAAaA,GAGlBC,IAEAhzD,KAAKgzD,aAAeA,IAU5B6E,YAAa,WAET,GAAI73D,KAAKi0D,aAEL,IAAK,IAAIvxD,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKi0D,aAAavxD,GAAGusD,WAAY,EAIzCjvD,KAAK8yD,WAAY,EACjB9yD,KAAKivD,WAAY,EACjBjvD,KAAKi2D,mBAAqB,EAC1Bj2D,KAAK4zD,cAAe,GASxBoC,UAAW,SAAUhoB,GAEjB,IAAIjqC,EAAI/D,KAAKsjB,OAAOvf,EAChBC,EAAIhE,KAAKsjB,OAAOtf,EAChB6yD,EAAoB72D,KAAK82D,cAAc9oB,GAU3C,GARAhuC,KAAKivD,WAAY,EACjBjvD,KAAKi2D,kBAAoBjoB,EAAQ95B,GAEjClU,KAAKi0D,aAAajmB,EAAQ95B,IAAIggD,KAAOl0D,KAAK+C,KAAK+X,OAAO/W,EACtD/D,KAAKi0D,aAAajmB,EAAQ95B,IAAIigD,KAAOn0D,KAAK+C,KAAK+X,OAAO9W,EAEtDhE,KAAKi0D,aAAajmB,EAAQ95B,IAAI+6C,WAAY,EAEtCjvD,KAAKsjB,OAAOiwB,cAChB,CACI,GAAIvzC,KAAKmzD,eACT,CACI,IAAIruD,EAAS9E,KAAKsjB,OAAOpZ,YACrB4tD,EAAyB93D,KAAK82D,cAAc,IAAIt1D,EAAOX,MAAMiE,EAAO+yB,QAAS/yB,EAAOgzB,UAExF93B,KAAKsjB,OAAOkwB,aAAazvC,EAAI8yD,EAAkB9yD,GAAK/D,KAAKsjB,OAAOkwB,aAAazvC,EAAI+zD,EAAuB/zD,GACxG/D,KAAKsjB,OAAOkwB,aAAaxvC,EAAI6yD,EAAkB7yD,GAAKhE,KAAKsjB,OAAOkwB,aAAaxvC,EAAI8zD,EAAuB9zD,GAG5GhE,KAAK0zD,WAAWt+B,MAAMp1B,KAAKsjB,OAAOkwB,aAAazvC,EAAIiqC,EAAQjqC,EAAG/D,KAAKsjB,OAAOkwB,aAAaxvC,EAAIgqC,EAAQhqC,OAGvG,CACI,GAAIhE,KAAKmzD,eACT,CACI,IAAIruD,EAAS9E,KAAKsjB,OAAOpZ,YACrB4tD,EAAyB93D,KAAK82D,cAAc,IAAIt1D,EAAOX,MAAMiE,EAAO+yB,QAAS/yB,EAAOgzB,UAExF93B,KAAKsjB,OAAOvf,EAAI8yD,EAAkB9yD,GAAK/D,KAAKsjB,OAAOvf,EAAI+zD,EAAuB/zD,GAC9E/D,KAAKsjB,OAAOtf,EAAI6yD,EAAkB7yD,GAAKhE,KAAKsjB,OAAOtf,EAAI8zD,EAAuB9zD,GAGlFhE,KAAK0zD,WAAWt+B,MAAMp1B,KAAKsjB,OAAOvf,EAAI8yD,EAAkB9yD,EAAG/D,KAAKsjB,OAAOtf,EAAI6yD,EAAkB7yD,GAGjGhE,KAAKk2D,WAAWloB,GAAS,GAErBhuC,KAAKu1C,aAELv1C,KAAK2zD,YAAa,EAClB3zD,KAAKsjB,OAAOiyB,cAGhBv1C,KAAKqzD,eAAelsD,IAAIpD,EAAGC,GAE3BhE,KAAKsjB,OAAO6wB,OAAO4jB,qBAAqB/3D,KAAKsjB,OAAQ0qB,EAASjqC,EAAGC,GAEjEhE,KAAK4zD,cAAe,GASxBoE,eAAgB,SAAUj0D,GAQtB,OANI/D,KAAKizD,aAELlvD,GAAK/D,KAAK+C,KAAKjC,MAAMm3D,KAAKC,YAAYn0D,EACtCA,GAAK/D,KAAK+C,KAAKjC,MAAMm3D,KAAKE,mBAAmBp0D,GAG1CA,GASXq0D,eAAgB,SAAUp0D,GAQtB,OANIhE,KAAKizD,aAELjvD,GAAKhE,KAAK+C,KAAKjC,MAAMm3D,KAAKC,YAAYl0D,EACtCA,GAAKhE,KAAK+C,KAAKjC,MAAMm3D,KAAKE,mBAAmBn0D,GAG1CA,GAUX8yD,cAAe,SAAUuB,GAErB,OAAIr4D,KAAKsjB,OAAOjiB,OAELrB,KAAK+C,KAAKojC,MAAMigB,iBAAiBpmD,KAAKsjB,OAAOjiB,QAAS0C,EAAGs0D,EAAYt0D,EAAGC,EAAGq0D,EAAYr0D,IAIvFq0D,GAUf5B,SAAU,SAAUzoB,GAEhBhuC,KAAKivD,WAAY,EACjBjvD,KAAKi2D,mBAAqB,EAC1Bj2D,KAAKi0D,aAAajmB,EAAQ95B,IAAI+6C,WAAY,EAC1CjvD,KAAK2zD,YAAa,EAClB3zD,KAAK4zD,cAAe,EAEhB5zD,KAAKsyD,gBAEDtyD,KAAKsjB,OAAOiwB,eAEZvzC,KAAKsjB,OAAOkwB,aAAazvC,EAAIL,KAAK+xB,OAAOz1B,KAAKsjB,OAAOkwB,aAAazvC,EAAK/D,KAAKyyD,YAAczyD,KAAKuyD,OAAUvyD,KAAKuyD,OAASvyD,KAAKuyD,MAASvyD,KAAKyyD,YAAczyD,KAAKuyD,MAC7JvyD,KAAKsjB,OAAOkwB,aAAaxvC,EAAIN,KAAK+xB,OAAOz1B,KAAKsjB,OAAOkwB,aAAaxvC,EAAKhE,KAAK0yD,YAAc1yD,KAAKwyD,OAAUxyD,KAAKwyD,OAASxyD,KAAKwyD,MAASxyD,KAAK0yD,YAAc1yD,KAAKwyD,QAI7JxyD,KAAKsjB,OAAOvf,EAAIL,KAAK+xB,OAAOz1B,KAAKsjB,OAAOvf,EAAK/D,KAAKyyD,YAAczyD,KAAKuyD,OAAUvyD,KAAKuyD,OAASvyD,KAAKuyD,MAASvyD,KAAKyyD,YAAczyD,KAAKuyD,MACnIvyD,KAAKsjB,OAAOtf,EAAIN,KAAK+xB,OAAOz1B,KAAKsjB,OAAOtf,EAAKhE,KAAK0yD,YAAc1yD,KAAKwyD,OAAUxyD,KAAKwyD,OAASxyD,KAAKwyD,MAASxyD,KAAK0yD,YAAc1yD,KAAKwyD,QAI3IxyD,KAAKsjB,OAAO6wB,OAAOmkB,oBAAoBt4D,KAAKsjB,OAAQ0qB,IAEb,IAAnChuC,KAAK0vD,iBAAiB1hB,IAEtBhuC,KAAK8vD,mBAAmB9hB,IAWhCuqB,YAAa,SAAUC,EAAiBC,QAEZlyD,IAApBiyD,IAAiCA,GAAkB,QACjCjyD,IAAlBkyD,IAA+BA,GAAgB,GAEnDz4D,KAAKkyD,oBAAsBsG,EAC3Bx4D,KAAKmyD,kBAAoBsG,GAe7BC,WAAY,SAAUnG,EAAOC,EAAOmG,EAAQC,EAAWnG,EAAaC,QAEjDnsD,IAAXoyD,IAAwBA,GAAS,QACnBpyD,IAAdqyD,IAA2BA,GAAY,QACvBryD,IAAhBksD,IAA6BA,EAAc,QAC3BlsD,IAAhBmsD,IAA6BA,EAAc,GAE/C1yD,KAAKuyD,MAAQA,EACbvyD,KAAKwyD,MAAQA,EACbxyD,KAAKyyD,YAAcA,EACnBzyD,KAAK0yD,YAAcA,EACnB1yD,KAAKqyD,WAAasG,EAClB34D,KAAKsyD,cAAgBsG,GAQzBC,YAAa,WAET74D,KAAKqyD,YAAa,EAClBryD,KAAKsyD,eAAgB,GAQzB4E,gBAAiB,WAETl3D,KAAKsjB,OAAOiwB,eAERvzC,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAK+yD,WAAWp/B,KAE7C3zB,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAK+yD,WAAWp/B,KAEvC3zB,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAKsjB,OAAO1lB,MAASoC,KAAK+yD,WAAWr/B,QAExE1zB,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAK+yD,WAAWr/B,MAAQ1zB,KAAKsjB,OAAO1lB,OAGjEoC,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAK+yD,WAAW18B,IAE7Cr2B,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAK+yD,WAAW18B,IAEvCr2B,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAKsjB,OAAOzlB,OAAUmC,KAAK+yD,WAAWz8B,SAEzEt2B,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAK+yD,WAAWz8B,OAASt2B,KAAKsjB,OAAOzlB,UAKlEmC,KAAKsjB,OAAOqQ,KAAO3zB,KAAK+yD,WAAWp/B,KAEnC3zB,KAAKsjB,OAAOvf,EAAI/D,KAAK+yD,WAAWhvD,EAAI/D,KAAKsjB,OAAOoB,QAE3C1kB,KAAKsjB,OAAOoQ,MAAQ1zB,KAAK+yD,WAAWr/B,QAEzC1zB,KAAKsjB,OAAOvf,EAAI/D,KAAK+yD,WAAWr/B,OAAS1zB,KAAKsjB,OAAO1lB,MAAQoC,KAAKsjB,OAAOoB,UAGzE1kB,KAAKsjB,OAAO+S,IAAMr2B,KAAK+yD,WAAW18B,IAElCr2B,KAAKsjB,OAAOtf,EAAIhE,KAAK+yD,WAAW18B,IAAMr2B,KAAKsjB,OAAOqB,QAE7C3kB,KAAKsjB,OAAOgT,OAASt2B,KAAK+yD,WAAWz8B,SAE1Ct2B,KAAKsjB,OAAOtf,EAAIhE,KAAK+yD,WAAWz8B,QAAUt2B,KAAKsjB,OAAOzlB,OAASmC,KAAKsjB,OAAOqB,YAUvFwyC,kBAAmB,WAEXn3D,KAAKsjB,OAAOiwB,eAAiBvzC,KAAKgzD,aAAazf,eAE3CvzC,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAKgzD,aAAaxf,aAAazvC,EAE5D/D,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAKgzD,aAAaxf,aAAazvC,EAEtD/D,KAAKsjB,OAAOkwB,aAAazvC,EAAI/D,KAAKsjB,OAAO1lB,MAAUoC,KAAKgzD,aAAaxf,aAAazvC,EAAI/D,KAAKgzD,aAAap1D,QAE9GoC,KAAKsjB,OAAOkwB,aAAazvC,EAAK/D,KAAKgzD,aAAaxf,aAAazvC,EAAI/D,KAAKgzD,aAAap1D,MAASoC,KAAKsjB,OAAO1lB,OAGxGoC,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAKgzD,aAAaxf,aAAaxvC,EAE5DhE,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAKgzD,aAAaxf,aAAaxvC,EAEtDhE,KAAKsjB,OAAOkwB,aAAaxvC,EAAIhE,KAAKsjB,OAAOzlB,OAAWmC,KAAKgzD,aAAaxf,aAAaxvC,EAAIhE,KAAKgzD,aAAan1D,SAE/GmC,KAAKsjB,OAAOkwB,aAAaxvC,EAAKhE,KAAKgzD,aAAaxf,aAAaxvC,EAAIhE,KAAKgzD,aAAan1D,OAAUmC,KAAKsjB,OAAOzlB,UAKzGmC,KAAKsjB,OAAOqQ,KAAO3zB,KAAKgzD,aAAar/B,KAErC3zB,KAAKsjB,OAAOvf,EAAI/D,KAAKgzD,aAAar/B,KAAO3zB,KAAKsjB,OAAOoB,QAEhD1kB,KAAKsjB,OAAOoQ,MAAQ1zB,KAAKgzD,aAAat/B,QAE3C1zB,KAAKsjB,OAAOvf,EAAI/D,KAAKgzD,aAAat/B,OAAS1zB,KAAKsjB,OAAO1lB,MAAQoC,KAAKsjB,OAAOoB,UAG3E1kB,KAAKsjB,OAAO+S,IAAMr2B,KAAKgzD,aAAa38B,IAEpCr2B,KAAKsjB,OAAOtf,EAAIhE,KAAKgzD,aAAa38B,IAAMr2B,KAAKsjB,OAAOqB,QAE/C3kB,KAAKsjB,OAAOgT,OAASt2B,KAAKgzD,aAAa18B,SAE5Ct2B,KAAKsjB,OAAOtf,EAAIhE,KAAKgzD,aAAa18B,QAAUt2B,KAAKsjB,OAAOzlB,OAASmC,KAAKsjB,OAAOqB,aAO7FnjB,EAAOuwD,aAAazvD,UAAUC,YAAcf,EAAOuwD,aAQnDvwD,EAAOijD,YAAc,SAAU1hD,GAM3B/C,KAAK+C,KAAOA,EAMZ/C,KAAKmmC,MAAQpjC,EAAKojC,MAMlBnmC,KAAK6oD,QAAU9lD,EAAKmU,OAOpBlX,KAAK0qC,QAAS,EAMd1qC,KAAK2uD,QAAS,EAOd3uD,KAAK84D,SAAW,IAAIt3D,EAAO6gC,OAO3BriC,KAAK+4D,QAAU,IAAIv3D,EAAO6gC,OAO1BriC,KAAKg5D,qBAAuBh5D,KAAKi5D,gBAAgBlpC,KAAK/vB,MAOtDA,KAAKk5D,oBAAsBl5D,KAAKm5D,eAAeppC,KAAK/vB,MAEpD,IAAIiqB,EAASlnB,EAAKknB,OAOlBjqB,KAAKo5D,mBAAqBnvC,EAAOmvC,mBAOjCp5D,KAAKq5D,kBAAoBpvC,EAAOovC,kBAOhCr5D,KAAKs5D,iBAAmBrvC,EAAOqvC,kBAQnC93D,EAAOijD,YAAYniD,UAAUgK,MAAQ,WAEjC,SAAKtM,KAAK+C,KAAKknB,OAAOu6B,aAAexkD,KAAK0qC,UAKrC1qC,KAAK6oD,QAAQ0Q,qBAEdv5D,KAAK6oD,QAAQ0Q,mBAAqBv5D,KAAK6oD,QAAQ2Q,uBAAyBx5D,KAAK6oD,QAAQ4Q,0BAGpFzpB,SAAS0pB,kBAEV1pB,SAAS0pB,gBAAkB1pB,SAAS2pB,oBAAsB3pB,SAAS4pB,uBAGvE5pB,SAASW,iBAAiB3wC,KAAKq5D,kBAAmBr5D,KAAKg5D,sBAAsB,GAC7EhpB,SAASW,iBAAiB3wC,KAAKs5D,iBAAkBt5D,KAAKk5D,qBAAqB,GAE3El5D,KAAK0qC,QAAS,GAEP,IAOXlpC,EAAOijD,YAAYniD,UAAU6J,KAAO,WAE5BnM,KAAK0qC,SAELsF,SAAS4B,oBAAoB5xC,KAAKq5D,kBAAmBr5D,KAAKg5D,sBAAsB,GAChFhpB,SAAS4B,oBAAoB5xC,KAAKs5D,iBAAkBt5D,KAAKk5D,qBAAqB,GAE9El5D,KAAK0qC,QAAS,IAStBlpC,EAAOijD,YAAYniD,UAAUu3D,QAAU,WAE9B75D,KAAK0qC,SAAU1qC,KAAK2uD,QAKzB3uD,KAAK6oD,QAAQ0Q,sBAQjB/3D,EAAOijD,YAAYniD,UAAUw3D,KAAO,WAEhC9pB,SAAS0pB,mBAUbl4D,EAAOijD,YAAYniD,UAAU22D,gBAAkB,SAAU5oB,GAErDrwC,KAAK2uD,OAAU3e,SAAShwC,KAAKo5D,sBAAwBp5D,KAAK6oD,QAE1D7oD,KAAK84D,SAAS1zB,SAASplC,KAAK2uD,OAAQte,IAUxC7uC,EAAOijD,YAAYniD,UAAU62D,eAAiB,SAAU9oB,GAEpDrwC,KAAK+4D,QAAQ3zB,SAASiL,IAuB1B7uC,EAAOmjD,QAAU,SAAU5hD,GAKvB/C,KAAK+C,KAAOA,EAMZ/C,KAAK+5D,oBAML/5D,KAAKg6D,YAOLh6D,KAAKi6D,SAAU,EAOfj6D,KAAKghD,SAAU,EAOfhhD,KAAKk6D,2BAA6BvwC,UAAUwwC,qBAAuBxwC,UAAUywC,iBAAgE,IAA7CzwC,UAAU0wC,UAAUhxD,QAAQ,eAAyBsgB,UAAU2wC,YAQ/Jt6D,KAAKu6D,wBAQLv6D,KAAKw6D,mBAKLx6D,KAAKipC,gBAAkBjpC,KAKvBA,KAAKy6D,kBAAoB,KAKzBz6D,KAAK06D,qBAAuB,KAK5B16D,KAAK26D,eAAiB,KAKtB36D,KAAK46D,aAAe,KAKpB56D,KAAK66D,eAAiB,KAKtB76D,KAAK86D,gBAAkB,KAMvB96D,KAAK+6D,oBAAsB,KAM3B/6D,KAAKg7D,qBAAuB,KAM5Bh7D,KAAKi7D,WACD,IAAIz5D,EAAO05D,UAAUn4D,EAAM/C,MAC3B,IAAIwB,EAAO05D,UAAUn4D,EAAM/C,MAC3B,IAAIwB,EAAO05D,UAAUn4D,EAAM/C,MAC3B,IAAIwB,EAAO05D,UAAUn4D,EAAM/C,QAInCwB,EAAOmjD,QAAQriD,WAUX64D,aAAc,SAAUrtD,EAASstD,QAEJ,IAAdA,IAEPp7D,KAAKy6D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYr7D,KAAKy6D,kBAClGz6D,KAAK06D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAet7D,KAAK06D,qBAC3G16D,KAAK26D,eAA8C,mBAArBS,EAAUnY,OAAyBmY,EAAUnY,OAASjjD,KAAK26D,eACzF36D,KAAK46D,aAA0C,mBAAnBQ,EAAUlY,KAAuBkY,EAAUlY,KAAOljD,KAAK46D,aACnF56D,KAAK66D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAASv7D,KAAK66D,eACzF76D,KAAK86D,gBAAgD,mBAAtBM,EAAU5P,QAA0B4P,EAAU5P,QAAUxrD,KAAK86D,gBAC5F96D,KAAKipC,gBAAkBn7B,IAU/BxB,MAAO,WAEH,IAAItM,KAAKi6D,QAAT,CAMAj6D,KAAKi6D,SAAU,EAEf,IAAI5tB,EAAQrsC,KAEZA,KAAKw7D,oBAAsB,SAAUnrB,GAEjC,OAAOhE,EAAMovB,mBAAmBprB,IAGpCrwC,KAAK07D,uBAAyB,SAAUrrB,GAEpC,OAAOhE,EAAMsvB,sBAAsBtrB,IAGvCjgC,OAAOugC,iBAAiB,mBAAoB3wC,KAAKw7D,qBAAqB,GACtEprD,OAAOugC,iBAAiB,sBAAuB3wC,KAAK07D,wBAAwB,KAUhFD,mBAAoB,SAAUprB,GAE1B,IAAIurB,EAASvrB,EAAM0S,QACnB/iD,KAAKg6D,SAASlyD,KAAK8zD,GACnB57D,KAAKi7D,UAAUW,EAAOhzD,OAAOizD,QAAQD,IAUzCD,sBAAuB,SAAUtrB,GAE7B,IAAIyrB,EAAazrB,EAAM0S,QAEvB,IAAK,IAAIrgD,KAAK1C,KAAKg6D,SAEXh6D,KAAKg6D,SAASt3D,GAAGkG,QAAUkzD,EAAWlzD,OAEtC5I,KAAKg6D,SAASlxD,OAAOpG,EAAE,GAI/B1C,KAAKi7D,UAAUa,EAAWlzD,OAAOmzD,cAQrCj3B,OAAQ,WAEJ9kC,KAAKg8D,gBAELh8D,KAAKi8D,KAAKC,aACVl8D,KAAKm8D,KAAKD,aACVl8D,KAAKo8D,KAAKF,aACVl8D,KAAKq8D,KAAKH,cASdF,cAAe,WAEX,GAAKh8D,KAAKi6D,QAAV,CAKA,GAAItwC,UAAU2wC,YAENgC,EAAc3yC,UAAU2wC,mBAE3B,GAAI3wC,UAAUwwC,kBAEXmC,EAAc3yC,UAAUwwC,yBAE3B,GAAIxwC,UAAUywC,eAEf,IAAIkC,EAAc3yC,UAAUywC,iBAGhC,GAAIkC,EACJ,CACIt8D,KAAKg6D,YAIL,IAAK,IAFDuC,GAAkB,EAEb75D,EAAI,EAAGA,EAAI45D,EAAY35D,gBAEjB25D,EAAY55D,KAAO1C,KAAKu6D,qBAAqB73D,KAEpD65D,GAAkB,EAClBv8D,KAAKu6D,qBAAqB73D,UAAY45D,EAAY55D,IAGlD45D,EAAY55D,IAEZ1C,KAAKg6D,SAASlyD,KAAKw0D,EAAY55D,IAIzB,IAANA,GAdgCA,KAoBxC,IAAK,IAAIiY,EAAI,EAAGA,EAAI3a,KAAKi7D,UAAUt4D,OAAQgY,IAEvC3a,KAAKi7D,UAAUtgD,GAAG6hD,QAAUx8D,KAAKg6D,SAASr/C,GAG9C,GAAI4hD,EACJ,CAII,IAAK,IAFDE,EADAC,GAAqBC,cAAgBC,eAGhC/0D,EAAI,EAAGA,EAAI7H,KAAKi7D,UAAUt4D,OAAQkF,IAIvC,IAFA40D,EAAYz8D,KAAKi7D,UAAUpzD,IAEbg1D,UAEV,IAAK,IAAI1lC,EAAI,EAAGA,EAAIn3B,KAAKg6D,SAASr3D,OAAQw0B,IAElCn3B,KAAKg6D,SAAS7iC,GAAGvuB,QAAU6zD,EAAU7zD,QAErC8zD,EAAiBC,WAAWF,EAAU7zD,QAAS,EAC/C8zD,EAAiBE,WAAW/0D,IAAK,GAMjD,IAAK,IAAIovB,EAAI,EAAGA,EAAIj3B,KAAKi7D,UAAUt4D,OAAQs0B,IAIvC,GAFAwlC,EAAYz8D,KAAKi7D,UAAUhkC,IAEvBylC,EAAiBE,WAAW3lC,GAAhC,CAKIj3B,KAAKg6D,SAASr3D,OAAS,GAEvB85D,EAAUV,aAGd,IAAK,IAAI3kC,EAAI,EAAGA,EAAIp3B,KAAKg6D,SAASr3D,SAE1B+5D,EAAiBE,WAAW3lC,GAFMG,IAC1C,CAMI,IAAI0lC,EAAS98D,KAAKg6D,SAAS5iC,GAE3B,GAAI0lC,EACJ,CACI,GAAIJ,EAAiBC,WAAWG,EAAOl0D,OACvC,CACI6zD,EAAUV,aACV,SAIAU,EAAUZ,QAAQiB,GAClBJ,EAAiBC,WAAWG,EAAOl0D,QAAS,EAC5C8zD,EAAiBE,WAAW3lC,IAAK,OAKrCwlC,EAAUV,mBAYlCgB,aAAc,SAAU31D,GAEpB,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKi7D,UAAUt4D,OAAQD,IAEvC1C,KAAKi7D,UAAUv4D,GAAGs6D,SAAW51D,GASrC+E,KAAM,WAEFnM,KAAKi6D,SAAU,EAEf7pD,OAAOwhC,oBAAoB,mBAAoB5xC,KAAKw7D,qBACpDprD,OAAOwhC,oBAAoB,sBAAuB5xC,KAAK07D,yBAO3D31B,MAAO,WAEH/lC,KAAK8kC,SAEL,IAAK,IAAIpiC,EAAI,EAAGA,EAAI1C,KAAKi7D,UAAUt4D,OAAQD,IAEvC1C,KAAKi7D,UAAUv4D,GAAGqjC,SAW1B6lB,YAAa,SAAUb,EAAYloB,GAE/B,IAAK,IAAIngC,EAAI,EAAGA,EAAI1C,KAAKi7D,UAAUt4D,OAAQD,IAEvC,IAA4D,IAAxD1C,KAAKi7D,UAAUv4D,GAAGkpD,YAAYb,EAAYloB,GAE1C,OAAO,EAIf,OAAO,GAUXgpB,aAAc,SAAUd,EAAYloB,GAEhC,IAAK,IAAIngC,EAAI,EAAGA,EAAI1C,KAAKi7D,UAAUt4D,OAAQD,IAEvC,IAA6D,IAAzD1C,KAAKi7D,UAAUv4D,GAAGmpD,aAAad,EAAYloB,GAE3C,OAAO,EAIf,OAAO,GASXmoB,OAAQ,SAAUD,GAEd,IAAK,IAAIroD,EAAI,EAAGA,EAAI1C,KAAKi7D,UAAUt4D,OAAQD,IAEvC,IAA6C,IAAzC1C,KAAKi7D,UAAUv4D,GAAGsoD,OAAOD,GAEzB,OAAO,EAIf,OAAO,GAQXvoD,QAAS,WAELxC,KAAKmM,OAEL,IAAK,IAAIzJ,EAAI,EAAGA,EAAI1C,KAAKi7D,UAAUt4D,OAAQD,IAEvC1C,KAAKi7D,UAAUv4D,GAAGF,YAM9BhB,EAAOmjD,QAAQriD,UAAUC,YAAcf,EAAOmjD,QAQ9C39C,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKi6D,WAWpBjzD,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,aAE5C4E,IAAK,WAED,OAAOlH,KAAKk6D,4BAWpBlzD,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,iBAE5C4E,IAAK,WAED,OAAOlH,KAAKg6D,SAASr3D,UAW7BqE,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKi7D,UAAU,MAW9Bj0D,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKi7D,UAAU,MAW9Bj0D,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKi7D,UAAU,MAW9Bj0D,OAAOyF,eAAejL,EAAOmjD,QAAQriD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKi7D,UAAU,MAK9Bz5D,EAAOmjD,QAAQsY,SAAW,EAC1Bz7D,EAAOmjD,QAAQuY,SAAW,EAC1B17D,EAAOmjD,QAAQwY,SAAW,EAC1B37D,EAAOmjD,QAAQyY,SAAW,EAC1B57D,EAAOmjD,QAAQ0Y,SAAW,EAC1B77D,EAAOmjD,QAAQ2Y,SAAW,EAC1B97D,EAAOmjD,QAAQ4Y,SAAW,EAC1B/7D,EAAOmjD,QAAQ6Y,SAAW,EAC1Bh8D,EAAOmjD,QAAQ8Y,SAAW,EAC1Bj8D,EAAOmjD,QAAQ+Y,SAAW,EAC1Bl8D,EAAOmjD,QAAQgZ,UAAY,GAC3Bn8D,EAAOmjD,QAAQiZ,UAAY,GAC3Bp8D,EAAOmjD,QAAQkZ,UAAY,GAC3Br8D,EAAOmjD,QAAQmZ,UAAY,GAC3Bt8D,EAAOmjD,QAAQoZ,UAAY,GAC3Bv8D,EAAOmjD,QAAQqZ,UAAY,GAE3Bx8D,EAAOmjD,QAAQsZ,OAAS,EACxBz8D,EAAOmjD,QAAQuZ,OAAS,EACxB18D,EAAOmjD,QAAQwZ,OAAS,EACxB38D,EAAOmjD,QAAQyZ,OAAS,EACxB58D,EAAOmjD,QAAQ0Z,OAAS,EACxB78D,EAAOmjD,QAAQ2Z,OAAS,EACxB98D,EAAOmjD,QAAQ4Z,OAAS,EACxB/8D,EAAOmjD,QAAQ6Z,OAAS,EACxBh9D,EAAOmjD,QAAQ8Z,OAAS,EACxBj9D,EAAOmjD,QAAQ+Z,OAAS,EAQxBl9D,EAAOmjD,QAAQga,UAAY,EAC3Bn9D,EAAOmjD,QAAQia,UAAY,EAC3Bp9D,EAAOmjD,QAAQka,UAAY,EAC3Br9D,EAAOmjD,QAAQma,UAAY,EAC3Bt9D,EAAOmjD,QAAQoa,oBAAsB,EACrCv9D,EAAOmjD,QAAQqa,qBAAuB,EACtCx9D,EAAOmjD,QAAQsa,qBAAuB,EACtCz9D,EAAOmjD,QAAQua,sBAAwB,EACvC19D,EAAOmjD,QAAQwa,aAAe,EAC9B39D,EAAOmjD,QAAQya,cAAgB,EAC/B59D,EAAOmjD,QAAQ0a,0BAA4B,GAC3C79D,EAAOmjD,QAAQ2a,2BAA6B,GAE5C99D,EAAOmjD,QAAQ4a,kBAAoB,GACnC/9D,EAAOmjD,QAAQ6a,mBAAqB,GACpCh+D,EAAOmjD,QAAQ8a,gBAAkB,GACjCj+D,EAAOmjD,QAAQ+a,kBAAoB,GAGnCl+D,EAAOmjD,QAAQgb,qBAAuB,EACtCn+D,EAAOmjD,QAAQib,qBAAuB,EACtCp+D,EAAOmjD,QAAQkb,sBAAwB,EACvCr+D,EAAOmjD,QAAQmb,sBAAwB,EAIvCt+D,EAAOmjD,QAAQob,QAAU,EACzBv+D,EAAOmjD,QAAQqb,aAAe,EAC9Bx+D,EAAOmjD,QAAQsb,aAAe,EAC9Bz+D,EAAOmjD,QAAQub,eAAiB,EAChC1+D,EAAOmjD,QAAQwb,SAAW,EAC1B3+D,EAAOmjD,QAAQyb,SAAW,EAC1B5+D,EAAOmjD,QAAQ0b,SAAW,EAC1B7+D,EAAOmjD,QAAQ2b,SAAW,EAC1B9+D,EAAOmjD,QAAQ4b,aAAe,EAC9B/+D,EAAOmjD,QAAQ6b,YAAc,EAC7Bh/D,EAAOmjD,QAAQ8b,wBAA0B,GACzCj/D,EAAOmjD,QAAQ+b,yBAA2B,GAC1Cl/D,EAAOmjD,QAAQgc,cAAgB,GAC/Bn/D,EAAOmjD,QAAQic,gBAAkB,GACjCp/D,EAAOmjD,QAAQkc,gBAAkB,GACjCr/D,EAAOmjD,QAAQmc,iBAAmB,GAClCt/D,EAAOmjD,QAAQoc,mBAAqB,EACpCv/D,EAAOmjD,QAAQqc,mBAAqB,EACpCx/D,EAAOmjD,QAAQsc,oBAAsB,EACrCz/D,EAAOmjD,QAAQuc,oBAAsB,EAiBrC1/D,EAAO05D,UAAY,SAAUn4D,EAAMo+D,GAK/BnhE,KAAK+C,KAAOA,EAMZ/C,KAAK4I,MAAQ,KAMb5I,KAAK68D,WAAY,EAKjB78D,KAAKipC,gBAAkBjpC,KAKvBA,KAAKy6D,kBAAoB,KAKzBz6D,KAAK06D,qBAAuB,KAK5B16D,KAAK26D,eAAiB,KAKtB36D,KAAK46D,aAAe,KAKpB56D,KAAK66D,eAAiB,KAKtB76D,KAAK86D,gBAAkB,KAKvB96D,KAAKg9D,SAAW,IAMhBh9D,KAAKohE,WAAaD,EAMlBnhE,KAAKw8D,QAAU,KAMfx8D,KAAKqhE,eAAiB,KAMtBrhE,KAAKshE,YAMLthE,KAAKuhE,YAAc,EAMnBvhE,KAAKwhE,SAMLxhE,KAAKyhE,SAAW,GAGpBjgE,EAAO05D,UAAU54D,WAUb64D,aAAc,SAAUrtD,EAASstD,QAEJ,IAAdA,IAEPp7D,KAAKy6D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYr7D,KAAKy6D,kBAClGz6D,KAAK06D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAet7D,KAAK06D,qBAC3G16D,KAAK26D,eAA8C,mBAArBS,EAAUnY,OAAyBmY,EAAUnY,OAASjjD,KAAK26D,eACzF36D,KAAK46D,aAA0C,mBAAnBQ,EAAUlY,KAAuBkY,EAAUlY,KAAOljD,KAAK46D,aACnF56D,KAAK66D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAASv7D,KAAK66D,eACzF76D,KAAK86D,gBAAgD,mBAAtBM,EAAU5P,QAA0B4P,EAAU5P,QAAUxrD,KAAK86D,gBAE5F96D,KAAKipC,gBAAkBn7B,IAY/B4zD,UAAW,SAAU3W,GAEjB,OAAI/qD,KAAKshE,SAASvW,GAEP/qD,KAAKshE,SAASvW,GAId,MASfmR,WAAY,WAER,GAAKl8D,KAAK68D,WAAc78D,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAK+C,KAAKojC,MAAM4c,QAAQ/B,SAAYhhD,KAAKw8D,WAAWx8D,KAAKw8D,QAAQmF,WAAa3hE,KAAKw8D,QAAQmF,YAAc3hE,KAAKqhE,gBAAlK,CAKA,IAAK,IAAI3+D,EAAI,EAAGA,EAAI1C,KAAKuhE,YAAa7+D,IACtC,CACI,IAAIk/D,EAAeC,MAAM7hE,KAAKw8D,QAAQtO,QAAQxrD,IAAM1C,KAAKw8D,QAAQtO,QAAQxrD,GAAG0E,MAAQpH,KAAKw8D,QAAQtO,QAAQxrD,GAErGk/D,IAAiB5hE,KAAKshE,SAAS5+D,GAAG0E,QAEb,IAAjBw6D,EAEA5hE,KAAK8hE,kBAAkBp/D,EAAGk/D,GAEJ,IAAjBA,EAEL5hE,KAAK+hE,gBAAgBr/D,EAAGk/D,GAIxB5hE,KAAKgiE,mBAAmBt/D,EAAGk/D,IAKvC,IAAK,IAAIh5D,EAAQ,EAAGA,EAAQ5I,KAAKyhE,SAAU74D,IAC3C,CACI,IAAIxB,EAAQpH,KAAKw8D,QAAQyF,KAAKr5D,GAEzBxB,EAAQ,GAAKA,EAAQpH,KAAKg9D,UAAc51D,EAAQ,GAAKA,GAASpH,KAAKg9D,SAEpEh9D,KAAKkiE,kBAAkBt5D,EAAOxB,GAI9BpH,KAAKkiE,kBAAkBt5D,EAAO,GAItC5I,KAAKqhE,eAAiBrhE,KAAKw8D,QAAQmF,YASvC9F,QAAS,SAAUiB,GAEf,IAAIqF,GAAmBniE,KAAK68D,UAE5B78D,KAAK68D,WAAY,EACjB78D,KAAK4I,MAAQk0D,EAAOl0D,MAEpB5I,KAAKw8D,QAAUM,EAEf98D,KAAKshE,YACLthE,KAAKuhE,YAAczE,EAAO5O,QAAQvrD,OAElC3C,KAAKwhE,SACLxhE,KAAKyhE,SAAW3E,EAAOmF,KAAKt/D,OAE5B,IAAK,IAAIO,EAAI,EAAGA,EAAIlD,KAAKyhE,SAAUv+D,IAE/BlD,KAAKwhE,MAAMt+D,GAAK45D,EAAOmF,KAAK/+D,GAGhC,IAAK,IAAI6nD,KAAc+R,EAAO5O,QAE1BnD,EAAa53B,SAAS43B,EAAY,IAClC/qD,KAAKshE,SAASvW,GAAc,IAAIvpD,EAAOspD,aAAa9qD,KAAM+qD,GAG1DoX,GAAmBniE,KAAKohE,WAAW3G,mBAEnCz6D,KAAKohE,WAAW3G,kBAAkBj2D,KAAKxE,KAAKohE,WAAWn4B,gBAAiBjpC,KAAK4I,OAG7Eu5D,GAAmBniE,KAAKy6D,mBAExBz6D,KAAKy6D,kBAAkBj2D,KAAKxE,KAAKipC,kBASzC8yB,WAAY,WAER,IAAIoG,EAAkBniE,KAAK68D,UACvBuF,EAAqBpiE,KAAK4I,MAE9B5I,KAAK68D,WAAY,EACjB78D,KAAK4I,MAAQ,KAEb5I,KAAKw8D,aAAUj2D,EAEf,IAAK,IAAI7D,EAAI,EAAGA,EAAI1C,KAAKuhE,YAAa7+D,IAElC1C,KAAKshE,SAAS5+D,GAAGF,UAGrBxC,KAAKshE,YACLthE,KAAKuhE,YAAc,EAEnBvhE,KAAKwhE,SACLxhE,KAAKyhE,SAAW,EAEZU,GAAmBniE,KAAKohE,WAAW1G,sBAEnC16D,KAAKohE,WAAW1G,qBAAqBl2D,KAAKxE,KAAKohE,WAAWn4B,gBAAiBm5B,GAG3ED,GAAmBniE,KAAK06D,sBAExB16D,KAAK06D,qBAAqBl2D,KAAKxE,KAAKipC,kBAS5CzmC,QAAS,WAELxC,KAAKw8D,aAAUj2D,EAEf,IAAK,IAAI7D,EAAI,EAAGA,EAAI1C,KAAKuhE,YAAa7+D,IAElC1C,KAAKshE,SAAS5+D,GAAGF,UAGrBxC,KAAKshE,YACLthE,KAAKuhE,YAAc,EAEnBvhE,KAAKwhE,SACLxhE,KAAKyhE,SAAW,EAEhBzhE,KAAKy6D,kBAAoB,KACzBz6D,KAAK06D,qBAAuB,KAC5B16D,KAAK26D,eAAiB,KACtB36D,KAAK46D,aAAe,KACpB56D,KAAK66D,eAAiB,KACtB76D,KAAK86D,gBAAkB,MAS3BoH,kBAAmB,SAAUt5D,EAAOxB,GAE5BpH,KAAKwhE,MAAM54D,KAAWxB,IAK1BpH,KAAKwhE,MAAM54D,GAASxB,EAEhBpH,KAAKohE,WAAWvG,gBAEhB76D,KAAKohE,WAAWvG,eAAer2D,KAAKxE,KAAKohE,WAAWn4B,gBAAiBjpC,KAAM4I,EAAOxB,GAGlFpH,KAAK66D,gBAEL76D,KAAK66D,eAAer2D,KAAKxE,KAAKipC,gBAAiBjpC,KAAM4I,EAAOxB,KAWpE06D,kBAAmB,SAAU/W,EAAY3jD,GAEjCpH,KAAKshE,SAASvW,IAEd/qD,KAAKshE,SAASvW,GAAYz+C,MAAM,KAAMlF,GAGtCpH,KAAKohE,WAAWzG,gBAEhB36D,KAAKohE,WAAWzG,eAAen2D,KAAKxE,KAAKohE,WAAWn4B,gBAAiB8hB,EAAY3jD,EAAOpH,KAAK4I,OAG7F5I,KAAK26D,gBAEL36D,KAAK26D,eAAen2D,KAAKxE,KAAKipC,gBAAiB8hB,EAAY3jD,IAWnE26D,gBAAiB,SAAUhX,EAAY3jD,GAE/BpH,KAAKohE,WAAWxG,cAEhB56D,KAAKohE,WAAWxG,aAAap2D,KAAKxE,KAAKohE,WAAWn4B,gBAAiB8hB,EAAY3jD,EAAOpH,KAAK4I,OAG3F5I,KAAK46D,cAEL56D,KAAK46D,aAAap2D,KAAKxE,KAAKipC,gBAAiB8hB,EAAY3jD,GAGzDpH,KAAKshE,SAASvW,IAEd/qD,KAAKshE,SAASvW,GAAY5+C,KAAK,KAAM/E,IAW7C46D,mBAAoB,SAAUjX,EAAY3jD,GAElCpH,KAAKohE,WAAWtG,iBAEhB96D,KAAKohE,WAAWtG,gBAAgBt2D,KAAKxE,KAAKohE,WAAWn4B,gBAAiB8hB,EAAY3jD,EAAOpH,KAAK4I,OAG9F5I,KAAK86D,iBAEL96D,KAAK86D,gBAAgBt2D,KAAKxE,KAAKipC,gBAAiB8hB,EAAY3jD,GAG5DpH,KAAKshE,SAASvW,IAEd/qD,KAAKshE,SAASvW,GAAYY,SAASvkD,IAW3Ci7D,KAAM,SAAUC,GAEZ,QAAItiE,KAAKwhE,MAAMc,IAEJtiE,KAAKwhE,MAAMc,IAa1BtX,OAAQ,SAAUD,GAEd,QAAI/qD,KAAKshE,SAASvW,IAEP/qD,KAAKshE,SAASvW,GAAYC,QAazCC,KAAM,SAAUF,GAEZ,QAAI/qD,KAAKshE,SAASvW,IAEP/qD,KAAKshE,SAASvW,GAAYE,MAczCY,aAAc,SAAUd,EAAYloB,GAEhC,GAAI7iC,KAAKshE,SAASvW,GAEd,OAAO/qD,KAAKshE,SAASvW,GAAYc,aAAahpB,IAYtD+oB,YAAa,SAAUb,EAAYloB,GAE/B,GAAI7iC,KAAKshE,SAASvW,GAEd,OAAO/qD,KAAKshE,SAASvW,GAAYa,YAAY/oB,IAYrD0/B,YAAa,SAAUxX,GAEnB,OAAI/qD,KAAKshE,SAASvW,GAEP/qD,KAAKshE,SAASvW,GAAY3jD,MAG9B,MAQX2+B,MAAO,WAEH,IAAK,IAAIl+B,EAAI,EAAGA,EAAI7H,KAAKwhE,MAAM7+D,OAAQkF,IAEnC7H,KAAKwhE,MAAM35D,GAAK,IAM5BrG,EAAO05D,UAAU54D,UAAUC,YAAcf,EAAO05D,UAgBhD15D,EAAOghE,IAAM,SAAUz/D,EAAM0/D,GAKzBziE,KAAK+C,KAAOA,EAOZ/C,KAAK0iE,UAAW,EAMhB1iE,KAAKqwC,MAAQ,KAMbrwC,KAAKgrD,QAAS,EAMdhrD,KAAKirD,MAAO,EAMZjrD,KAAKqrD,QAAS,EAMdrrD,KAAKurD,SAAU,EAMfvrD,KAAKsrD,UAAW,EAKhBtrD,KAAKkrD,SAAW,EAQhBlrD,KAAK6iC,SAAW,EAMhB7iC,KAAKmrD,QAAU,KAQfnrD,KAAK2iE,YAAc,KAMnB3iE,KAAKorD,QAAU,EAKfprD,KAAK4iE,QAAUH,EAKfziE,KAAKijD,OAAS,IAAIzhD,EAAO6gC,OAKzBriC,KAAK6iE,eAAiB,KAKtB7iE,KAAK8iE,cAAgB,KAKrB9iE,KAAKkjD,KAAO,IAAI1hD,EAAO6gC,OAMvBriC,KAAK+iE,WAAY,EAMjB/iE,KAAKgjE,SAAU,GAGnBxhE,EAAOghE,IAAIlgE,WAQPwiC,OAAQ,WAEC9kC,KAAK0iE,WAEN1iE,KAAKgrD,QAELhrD,KAAK6iC,SAAW7iC,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKkrD,SAC3ClrD,KAAKorD,UAEDprD,KAAK6iE,gBAEL7iE,KAAK6iE,eAAer+D,KAAKxE,KAAK8iE,cAAe9iE,OAKjDA,KAAK2iE,WAAa3iE,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKmrD,SAWrD8X,eAAgB,SAAU5yB,GAEjBrwC,KAAK0iE,WAEV1iE,KAAKqwC,MAAQA,EAGTrwC,KAAKgrD,SAKThrD,KAAKqrD,OAAShb,EAAMgb,OACpBrrD,KAAKurD,QAAUlb,EAAMkb,QACrBvrD,KAAKsrD,SAAWjb,EAAMib,SAEtBtrD,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EACZjrD,KAAKkrD,SAAWlrD,KAAK+C,KAAKmiC,KAAKA,KAC/BllC,KAAK6iC,SAAW,EAChB7iC,KAAK2iE,WAAa3iE,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKmrD,OAC7CnrD,KAAKorD,QAAU,EAMfprD,KAAK+iE,WAAY,EAEjB/iE,KAAKijD,OAAO7d,SAASplC,SAUzBkjE,aAAc,SAAU7yB,GAEfrwC,KAAK0iE,WAEV1iE,KAAKqwC,MAAQA,EAETrwC,KAAKirD,OAKTjrD,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EACZjrD,KAAKmrD,OAASnrD,KAAK+C,KAAKmiC,KAAKA,KAC7BllC,KAAK6iC,SAAW7iC,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKkrD,SAC3ClrD,KAAK2iE,WAAa,EAMlB3iE,KAAKgjE,SAAU,EAEfhjE,KAAKkjD,KAAK9d,SAASplC,SAYvB+lC,MAAO,SAAUwf,QAEAh/C,IAATg/C,IAAsBA,GAAO,GAEjCvlD,KAAKgrD,QAAS,EACdhrD,KAAKirD,MAAO,EACZjrD,KAAKmrD,OAASnrD,KAAK+C,KAAKmiC,KAAKA,KAC7BllC,KAAK6iC,SAAW,EAChB7iC,KAAK2iE,YAAc,KACnB3iE,KAAK0iE,UAAW,EAChB1iE,KAAK+iE,WAAY,EACjB/iE,KAAKgjE,SAAU,EAEXzd,IAEAvlD,KAAKijD,OAAOpZ,YACZ7pC,KAAKkjD,KAAKrZ,YACV7pC,KAAK6iE,eAAiB,KACtB7iE,KAAK8iE,cAAgB,OAY7BtO,aAAc,SAAU3xB,GAIpB,YAFiBt8B,IAAbs8B,IAA0BA,EAAW,IAEjC7iC,KAAKgrD,QAAUhrD,KAAK6iC,SAAWA,GAW3CsgC,WAAY,SAAUtgC,GAIlB,YAFiBt8B,IAAbs8B,IAA0BA,EAAW,KAEhC7iC,KAAKgrD,QAAYhrD,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKmrD,OAAUtoB,GAUnE+oB,YAAa,WAET,OAAQ5rD,KAAKgrD,QAA4B,IAAlBhrD,KAAK6iC,UAUhCgpB,aAAc,WAEV,OAAS7rD,KAAKgrD,QAA8B,IAApBhrD,KAAK2iE,aAgBrC37D,OAAOyF,eAAejL,EAAOghE,IAAIlgE,UAAW,YAExC4E,IAAK,WAED,IAAIygC,EAAU3nC,KAAK+iE,UAEnB,OADA/iE,KAAK+iE,WAAY,EACVp7B,KAgBf3gC,OAAOyF,eAAejL,EAAOghE,IAAIlgE,UAAW,UAExC4E,IAAK,WAED,IAAIygC,EAAU3nC,KAAKgjE,QAEnB,OADAhjE,KAAKgjE,SAAU,EACRr7B,KAaf3gC,OAAOyF,eAAejL,EAAOghE,IAAIlgE,UAAW,WAExC4E,IAAK,WAED,OAAOlH,KAAK0iE,UAGhBv7D,IAAK,SAAUC,IAEXA,IAAUA,KAEIpH,KAAK0iE,WAEVt7D,GAEDpH,KAAK+lC,OAAM,GAGf/lC,KAAK0iE,SAAWt7D,MAM5B5F,EAAOghE,IAAIlgE,UAAUC,YAAcf,EAAOghE,IAsB1ChhE,EAAOkjD,SAAW,SAAU3hD,GAKxB/C,KAAK+C,KAAOA,EAOZ/C,KAAK0qC,QAAS,EAOd1qC,KAAKghD,SAAU,EAKfhhD,KAAKqwC,MAAQ,KAKbrwC,KAAKojE,WAAa,KAKlBpjE,KAAKipC,gBAAkBjpC,KAKvBA,KAAK26D,eAAiB,KAKtB36D,KAAKqjE,gBAAkB,KAKvBrjE,KAAK46D,aAAe,KAMpB56D,KAAKsjE,SAMLtjE,KAAKujE,YAOLvjE,KAAKwjE,WAAa,KAOlBxjE,KAAKyjE,YAAc,KAOnBzjE,KAAK0jE,SAAW,KAMhB1jE,KAAKivC,GAAK,EAMVjvC,KAAK2jE,GAAK,GAGdniE,EAAOkjD,SAASpiD,WAWZ64D,aAAc,SAAUrtD,EAASm1C,EAAQC,EAAM0gB,GAE3C5jE,KAAKipC,gBAAkBn7B,OAERvH,IAAX08C,GAAmC,OAAXA,IAExBjjD,KAAK26D,eAAiB1X,QAGb18C,IAAT28C,GAA+B,OAATA,IAEtBljD,KAAK46D,aAAe1X,QAGR38C,IAAZq9D,GAAqC,OAAZA,IAEzB5jE,KAAKqjE,gBAAkBO,IAS/BC,gBAAiB,WAEb7jE,KAAKipC,gBAAkBjpC,KACvBA,KAAK26D,eAAiB,KACtB36D,KAAK46D,aAAe,KACpB56D,KAAKqjE,gBAAkB,MAW3BS,OAAQ,SAAUrB,GASd,OAPKziE,KAAKsjE,MAAMb,KAEZziE,KAAKsjE,MAAMb,GAAW,IAAIjhE,EAAOghE,IAAIxiE,KAAK+C,KAAM0/D,GAEhDziE,KAAK+jE,cAActB,IAGhBziE,KAAKsjE,MAAMb,IAgBtBuB,QAAS,SAAUtyC,GAEf,IAAIgE,KAEJ,IAAK,IAAI1iB,KAAO0e,EAEZgE,EAAO1iB,GAAOhT,KAAK8jE,OAAOpyC,EAAK1e,IAGnC,OAAO0iB,GASXuuC,UAAW,SAAUxB,GAEbziE,KAAKsjE,MAAMb,KAEXziE,KAAKsjE,MAAMb,GAAW,KAEtBziE,KAAKkkE,iBAAiBzB,KAU9B0B,iBAAkB,WAEd,OAAOnkE,KAAKgkE,SAAUI,GAAI5iE,EAAO6iE,QAAQr4C,GAAIoiC,KAAM5sD,EAAO6iE,QAAQp4C,KAAM0H,KAAMnyB,EAAO6iE,QAAQv4C,KAAM4H,MAAOlyB,EAAO6iE,QAAQt4C,SAW7Hzf,MAAO,WAEH,GAAItM,KAAK+C,KAAKknB,OAAOi1B,SAEjB,OAAO,EAGX,GAAIl/C,KAAK0qC,OAGL,OAAO,EAGX,IAAI2B,EAAQrsC,KAuBZ,OArBAA,KAAKwjE,WAAa,SAAUnzB,GAExB,OAAOhE,EAAM42B,eAAe5yB,IAGhCrwC,KAAK0jE,SAAW,SAAUrzB,GAEtB,OAAOhE,EAAM62B,aAAa7yB,IAG9BrwC,KAAKyjE,YAAc,SAAUpzB,GAEzB,OAAOhE,EAAMi4B,gBAAgBj0B,IAGjCjgC,OAAOugC,iBAAiB,UAAW3wC,KAAKwjE,YAAY,GACpDpzD,OAAOugC,iBAAiB,QAAS3wC,KAAK0jE,UAAU,GAChDtzD,OAAOugC,iBAAiB,WAAY3wC,KAAKyjE,aAAa,GAEtDzjE,KAAK0qC,QAAS,GAEP,GAQXv+B,KAAM,WAEFiE,OAAOwhC,oBAAoB,UAAW5xC,KAAKwjE,YAC3CpzD,OAAOwhC,oBAAoB,QAAS5xC,KAAK0jE,UACzCtzD,OAAOwhC,oBAAoB,WAAY5xC,KAAKyjE,aAE5CzjE,KAAKwjE,WAAa,KAClBxjE,KAAK0jE,SAAW,KAChB1jE,KAAKyjE,YAAc,KAEnBzjE,KAAK0qC,QAAS,GASlBloC,QAAS,WAELxC,KAAKmM,OAELnM,KAAKukE,gBAELvkE,KAAKsjE,MAAM3gE,OAAS,EACpB3C,KAAKivC,GAAK,GAed80B,cAAe,SAAUtB,GAErB,GAAuB,iBAAZA,EAEP,IAAK,IAAIzvD,KAAOyvD,EAEZziE,KAAKujE,SAASd,EAAQzvD,KAAQ,OAKlChT,KAAKujE,SAASd,IAAW,GAUjCyB,iBAAkB,SAAUzB,UAEjBziE,KAAKujE,SAASd,IAQzB8B,cAAe,WAEXvkE,KAAKujE,aAQTz+B,OAAQ,WAIJ,IAFA9kC,KAAKivC,GAAKjvC,KAAKsjE,MAAM3gE,OAEd3C,KAAKivC,MAEJjvC,KAAKsjE,MAAMtjE,KAAKivC,KAEhBjvC,KAAKsjE,MAAMtjE,KAAKivC,IAAInK,UAYhCm+B,eAAgB,SAAU5yB,GAItB,GAFArwC,KAAKqwC,MAAQA,EAERrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,QAAtC,CAKA,IAAIhuC,EAAMq9B,EAAMuyB,QAGZ5iE,KAAKujE,SAASvwD,IAEdq9B,EAAMgP,iBAGLr/C,KAAKsjE,MAAMtwD,KAEZhT,KAAKsjE,MAAMtwD,GAAO,IAAIxR,EAAOghE,IAAIxiE,KAAK+C,KAAMiQ,IAGhDhT,KAAKsjE,MAAMtwD,GAAKiwD,eAAe5yB,GAE/BrwC,KAAK2jE,GAAK3wD,EAENhT,KAAK26D,gBAEL36D,KAAK26D,eAAen2D,KAAKxE,KAAKipC,gBAAiBoH,KAWvDi0B,gBAAiB,SAAUj0B,GAEvBrwC,KAAKojE,WAAa/yB,EAEbrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,SAKlChhD,KAAKqjE,iBAELrjE,KAAKqjE,gBAAgB7+D,KAAKxE,KAAKipC,gBAAiBu7B,OAAOC,aAAap0B,EAAMq0B,UAAWr0B,IAW7F6yB,aAAc,SAAU7yB,GAIpB,GAFArwC,KAAKqwC,MAAQA,EAERrwC,KAAK+C,KAAKojC,MAAM6a,SAAYhhD,KAAKghD,QAAtC,CAKA,IAAIhuC,EAAMq9B,EAAMuyB,QAEZ5iE,KAAKujE,SAASvwD,IAEdq9B,EAAMgP,iBAGLr/C,KAAKsjE,MAAMtwD,KAEZhT,KAAKsjE,MAAMtwD,GAAO,IAAIxR,EAAOghE,IAAIxiE,KAAK+C,KAAMiQ,IAGhDhT,KAAKsjE,MAAMtwD,GAAKkwD,aAAa7yB,GAEzBrwC,KAAK46D,cAEL56D,KAAK46D,aAAap2D,KAAKxE,KAAKipC,gBAAiBoH,KAUrDtK,MAAO,SAAUwf,QAEAh/C,IAATg/C,IAAsBA,GAAO,GAEjCvlD,KAAKqwC,MAAQ,KAIb,IAFA,IAAI3tC,EAAI1C,KAAKsjE,MAAM3gE,OAEZD,KAEC1C,KAAKsjE,MAAM5gE,IAEX1C,KAAKsjE,MAAM5gE,GAAGqjC,MAAMwf,IAchCiP,aAAc,SAAUiO,EAAS5/B,GAE7B,OAAI7iC,KAAKsjE,MAAMb,GAEJziE,KAAKsjE,MAAMb,GAASjO,aAAa3xB,GAIjC,MAafsgC,WAAY,SAAUV,EAAS5/B,GAE3B,OAAI7iC,KAAKsjE,MAAMb,GAEJziE,KAAKsjE,MAAMb,GAASU,WAAWtgC,GAI/B,MAIf+oB,YAAa,SAAU6W,GAEnB,OAAIziE,KAAKsjE,MAAMb,GAEJziE,KAAKsjE,MAAMb,GAAS7W,cAIpB,MAIfC,aAAc,SAAU4W,GAEpB,OAAIziE,KAAKsjE,MAAMb,GAEJziE,KAAKsjE,MAAMb,GAAS5W,eAIpB,MAWfb,OAAQ,SAAUyX,GAEd,OAAIziE,KAAKsjE,MAAMb,GAEJziE,KAAKsjE,MAAMb,GAASzX,OAIpB,OAYnBhkD,OAAOyF,eAAejL,EAAOkjD,SAASpiD,UAAW,YAE7C4E,IAAK,WAED,OAAIlH,KAAKqwC,OAAiC,KAAxBrwC,KAAKqwC,MAAMq0B,SAElB,GAEF1kE,KAAKojE,WAEHoB,OAAOC,aAAazkE,KAAKojE,WAAWsB,UAIpC,QAYnB19D,OAAOyF,eAAejL,EAAOkjD,SAASpiD,UAAW,WAE7C4E,IAAK,WAED,OAAOlH,KAAKsjE,MAAMtjE,KAAK2jE,OAK/BniE,EAAOkjD,SAASpiD,UAAUC,YAAcf,EAAOkjD,SAiB/CljD,EAAO6iE,SAEHM,EAAG,IAAIC,WAAW,GAGlBC,EAAG,IAAID,WAAW,GAGlBE,EAAG,IAAIF,WAAW,GAGlBG,EAAG,IAAIH,WAAW,GAGlBI,EAAG,IAAIJ,WAAW,GAGlBp0C,EAAG,IAAIo0C,WAAW,GAGlBK,EAAG,IAAIL,WAAW,GAGlBM,EAAG,IAAIN,WAAW,GAGlBO,EAAG,IAAIP,WAAW,GAGlBQ,EAAG,IAAIR,WAAW,GAGlBS,EAAG,IAAIT,WAAW,GAGlBU,EAAG,IAAIV,WAAW,GAGlBW,EAAG,IAAIX,WAAW,GAGlBY,EAAG,IAAIZ,WAAW,GAGlBa,EAAG,IAAIb,WAAW,GAGlBc,EAAG,IAAId,WAAW,GAGlBe,EAAG,IAAIf,WAAW,GAGlBgB,EAAG,IAAIhB,WAAW,GAGlBiB,EAAG,IAAIjB,WAAW,GAGlBkB,EAAG,IAAIlB,WAAW,GAGlBmB,EAAG,IAAInB,WAAW,GAGlBoB,EAAG,IAAIpB,WAAW,GAGlBqB,EAAG,IAAIrB,WAAW,GAGlBsB,EAAG,IAAItB,WAAW,GAGlBuB,EAAG,IAAIvB,WAAW,GAGlBwB,EAAG,IAAIxB,WAAW,GAGlByB,KAAM,IAAIzB,WAAW,GAGrBtoD,IAAK,IAAIsoD,WAAW,GAGpB0B,IAAK,IAAI1B,WAAW,GAGpB2B,MAAO,IAAI3B,WAAW,GAGtB4B,KAAM,IAAI5B,WAAW,GAGrB6B,KAAM,IAAI7B,WAAW,GAGrB8B,IAAK,IAAI9B,WAAW,GAGpB+B,MAAO,IAAI/B,WAAW,GAGtBgC,MAAO,IAAIhC,WAAW,GAGtBiC,KAAM,IAAIjC,WAAW,GAGrBkC,SAAU,GAGVC,SAAU,GAGVC,SAAU,GAGVC,SAAU,GAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,gBAAiB,IAGjBC,WAAY,IAGZC,aAAc,IAGdC,gBAAiB,IAGjBC,eAAgB,IAGhBC,cAAe,IAGfC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,MAAO,IAGPC,OAAQ,IAGRC,MAAO,IAGPC,WAAY,IAGZC,OAAQ,IAGRC,cAAe,IAGfC,MAAO,IAGPC,aAAc,IAGdC,eAAgB,IAGhBC,eAAgB,IAGhBC,OAAQ,IAGRC,UAAW,EAGXC,IAAK,EAGLC,MAAO,GAGPC,MAAO,GAGPC,MAAO,GAGPC,QAAS,GAGTC,IAAK,GAGLC,UAAW,GAGXC,IAAK,GAGLC,SAAU,GAGVC,QAAS,GAGTC,UAAW,GAGXC,IAAK,GAGLC,KAAM,GAGNv+C,KAAM,GAGNE,GAAI,GAGJD,MAAO,GAGPE,KAAM,GAGNq+C,KAAM,GAGNC,MAAO,GAGPC,OAAQ,GAGRC,OAAQ,GAGRC,KAAM,GAGNC,SAAU,KAId,IAAK,IAAI33D,KAAOxR,EAAO6iE,QAEf7iE,EAAO6iE,QAAQhzC,eAAere,KAASA,EAAI43D,MAAM,WAEjDppE,EAAOkjD,SAAS1xC,GAAOxR,EAAO6iE,QAAQrxD,IAU9CxR,EAAOqpE,UAAY,aAanBrpE,EAAOqpE,UAAUC,MAAQ,aAEzBtpE,EAAOqpE,UAAUC,MAAMxoE,WAenBszB,OAEI1uB,IAAK,WAED,OAAO1F,EAAOkC,KAAKqnE,UAAUvpE,EAAOkC,KAAKs5B,SAASh9B,KAAKgB,YAG3DmG,IAAK,SAAUC,GAEXpH,KAAKgB,SAAWQ,EAAOkC,KAAK+yB,SAASj1B,EAAOkC,KAAKqnE,UAAU3jE,OAkBvE5F,EAAOqpE,UAAUG,UAAY,aAE7BxpE,EAAOqpE,UAAUG,UAAU1oE,WAiBvB2oE,KAAM,SAAUj5C,EAAMk5C,EAAWC,EAAMC,GAEnC,GAAIprE,KAAKqrE,WAEL,OAAOrrE,KAAKqrE,WAAWJ,KAAKj5C,EAAMk5C,EAAWC,EAAMC,KAkB/D5pE,EAAOqpE,UAAUS,SAAW,aAE5B9pE,EAAOqpE,UAAUS,SAAShpE,WAatBipE,UAAU,EASVC,UAEItkE,IAAK,WASD,OAPKlH,KAAKurE,UAAavrE,KAAKyrE,mBAExBzrE,KAAKgC,QAAQqzB,SAASr1B,KAAKkK,aAC3BlK,KAAKgC,QAAQ+B,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EACxC/D,KAAKgC,QAAQgC,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,GAGrChE,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKuf,WAAWx2B,KAAKgC,YAkB/DR,EAAOqpE,UAAUa,OAAS,aAE1BlqE,EAAOqpE,UAAUa,OAAOppE,WAUpBoiB,SAEIxd,IAAK,WAED,OAAOlH,KAAK2G,OAAO5C,EAAI/D,KAAKpC,QAapC+mB,SAEIzd,IAAK,WAED,OAAOlH,KAAK2G,OAAO3C,EAAIhE,KAAKnC,SAWpCg6B,SAEI3wB,IAAK,WAED,OAAQlH,KAAK+D,EAAI/D,KAAK0kB,QAAyB,GAAb1kB,KAAKpC,OAG3CuJ,IAAK,SAAUC,GAEXpH,KAAK+D,EAAKqD,EAAQpH,KAAK0kB,QAAyB,GAAb1kB,KAAKpC,QAWhDk6B,SAEI5wB,IAAK,WAED,OAAQlH,KAAKgE,EAAIhE,KAAK2kB,QAA0B,GAAd3kB,KAAKnC,QAG3CsJ,IAAK,SAAUC,GAEXpH,KAAKgE,EAAKoD,EAAQpH,KAAK2kB,QAA0B,GAAd3kB,KAAKnC,SAWhD81B,MAEIzsB,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK0kB,SAGzBvd,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAQpH,KAAK0kB,UAW9BgP,OAEIxsB,IAAK,WAED,OAAQlH,KAAK+D,EAAI/D,KAAKpC,MAASoC,KAAK0kB,SAGxCvd,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAASpH,KAAU,MAAIA,KAAK0kB,UAW7C2R,KAEInvB,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK2kB,SAGzBxd,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAAQpH,KAAK2kB,UAW9B2R,QAEIpvB,IAAK,WAED,OAAQlH,KAAKgE,EAAIhE,KAAKnC,OAAUmC,KAAK2kB,SAGzCxd,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAASpH,KAAW,OAAIA,KAAK2kB,UA4C9CswB,QAAS,SAAU02B,EAAW/qE,EAAU8jB,EAASC,GAK7C,YAHgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAE/B/jB,GAEJ,QACA,KAAKY,EAAOotB,SACR5uB,KAAK2zB,KAAOg4C,EAAUh4C,KAAOjP,EAC7B1kB,KAAKq2B,IAAMs1C,EAAUt1C,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOqtB,WACR7uB,KAAK63B,QAAU8zC,EAAU9zC,QAAUnT,EACnC1kB,KAAKq2B,IAAMs1C,EAAUt1C,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOstB,UACR9uB,KAAK0zB,MAAQi4C,EAAUj4C,MAAQhP,EAC/B1kB,KAAKq2B,IAAMs1C,EAAUt1C,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOwtB,YACRhvB,KAAK2zB,KAAOg4C,EAAUh4C,KAAOjP,EAC7B1kB,KAAK83B,QAAU6zC,EAAU7zC,QAAUnT,EACnC,MAEJ,KAAKnjB,EAAO0tB,OACRlvB,KAAK63B,QAAU8zC,EAAU9zC,QAAUnT,EACnC1kB,KAAK83B,QAAU6zC,EAAU7zC,QAAUnT,EACnC,MAEJ,KAAKnjB,EAAO4tB,aACRpvB,KAAK0zB,MAAQi4C,EAAUj4C,MAAQhP,EAC/B1kB,KAAK83B,QAAU6zC,EAAU7zC,QAAUnT,EACnC,MAEJ,KAAKnjB,EAAO8tB,YACRtvB,KAAK2zB,KAAOg4C,EAAUh4C,KAAOjP,EAC7B1kB,KAAKs2B,OAASq1C,EAAUr1C,OAAS3R,EACjC,MAEJ,KAAKnjB,EAAO+tB,cACRvvB,KAAK63B,QAAU8zC,EAAU9zC,QAAUnT,EACnC1kB,KAAKs2B,OAASq1C,EAAUr1C,OAAS3R,EACjC,MAEJ,KAAKnjB,EAAOguB,aACRxvB,KAAK0zB,MAAQi4C,EAAUj4C,MAAQhP,EAC/B1kB,KAAKs2B,OAASq1C,EAAUr1C,OAAS3R,EAIzC,OAAO3kB,MA2CX4rE,QAAS,SAAUvqE,EAAQT,EAAU8jB,EAASC,GAK1C,YAHgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAE/B/jB,GAEJ,QACA,KAAKY,EAAOotB,SACR5uB,KAAK2zB,KAAOtyB,EAAOsyB,KAAOjP,EAC1B1kB,KAAKs2B,OAASj1B,EAAOg1B,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOqtB,WACR7uB,KAAK63B,QAAUx2B,EAAOw2B,QAAUnT,EAChC1kB,KAAKs2B,OAASj1B,EAAOg1B,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOstB,UACR9uB,KAAK0zB,MAAQryB,EAAOqyB,MAAQhP,EAC5B1kB,KAAKs2B,OAASj1B,EAAOg1B,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOutB,SACR/uB,KAAK0zB,MAAQryB,EAAOsyB,KAAOjP,EAC3B1kB,KAAKq2B,IAAMh1B,EAAOg1B,IAAM1R,EACxB,MAEJ,KAAKnjB,EAAOwtB,YACRhvB,KAAK0zB,MAAQryB,EAAOsyB,KAAOjP,EAC3B1kB,KAAK83B,QAAUz2B,EAAOy2B,QAAUnT,EAChC,MAEJ,KAAKnjB,EAAOytB,YACRjvB,KAAK0zB,MAAQryB,EAAOsyB,KAAOjP,EAC3B1kB,KAAKs2B,OAASj1B,EAAOi1B,OAAS3R,EAC9B,MAEJ,KAAKnjB,EAAO2tB,UACRnvB,KAAK2zB,KAAOtyB,EAAOqyB,MAAQhP,EAC3B1kB,KAAKq2B,IAAMh1B,EAAOg1B,IAAM1R,EACxB,MAEJ,KAAKnjB,EAAO4tB,aACRpvB,KAAK2zB,KAAOtyB,EAAOqyB,MAAQhP,EAC3B1kB,KAAK83B,QAAUz2B,EAAOy2B,QAAUnT,EAChC,MAEJ,KAAKnjB,EAAO6tB,aACRrvB,KAAK2zB,KAAOtyB,EAAOqyB,MAAQhP,EAC3B1kB,KAAKs2B,OAASj1B,EAAOi1B,OAAS3R,EAC9B,MAEJ,KAAKnjB,EAAO8tB,YACRtvB,KAAK2zB,KAAOtyB,EAAOsyB,KAAOjP,EAC1B1kB,KAAKq2B,IAAMh1B,EAAOi1B,OAAS3R,EAC3B,MAEJ,KAAKnjB,EAAO+tB,cACRvvB,KAAK63B,QAAUx2B,EAAOw2B,QAAUnT,EAChC1kB,KAAKq2B,IAAMh1B,EAAOi1B,OAAS3R,EAC3B,MAEJ,KAAKnjB,EAAOguB,aACRxvB,KAAK0zB,MAAQryB,EAAOqyB,MAAQhP,EAC5B1kB,KAAKq2B,IAAMh1B,EAAOi1B,OAAS3R,EAInC,OAAO3kB,OAOfwB,EAAOywC,MAAM3vC,UAAU2yC,QAAUzzC,EAAOqpE,UAAUa,OAAOppE,UAAU2yC,QACnEzzC,EAAOywC,MAAM3vC,UAAUspE,QAAUpqE,EAAOqpE,UAAUa,OAAOppE,UAAUspE,QAanEpqE,EAAOqpE,UAAUgB,WAAa,aAY9BrqE,EAAOqpE,UAAUgB,WAAWvpE,UAAUizC,WAAa,WAO/C,OALIv1C,KAAKqB,QAAUrB,KAAKqB,OAAOqI,iBAE3B1J,KAAKqB,OAAOqI,gBAAgB1J,MAGzBA,MAaXwB,EAAOqpE,UAAUgB,WAAWvpE,UAAUmzC,WAAa,WAO/C,OALIz1C,KAAKqB,QAAUrB,KAAKqB,OAAOsI,iBAE3B3J,KAAKqB,OAAOsI,gBAAgB3J,MAGzBA,MAaXwB,EAAOqpE,UAAUgB,WAAWvpE,UAAUozC,OAAS,WAO3C,OALI11C,KAAKqB,QAELrB,KAAKqB,OAAOq0C,OAAO11C,MAGhBA,MAaXwB,EAAOqpE,UAAUgB,WAAWvpE,UAAUqzC,SAAW,WAO7C,OALI31C,KAAKqB,QAELrB,KAAKqB,OAAOs0C,SAAS31C,MAGlBA,MAcXwB,EAAOqpE,UAAUiB,KAAO,aAUxBtqE,EAAOqpE,UAAUiB,KAAKC,QAAU,SAAUC,GAGtCxqE,EAAOgwB,MAAM4C,eAAep0B,KAAMwB,EAAOqpE,UAAUiB,KAAKxpE,WAExDtC,KAAKgsE,cAEL,IAAK,IAAItpE,EAAI,EAAGA,EAAIspE,EAAWrpE,OAAQD,IACvC,CACI,IAAIwR,EAAK83D,EAAWtpE,GAChB4xB,GAAU,EAEH,YAAPpgB,IAEAogB,GAAU,GAGd9yB,EAAOgwB,MAAM4C,eAAep0B,KAAMwB,EAAOqpE,UAAU32D,GAAI5R,UAAWgyB,GAElEt0B,KAAKgsE,WAAW93D,IAAM,IAY9B1S,EAAOqpE,UAAUiB,KAAKp6D,KAAO,SAAU3O,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEpDrN,KAAK+C,KAAOA,EACZ/C,KAAKgT,IAAMA,EACXhT,KAAKoU,QAELpU,KAAKY,SAASuG,IAAIpD,EAAGC,GACrBhE,KAAKiD,MAAQ,IAAIzB,EAAOX,MAAMkD,EAAGC,GACjChE,KAAKisE,iBAAmB,IAAIzqE,EAAOX,MAAMkD,EAAGC,GAE5ChE,KAAKm0C,OAAS,IAAI3yC,EAAO0qE,OAAOlsE,MAEhCA,KAAKgC,QAAU,IAAIR,EAAOS,UAEtBjC,KAAKgsE,WAAWG,cAGhBnsE,KAAK8xC,KAAO9xC,KAAK8xC,MAGjB9xC,KAAKgsE,WAAWhB,YAEhBhrE,KAAKqrE,WAAa,IAAI7pE,EAAO4qE,iBAAiBpsE,OAG9CA,KAAKgsE,WAAWK,aAAuB,OAARr5D,GAE/BhT,KAAKg5C,YAAYhmC,EAAK3F,GAGtBrN,KAAKgsE,WAAWM,gBAEhBtsE,KAAKwzC,aAAe,IAAIhyC,EAAOX,MAAMkD,EAAGC,KAIhDxC,EAAOqpE,UAAUiB,KAAKpnE,UAAY,WAE9B,OAAI1E,KAAK0yC,gBAEL1yC,KAAKwC,WACE,IAGXxC,KAAKisE,iBAAiB9kE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAKusE,iBAAmBvsE,KAAKgB,SAExBhB,KAAKkN,QAAWlN,KAAKqB,OAAO6L,QAMjClN,KAAKiD,MAAMmyB,MAAMp1B,KAAK+C,KAAK+X,OAAO/W,EAAI/D,KAAKuB,eAAe+B,GAAItD,KAAK+C,KAAK+X,OAAO9W,EAAIhE,KAAKuB,eAAegC,IAEnGvD,KAAKkB,UAELlB,KAAK83C,cAAgB93C,KAAK+C,KAAKuX,MAAM+0B,wBAGrCrvC,KAAKqrE,YAELrrE,KAAKqrE,WAAWvmC,SAGhB9kC,KAAK8xC,MAEL9xC,KAAK8xC,KAAKptC,YAGd1E,KAAKwsE,qBAEE,IAvBHxsE,KAAK83C,eAAiB,GACf,KAyBft2C,EAAOqpE,UAAUiB,KAAKxpE,WAMlBS,KAAM,KAQNivB,KAAM,GAUN5d,QAOA43D,cAUA52D,EAAG,EAQH++B,YAAQ5tC,EAQR8kE,gBAAY9kE,EAUZyM,IAAK,GAQL/P,MAAO,KAOP6mC,OAAO,EAOPmiC,iBAAkB,KAOlBM,iBAAkB,EAQlBz0B,cAAe,EAQf20B,OAAO,EAWP/5B,gBAAgB,EAMhB1wC,QAAS,KAMT0qE,SAAS,EAaTx/D,QAEIhG,IAAK,WAED,OAAOlH,KAAK0sE,SAGhBvlE,IAAK,SAAUC,GAEPA,GAEApH,KAAK0sE,SAAU,EAEX1sE,KAAK8xC,MAAQ9xC,KAAK8xC,KAAKt+B,OAAShS,EAAO6wC,QAAQs6B,MAE/C3sE,KAAK8xC,KAAK3D,aAGdnuC,KAAKkB,SAAU,IAIflB,KAAK0sE,SAAU,EAEX1sE,KAAK8xC,MAAQ9xC,KAAK8xC,KAAKt+B,OAAShS,EAAO6wC,QAAQs6B,MAE/C3sE,KAAK8xC,KAAK86B,kBAGd5sE,KAAKkB,SAAU,KAY3BsrE,kBAAmB,WAKf,IAFA,IAAI9pE,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,MAYZoiC,OAAQ,aAWR+B,WAAY,WAEJ7mC,KAAK6sE,cAEL7sE,KAAKgT,IAAI7N,SAGTnF,KAAKgsE,WAAWG,aAEhB3qE,EAAOqpE,UAAUsB,YAAYtlC,WAAWriC,KAAKxE,MAG7CA,KAAKgsE,WAAWM,eAEhB9qE,EAAOqpE,UAAUyB,cAAczlC,WAAWriC,KAAKxE,MAGnD,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGmkC,eAkB7BrlC,EAAOqpE,UAAUiC,KAAO,aAExBtrE,EAAOqpE,UAAUiC,KAAKxqE,WASlByqE,SAAU,KAMVC,MAAO,KAmBPp/D,KAAM,SAAUgtB,EAAM5G,QAELztB,IAATytB,IAAsBA,GAAO,GAE7B4G,GAEI5G,GAA0B,OAAlBh0B,KAAK+sE,SAEb/sE,KAAK+sE,SAAS33C,MAAMwF,EAAK72B,EAAG62B,EAAK52B,EAAG42B,EAAKh9B,MAAOg9B,EAAK/8B,QAEhDm2B,GAA0B,OAAlBh0B,KAAK+sE,SAElB/sE,KAAK+sE,SAAW,IAAIvrE,EAAOS,UAAU24B,EAAK72B,EAAG62B,EAAK52B,EAAG42B,EAAKh9B,MAAOg9B,EAAK/8B,QAItEmC,KAAK+sE,SAAWnyC,EAGpB56B,KAAKitE,eAILjtE,KAAKgtE,MAAQ,KACbhtE,KAAK+sE,SAAW,KAEhB/sE,KAAKktE,eAUbD,WAAY,WAER,GAAKjtE,KAAK+sE,SAAV,CAKA,IAAII,EAAOntE,KAAKjC,QAAQ6P,KAAK7J,EACzBqpE,EAAOptE,KAAKjC,QAAQ6P,KAAK5J,EACzBqpE,EAAOrtE,KAAKjC,QAAQ6P,KAAKhQ,MACzB0vE,EAAOttE,KAAKjC,QAAQ6P,KAAK/P,OAE7BmC,KAAKgtE,MAAQxrE,EAAOS,UAAUiyB,MAAMl0B,KAAK+sE,SAAU/sE,KAAKgtE,OACxDhtE,KAAKgtE,MAAMjpE,GAAK/D,KAAKutE,OAAOxpE,EAC5B/D,KAAKgtE,MAAMhpE,GAAKhE,KAAKutE,OAAOvpE,EAE5B,IAAIkL,EAAKxL,KAAKuC,IAAIjG,KAAKutE,OAAOxpE,EAAG/D,KAAKgtE,MAAMjpE,GACxCoL,EAAKzL,KAAKuC,IAAIjG,KAAKutE,OAAOvpE,EAAGhE,KAAKgtE,MAAMhpE,GACxCwK,EAAK9K,KAAK41B,IAAIt5B,KAAKutE,OAAO75C,MAAO1zB,KAAKgtE,MAAMt5C,OAASxkB,EACrDT,EAAK/K,KAAK41B,IAAIt5B,KAAKutE,OAAOj3C,OAAQt2B,KAAKgtE,MAAM12C,QAAUnnB,EAE3DnP,KAAKjC,QAAQ6P,KAAK7J,EAAImL,EACtBlP,KAAKjC,QAAQ6P,KAAK5J,EAAImL,EACtBnP,KAAKjC,QAAQ6P,KAAKhQ,MAAQ4Q,EAC1BxO,KAAKjC,QAAQ6P,KAAK/P,OAAS4Q,EAE3BzO,KAAKjC,QAAQsP,MAAMzP,MAAQ8F,KAAK41B,IAAI9qB,EAAIxO,KAAK+sE,SAASnvE,OACtDoC,KAAKjC,QAAQsP,MAAMxP,OAAS6F,KAAK41B,IAAI7qB,EAAIzO,KAAK+sE,SAASlvE,QAEvDmC,KAAKjC,QAAQH,MAAQoC,KAAKjC,QAAQsP,MAAMzP,MACxCoC,KAAKjC,QAAQF,OAASmC,KAAKjC,QAAQsP,MAAMxP,OAEzCmC,KAAKjC,QAAQktB,aAEK,WAAdjrB,KAAK+M,MAAsBogE,IAASj+D,GAAMk+D,IAASj+D,GAAMk+D,IAAS7+D,GAAM8+D,IAAS7+D,IAEjFzO,KAAKjC,QAAQ+Q,gBAAiB,MAiB1CtN,EAAOqpE,UAAU2C,MAAQ,aAEzBhsE,EAAOqpE,UAAU2C,MAAMlrE,WAUnBmrE,QAEIvmE,IAAK,WAED,OAAOlH,KAAKiD,MAAMc,EAAI/D,KAAKisE,iBAAiBloE,IAapDulD,QAEIpiD,IAAK,WAED,OAAOlH,KAAKiD,MAAMe,EAAIhE,KAAKisE,iBAAiBjoE,IAWpD0pE,QAEIxmE,IAAK,WAED,OAAOlH,KAAKgB,SAAWhB,KAAKusE,oBAkBxC/qE,EAAOqpE,UAAU8C,QAAU,aAE3BnsE,EAAOqpE,UAAU8C,QAAQrrE,WAQrB03C,cAAc,EAedx3C,QAAS,SAAU+3C,EAAiBJ,GAEhC,GAAkB,OAAdn6C,KAAK+C,OAAiB/C,KAAKg6C,aAA/B,MAEwBzzC,IAApBg0C,IAAiCA,GAAkB,QAChCh0C,IAAnB4zC,IAAgCA,GAAiB,GAErDn6C,KAAKg6C,cAAe,EAEhBh6C,KAAKm0C,QAELn0C,KAAKm0C,OAAOy5B,mBAAmB5tE,MAG/BA,KAAKqB,SAEDrB,KAAKqB,kBAAkBG,EAAOywC,MAE9BjyC,KAAKqB,OAAO8a,OAAOnc,MAInBA,KAAKqB,OAAOwH,YAAY7I,OAI5BA,KAAKmmC,OAELnmC,KAAKmmC,MAAM3jC,UAGXxC,KAAKqrE,YAELrrE,KAAKqrE,WAAW7oE,UAGhBxC,KAAK8xC,MAEL9xC,KAAK8xC,KAAKtvC,UAGVxC,KAAKm0C,QAELn0C,KAAKm0C,OAAO3xC,UAGhBxC,KAAK+C,KAAKwjC,OAAOsnC,WAAW7tE,MAE5B,IAAI0C,EAAI1C,KAAKyC,SAASE,OAEtB,GAAI43C,EAEA,KAAO73C,KAEH1C,KAAKyC,SAASC,GAAGF,QAAQ+3C,QAK7B,KAAO73C,KAEH1C,KAAK6I,YAAY7I,KAAKyC,SAASC,IAInC1C,KAAKgtE,QAELhtE,KAAKgtE,MAAQ,KACbhtE,KAAK+sE,SAAW,MAGhB/sE,KAAKutE,SAELvtE,KAAKutE,OAAS,MAGd/rE,EAAOssE,OAAS9tE,KAAKgT,eAAexR,EAAOssE,OAE3C9tE,KAAKgT,IAAI+6D,eAAe5xD,OAAOnc,KAAKguE,YAAahuE,MAGjDwB,EAAOysE,YAAcjuE,KAAKkuE,UAE1BluE,KAAKkuE,YAGTluE,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEflB,KAAK0G,QAAU,KACf1G,KAAKuH,KAAO,KACZvH,KAAK+C,KAAO,KAEZ/C,KAAKoU,QAGLpU,KAAKoB,YAAa,EAEdpB,KAAKuE,oBAELvE,KAAKuE,kBAAoB,KACzBvE,KAAKyE,yBAA2B,MAIpCzE,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKsa,MAAQ,KACbta,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,uBACL5C,KAAK6C,wBAGDs3C,GAEAn6C,KAAKjC,QAAQyE,SAAQ,GAGzBxC,KAAKg6C,cAAe,EACpBh6C,KAAK0yC,gBAAiB,KAkC9BlxC,EAAO0qE,OAAS,SAAU5oD,GAKtBtjB,KAAKqB,OAASiiB,GAKlB9hB,EAAO0qE,OAAO5pE,WAOVE,QAAS,WAELxC,KAAKmuE,QAAU,KAEXnuE,KAAKouE,YAAcpuE,KAAKouE,WAAWhiC,UACnCpsC,KAAKquE,iBAAmBruE,KAAKquE,gBAAgBjiC,UAC7CpsC,KAAKsuE,qBAAuBtuE,KAAKsuE,oBAAoBliC,UACrDpsC,KAAKuuE,WAAavuE,KAAKuuE,UAAUniC,UACjCpsC,KAAKwuE,YAAcxuE,KAAKwuE,WAAWpiC,UACnCpsC,KAAKyuE,gBAAkBzuE,KAAKyuE,eAAeriC,UAC3CpsC,KAAK0uE,gBAAkB1uE,KAAK0uE,eAAetiC,UAE3CpsC,KAAK2uE,cAAgB3uE,KAAK2uE,aAAaviC,UACvCpsC,KAAK4uE,aAAe5uE,KAAK4uE,YAAYxiC,UACrCpsC,KAAK6uE,cAAgB7uE,KAAK6uE,aAAaziC,UACvCpsC,KAAK8uE,YAAc9uE,KAAK8uE,WAAW1iC,UACnCpsC,KAAK+uE,cAAgB/uE,KAAK+uE,aAAa3iC,UACvCpsC,KAAKgvE,eAAiBhvE,KAAKgvE,cAAc5iC,UACzCpsC,KAAKivE,aAAejvE,KAAKivE,YAAY7iC,UAErCpsC,KAAKkvE,mBAAqBlvE,KAAKkvE,kBAAkB9iC,UACjDpsC,KAAKmvE,sBAAwBnvE,KAAKmvE,qBAAqB/iC,UACvDpsC,KAAKovE,kBAAoBpvE,KAAKovE,iBAAiBhjC,WAcvDqoB,eAAgB,KAWhBE,mBAAoB,KAWpBthB,UAAW,KAYXg8B,SAAU,KAWVC,UAAW,KAWXC,cAAe,KAWfC,cAAe,KAYfC,YAAa,KAYbC,WAAY,KAaZC,YAAa,KAcbC,UAAW,KAeXC,YAAa,KAiBbzY,aAAc,KAYd0Y,WAAY,KAaZC,iBAAkB,KAalBC,oBAAqB,KAarBC,gBAAiB,MAIrBzuE,EAAO0qE,OAAO5pE,UAAUC,YAAcf,EAAO0qE,OAO7C,IAAK,IAAIgE,KAAQ1uE,EAAO0qE,OAAO5pE,UAEtBd,EAAO0qE,OAAO5pE,UAAU+uB,eAAe6+C,IACjB,IAAvBA,EAAK7mE,QAAQ,OACqB,OAAlC7H,EAAO0qE,OAAO5pE,UAAU4tE,IAK5B,SAAWA,EAAMC,GAEb,aAGAnpE,OAAOyF,eAAejL,EAAO0qE,OAAO5pE,UAAW4tE,GAC3ChpE,IAAK,WAED,OAAOlH,KAAKmwE,KAAanwE,KAAKmwE,GAAW,IAAI3uE,EAAO6gC,WAK5D7gC,EAAO0qE,OAAO5pE,UAAU4tE,EAAO,aAAe,WAE1C,OAAOlwE,KAAKmwE,GAAWnwE,KAAKmwE,GAAS/qC,SAAS7/B,MAAMvF,KAAKmwE,GAAU7/C,WAAa,MAfxF,CAiBG4/C,EAAM,IAAMA,GAenB1uE,EAAOqpE,UAAUyB,cAAgB,aAQjC9qE,EAAOqpE,UAAUyB,cAAczlC,WAAa,WAEpC7mC,KAAKuzC,gBAELvzC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwzC,aAAazvC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwzC,aAAaxvC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,IAInGxC,EAAOqpE,UAAUyB,cAAchqE,WAM3B8tE,gBAAgB,EAkBhB78B,eAEIrsC,IAAK,WAED,OAAOlH,KAAKowE,gBAGhBjpE,IAAK,SAAUC,GAEPA,GAEApH,KAAKowE,gBAAiB,EACtBpwE,KAAKwzC,aAAarsC,IAAInH,KAAK+D,EAAG/D,KAAKgE,IAInChE,KAAKowE,gBAAiB,IAYlC58B,aAAc,IAAIhyC,EAAOX,OAiB7BW,EAAOqpE,UAAUwF,OAAS,aAE1B7uE,EAAOqpE,UAAUwF,OAAO/tE,WAUpBguE,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAAU55B,GAYd,OAVI52C,KAAKwyC,QAELxyC,KAAKswE,QAAU15B,EAEX52C,KAAKswE,QAAU,GAEftwE,KAAKg3C,QAINh3C,MAWXywE,UAAW,SAAU75B,GASjB,OAPA52C,KAAKswE,OAAS15B,EAEV52C,KAAKswE,OAAStwE,KAAKuwE,YAEnBvwE,KAAKswE,OAAStwE,KAAKuwE,WAGhBvwE,MAUX0wE,KAAM,SAAU95B,GAYZ,OAVI52C,KAAKwyC,QAELxyC,KAAKswE,QAAU15B,EAEX52C,KAAKswE,OAAStwE,KAAKuwE,YAEnBvwE,KAAKswE,OAAStwE,KAAKuwE,YAIpBvwE,OAgBfwB,EAAOqpE,UAAU8F,SAAW,aAE5BnvE,EAAOqpE,UAAU8F,SAASruE,WAYtBkpE,UAEItkE,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKuf,WAAWx2B,KAAKgC,YAkB/DR,EAAOqpE,UAAU+F,aAAe,aAEhCpvE,EAAOqpE,UAAU+F,aAAatuE,WAU1B6jC,MAAO,KAkBP+N,cAEIhtC,IAAK,WAED,OAAQlH,KAAKmmC,OAASnmC,KAAKmmC,MAAM6a,SAGrC75C,IAAK,SAAUC,GAEPA,EAEmB,OAAfpH,KAAKmmC,OAELnmC,KAAKmmC,MAAQ,IAAI3kC,EAAOuwD,aAAa/xD,MACrCA,KAAKmmC,MAAM75B,SAENtM,KAAKmmC,QAAUnmC,KAAKmmC,MAAM6a,SAE/BhhD,KAAKmmC,MAAM75B,QAIftM,KAAKmmC,OAASnmC,KAAKmmC,MAAM6a,SAEzBhhD,KAAKmmC,MAAMh6B,UAqB3B3K,EAAOqpE,UAAUgG,QAAU,aAQ3BrvE,EAAOqpE,UAAUgG,QAAQnsE,UAAY,WAEjC,GAAI1E,KAAK0yC,eAGL,OADA1yC,KAAKwC,WACE,EAIX,GAAIxC,KAAKurE,UAAYvrE,KAAKyrE,iBAC1B,CAMI,GALAzrE,KAAKgC,QAAQqzB,SAASr1B,KAAKkK,aAE3BlK,KAAKgC,QAAQ+B,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EACxC/D,KAAKgC,QAAQgC,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAEpChE,KAAKurE,SAGL,GAAIvrE,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKuf,WAAWx2B,KAAKgC,SAE5ChC,KAAKoB,YAAa,EAClBpB,KAAK+C,KAAKE,MAAM6X,OAAOonB,mBAMvB,GAFAliC,KAAKoB,YAAa,EAEdpB,KAAK8wE,sBAGL,OADA9wE,KAAKg3C,QACE,EAKnB,GAAIh3C,KAAKyrE,iBAGL,GAAIzrE,KAAK+wE,mBAAqB/wE,KAAK+C,KAAKE,MAAM6B,OAAO0xB,WAAWx2B,KAAKgC,SAEjEhC,KAAK+wE,mBAAoB,EACzB/wE,KAAKm0C,OAAO68B,uBAAuBhxE,WAElC,IAAKA,KAAK+wE,oBAAsB/wE,KAAK+C,KAAKE,MAAM6B,OAAO0xB,WAAWx2B,KAAKgC,WAGxEhC,KAAK+wE,mBAAoB,EACzB/wE,KAAKm0C,OAAO88B,uBAAuBjxE,MAE/BA,KAAKkxE,iBAGL,OADAlxE,KAAKg3C,QACE,EAMvB,OAAO,GAGXx1C,EAAOqpE,UAAUgG,QAAQvuE,WAmBrBmpE,kBAAkB,EAQlByF,iBAAiB,EASjBJ,uBAAuB,EAMvBC,mBAAmB,EAQnBI,SAEIjqE,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6B,OAAO0xB,WAAWx2B,KAAKkK,gBAkB1D1I,EAAOqpE,UAAUuG,SAAW,aAQ5B5vE,EAAOqpE,UAAUuG,SAAS1sE,UAAY,WAElC,OAAI1E,KAAK0yC,gBAEL1yC,KAAKwC,WACE,KAGPxC,KAAKqxE,SAAW,IAEhBrxE,KAAKqxE,UAAYrxE,KAAK+C,KAAKmiC,KAAKosC,iBAE5BtxE,KAAKqxE,UAAY,MAEjBrxE,KAAKg3C,QACE,IAOnBx1C,EAAOqpE,UAAUuG,SAAS9uE,WAatBkwC,OAAO,EAeP6+B,SAAU,EAaVl6B,OAAQ,SAAUm5B,GAkBd,YAhBe/pE,IAAX+pE,IAAwBA,EAAS,KAErCtwE,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEe,mBAAnBlB,KAAKywE,WAEZzwE,KAAKywE,UAAUH,GAGftwE,KAAKm0C,QAELn0C,KAAKm0C,OAAOo9B,mBAAmBvxE,MAG5BA,MAgBXg3C,KAAM,WAWF,OATAh3C,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEXlB,KAAKm0C,QAELn0C,KAAKm0C,OAAOq9B,kBAAkBxxE,MAG3BA,OAgBfwB,EAAOqpE,UAAUwB,YAAc,aAE/B7qE,EAAOqpE,UAAUwB,YAAY/pE,WAMzBuqE,cAAc,EAMdU,OAAQ,KAyBRv0B,YAAa,SAAUhmC,EAAK3F,EAAOokE,GAE3Bz+D,IAAQxR,EAAOusB,eAEf/a,EAAM3F,EACNA,EAAQ,GAIRA,EAAQA,GAAS,GAGhBokE,QAAmClrE,IAAlBkrE,IAAgCzxE,KAAKqrE,YAEvDrrE,KAAKqrE,WAAWl/D,OAGpBnM,KAAKgT,IAAMA,EACXhT,KAAK6sE,cAAe,EACpB,IAAI7yD,EAAQha,KAAK+C,KAAKiX,MAElB+Q,GAAW,EACXo0B,EAAWn/C,KAAKjC,QAAQqI,YAAYtI,YAAcU,KAAKC,WAAWC,OAEtE,GAAI8C,EAAOyD,eAAiB+N,aAAexR,EAAOyD,cAE9CjF,KAAKgT,IAAMA,EAAIA,IACfhT,KAAKsN,WAAW0F,QAEf,GAAIxR,EAAOkwE,YAAc1+D,aAAexR,EAAOkwE,WAEhD1xE,KAAK6sE,cAAe,EAEpB7sE,KAAKsN,WAAW0F,EAAIjV,SAIhBgtB,EAFA/Q,EAAM23D,aAAa3+D,EAAIA,IAAKxR,EAAO8sC,MAAMvhB,aAE7B/sB,KAAKqrE,WAAWuG,cAAc53D,EAAM63D,aAAa7+D,EAAIA,IAAKxR,EAAO8sC,MAAMvhB,YAAa1f,IAIpFrN,KAAKqrE,WAAWuG,cAAc5+D,EAAI8+D,UAAW,QAG5D,GAAItwE,EAAOssE,OAAS96D,aAAexR,EAAOssE,MAC/C,CACI9tE,KAAK6sE,cAAe,EAGpB,IAAIp/D,EAAQuF,EAAIjV,QAAQ0P,MACxBzN,KAAKsN,WAAW0F,EAAIjV,SACpBiC,KAAK+qB,SAAS/X,EAAIjV,QAAQsP,MAAM6mB,SAChClhB,EAAI+6D,eAAe90C,IAAIj5B,KAAKguE,YAAahuE,MACzCA,KAAKjC,QAAQ0P,MAAQA,OAEpB,GAAIjM,EAAOuwE,SAAW/+D,aAAexR,EAAOwwE,aAI7ChyE,KAAKsN,WAAW9O,KAAKqO,QAAQ6d,WAAW1X,EAAIkE,cAE3C,GAAIlE,aAAexU,KAAKqO,QAEzBsyC,EAAWnsC,EAAI5M,YAAYtI,YAAcU,KAAKC,WAAWC,OAEzDsB,KAAKsN,WAAW0F,OAGpB,CACI,IAAIi/D,EAAMj4D,EAAMk4D,SAASl/D,GAAK,GAE9BhT,KAAKgT,IAAMi/D,EAAIj/D,IACfhT,KAAKsN,WAAW,IAAI9O,KAAKqO,QAAQolE,EAAI73D,OAIjCpa,KAAKjC,QAAQqI,YAAYoH,WAFjB,cAARwF,EASJ+X,GAAY/qB,KAAKqrE,WAAWuG,cAAcK,EAAIH,UAAWzkE,GAGzD0d,IAEA/qB,KAAKutE,OAAS/rE,EAAOS,UAAUiyB,MAAMl0B,KAAKjC,QAAQsP,QAGjD8xC,IAEDn/C,KAAKjC,QAAQqI,YAAYtI,UAAY,IAY7CitB,SAAU,SAAU1d,GAEhBrN,KAAKutE,OAASlgE,EAEdrN,KAAKjC,QAAQsP,MAAMtJ,EAAIsJ,EAAMtJ,EAC7B/D,KAAKjC,QAAQsP,MAAMrJ,EAAIqJ,EAAMrJ,EAC7BhE,KAAKjC,QAAQsP,MAAMzP,MAAQyP,EAAMzP,MACjCoC,KAAKjC,QAAQsP,MAAMxP,OAASwP,EAAMxP,OAElCmC,KAAKjC,QAAQ6P,KAAK7J,EAAIsJ,EAAMtJ,EAC5B/D,KAAKjC,QAAQ6P,KAAK5J,EAAIqJ,EAAMrJ,EAC5BhE,KAAKjC,QAAQ6P,KAAKhQ,MAAQyP,EAAMzP,MAChCoC,KAAKjC,QAAQ6P,KAAK/P,OAASwP,EAAMxP,OAE7BwP,EAAM8kE,SAEFnyE,KAAKjC,QAAQqQ,MAEbpO,KAAKjC,QAAQqQ,KAAKrK,EAAIsJ,EAAM+kE,kBAC5BpyE,KAAKjC,QAAQqQ,KAAKpK,EAAIqJ,EAAMglE,kBAC5BryE,KAAKjC,QAAQqQ,KAAKxQ,MAAQyP,EAAMilE,YAChCtyE,KAAKjC,QAAQqQ,KAAKvQ,OAASwP,EAAMklE,aAIjCvyE,KAAKjC,QAAQqQ,MAASrK,EAAGsJ,EAAM+kE,kBAAmBpuE,EAAGqJ,EAAMglE,kBAAmBz0E,MAAOyP,EAAMilE,YAAaz0E,OAAQwP,EAAMklE,aAG1HvyE,KAAKjC,QAAQH,MAAQyP,EAAMilE,YAC3BtyE,KAAKjC,QAAQF,OAASwP,EAAMklE,YAC5BvyE,KAAKjC,QAAQsP,MAAMzP,MAAQyP,EAAMilE,YACjCtyE,KAAKjC,QAAQsP,MAAMxP,OAASwP,EAAMklE,cAE5BllE,EAAM8kE,SAAWnyE,KAAKjC,QAAQqQ,OAEpCpO,KAAKjC,QAAQqQ,KAAO,MAGpBf,EAAMqB,UAEN1O,KAAKjC,QAAQ2Q,SAAU,GAGvB1O,KAAK+sE,UAEL/sE,KAAKitE,aAGTjtE,KAAKjC,QAAQ+Q,gBAAiB,EAE9B9O,KAAKjC,QAAQktB,aAETjrB,KAAKqkB,gBAELrkB,KAAKwyE,gBAAiB,IAe9BxE,YAAa,SAAU3sE,EAAQzD,EAAOC,GAElCmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GACjCmC,KAAKjC,QAAQgtB,SAAS/qB,KAAKjC,QAAQsP,QAQvC6/D,WAAY,WAEJltE,KAAKutE,QAELvtE,KAAK+qB,SAAS/qB,KAAKutE,SAiB3BlgE,OAEInG,IAAK,WAED,OAAOlH,KAAKqrE,WAAWh+D,OAG3BlG,IAAK,SAAUC,GAEXpH,KAAKqrE,WAAWh+D,MAAQjG,IAkBhCqrE,WAEIvrE,IAAK,WAED,OAAOlH,KAAKqrE,WAAWoH,WAG3BtrE,IAAK,SAAUC,GAEXpH,KAAKqrE,WAAWoH,UAAYrrE,KAkBxC5F,EAAOqpE,UAAU6H,QAAU,aAE3BlxE,EAAOqpE,UAAU6H,QAAQpwE,WAerBqwE,QAAS,SAAU13D,GAEf,OAAOzZ,EAAOS,UAAUu0B,WAAWx2B,KAAKkK,YAAa+Q,EAAc/Q,eAiB3E1I,EAAOqpE,UAAUsB,YAAc,aAQ/B3qE,EAAOqpE,UAAUsB,YAAYznE,UAAY,WAErC,OAAI1E,KAAK0yC,gBAEL1yC,KAAKwC,WACE,GAGPxC,KAAKysE,OAASzsE,KAAKkN,QAEnBlN,KAAKiD,MAAMmyB,MAAMp1B,KAAKqB,OAAOT,SAASmD,EAAI/D,KAAKY,SAASmD,EAAG/D,KAAKqB,OAAOT,SAASoD,EAAIhE,KAAKY,SAASoD,GAClGhE,KAAKuB,eAAe+B,GAAKtD,KAAKiD,MAAMc,EACpC/D,KAAKuB,eAAegC,GAAKvD,KAAKiD,MAAMe,EAEpChE,KAAKisE,iBAAiB9kE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAKusE,iBAAmBvsE,KAAKgB,SAEzBhB,KAAK8xC,MAEL9xC,KAAK8xC,KAAKptC,YAGd1E,KAAKysE,OAAQ,EAEbzsE,KAAKwsE,qBAEE,IAGXxsE,KAAKisE,iBAAiB9kE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAKusE,iBAAmBvsE,KAAKgB,YAExBhB,KAAK0sE,UAAY1sE,KAAKqB,OAAO6L,UAE9BlN,KAAK83C,eAAiB,GACf,KAYft2C,EAAOqpE,UAAUsB,YAAYtlC,WAAa,WAElC7mC,KAAKkN,QAAUlN,KAAK8xC,MAEpB9xC,KAAK8xC,KAAKjL,cAIlBrlC,EAAOqpE,UAAUsB,YAAY7pE,WAqBzBwvC,KAAM,KAON/tC,GAEImD,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,EAEdpH,KAAK8xC,OAAS9xC,KAAK8xC,KAAKtgC,QAExBxR,KAAK8xC,KAAK8gC,QAAS,KAW/B5uE,GAEIkD,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,EAEdpH,KAAK8xC,OAAS9xC,KAAK8xC,KAAKtgC,QAExBxR,KAAK8xC,KAAK8gC,QAAS,MAmBnCpxE,EAAOqpE,UAAUgI,MAAQ,aAkBzBrxE,EAAOqpE,UAAUgI,MAAMvwE,UAAUyjC,MAAQ,SAAUhiC,EAAGC,EAAGssE,GA+BrD,YA7Be/pE,IAAX+pE,IAAwBA,EAAS,GAErCtwE,KAAKiD,MAAMkE,IAAIpD,EAAGC,GAClBhE,KAAKY,SAASuG,IAAIpD,EAAGC,GAErBhE,KAAKysE,OAAQ,EACbzsE,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EACflB,KAAKoB,YAAa,EAEdpB,KAAKgsE,WAAW6E,UAEhB7wE,KAAK+wE,mBAAoB,GAGzB/wE,KAAKgsE,WAAWoF,WAEhBpxE,KAAKwyC,OAAQ,EACbxyC,KAAKswE,OAASA,GAGdtwE,KAAKgsE,WAAWG,aAEZnsE,KAAK8xC,MAEL9xC,KAAK8xC,KAAK/L,MAAMhiC,EAAGC,GAAG,GAAO,GAI9BhE,MAcXwB,EAAOqpE,UAAUiI,YAAc,aAE/BtxE,EAAOqpE,UAAUiI,YAAYxwE,WAMzBiC,kBAAmB,KAMnBE,yBAA0BzE,KAU1B+yE,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAUxvE,GAElBzD,KAAK+yE,WAEDtvE,EAAGP,EAAIlD,KAAK+yE,SAAShvE,IAErBN,EAAGP,EAAIlD,KAAK+yE,SAAShvE,GAGrBN,EAAGJ,EAAIrD,KAAK+yE,SAAS/uE,IAErBP,EAAGJ,EAAIrD,KAAK+yE,SAAS/uE,IAIzBhE,KAAKgzE,WAEDvvE,EAAGP,EAAIlD,KAAKgzE,SAASjvE,IAErBN,EAAGP,EAAIlD,KAAKgzE,SAASjvE,GAGrBN,EAAGJ,EAAIrD,KAAKgzE,SAAShvE,IAErBP,EAAGJ,EAAIrD,KAAKgzE,SAAShvE,KA8BjCkvE,eAAgB,SAAUtoE,EAAME,EAAMC,EAAMC,QAE3BzE,IAATuE,EAGAA,EAAOC,EAAOC,EAAOJ,OAEPrE,IAATwE,IAGLA,EAAOC,EAAOF,EACdA,EAAOF,GAGE,OAATA,EAEA5K,KAAK+yE,SAAW,KAGhB/yE,KAAK+yE,SAEL/yE,KAAK+yE,SAAS5rE,IAAIyD,EAAME,GAIxB9K,KAAK+yE,SAAW,IAAIvxE,EAAOX,MAAM+J,EAAME,GAG9B,OAATC,EAEA/K,KAAKgzE,SAAW,KAGhBhzE,KAAKgzE,SAELhzE,KAAKgzE,SAAS7rE,IAAI4D,EAAMC,GAIxBhL,KAAKgzE,SAAW,IAAIxxE,EAAOX,MAAMkK,EAAMC,GAGrB,OAAlBhL,KAAK+yE,SAEL/yE,KAAKuE,kBAAoB,MAIzBvE,KAAKuE,kBAAoBvE,KAAKizE,eAC9BjzE,KAAKyE,yBAA2BzE,QAiB5CwB,EAAOqpE,UAAUsI,SAAW,aAE5B3xE,EAAOqpE,UAAUsI,SAAS7wE,WAWtB68C,UAEIj4C,IAAK,WAED,OAAQlH,KAAKjC,QAAQqI,YAAYtI,WAGrCqJ,IAAK,SAAUC,GAEPA,EAEIpH,KAAKjC,SAEsC,IAAvCiC,KAAKjC,QAAQqI,YAAYtI,YAEzBkC,KAAKjC,QAAQqI,YAAYtI,UAAY,EACrCkC,KAAKjC,QAAQqI,YAAYoL,SAI5BxR,KAAKjC,SAEiC,IAAvCiC,KAAKjC,QAAQqI,YAAYtI,YAEzBkC,KAAKjC,QAAQqI,YAAYtI,UAAY,EACrCkC,KAAKjC,QAAQqI,YAAYoL,YAyB7ChQ,EAAO07C,kBAAoB,SAAUn6C,GAMjC/C,KAAK+C,KAAOA,EAMZ/C,KAAKiD,MAAQjD,KAAK+C,KAAKE,OAG3BzB,EAAO07C,kBAAkB56C,WASrB8wE,SAAU,SAAUh6B,GAEhB,OAAOp5C,KAAKiD,MAAMg2B,IAAImgB,IAwB1Bi6B,OAAQ,SAAU3+B,EAAU1hC,EAAK3F,EAAO6sC,EAAOo5B,GAE3C,IAAID,EAASrzE,KAAK+C,KAAKgsC,QAAQ9V,IAAIz3B,EAAO+xE,QAS1C,OAPID,IAEAD,EAAOC,YAAcA,GAGzBD,EAAOG,cAAc9+B,EAAU1hC,EAAK3F,EAAO6sC,GAEpCm5B,GAmBXn5D,MAAO,SAAUnW,EAAGC,EAAGgP,EAAK3F,EAAO6sC,GAI/B,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOiyE,MAAMzzE,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,KAkB5DiW,OAAQ,SAAUvf,EAAGC,EAAGgP,EAAK3F,EAAO6sC,GAIhC,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOsE,OAAO9F,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,KA2B7DqmE,SAAU,SAAU3vE,EAAGC,EAAGgP,EAAK2gE,EAAMz5B,EAAO05B,EAAWC,QAErCttE,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAExC,IAAI8uB,EAAM,IAAIvwB,EAAO+kD,SAASvmD,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK2gE,EAAMC,EAAWC,GAIrE,OAFA35B,EAAMjhB,IAAIlH,GAEHA,GAYX+hD,MAAO,SAAU16B,GAEb,OAAOp5C,KAAK+C,KAAKwjC,OAAO/9B,OAAO4wC,IAcnCc,MAAO,SAAU74C,EAAQ2wB,EAAMkgB,EAAYC,EAAYC,GAEnD,OAAO,IAAI5wC,EAAOywC,MAAMjyC,KAAK+C,KAAM1B,EAAQ2wB,EAAMkgB,EAAYC,EAAYC,IAgB7E2hC,aAAc,SAAU3hC,EAAiB/wC,EAAQ2wB,EAAMkgB,GAEnD,OAAO,IAAI1wC,EAAOywC,MAAMjyC,KAAK+C,KAAM1B,EAAQ2wB,EAAMkgB,GAAY,EAAME,IAcvErmC,YAAa,SAAU1K,EAAQ2wB,EAAMkgB,GAMjC,YAJe3rC,IAAXlF,IAAwBA,EAAS,WACxBkF,IAATyrB,IAAsBA,EAAO,cACdzrB,IAAf2rC,IAA4BA,GAAa,GAEtC,IAAI1wC,EAAOwyE,YAAYh0E,KAAK+C,KAAM1B,EAAQ2wB,EAAMkgB,IAa3D+hC,MAAO,SAAUjhE,EAAKuuB,EAAQ4pC,EAAMtP,GAEhC,OAAO77D,KAAK+C,KAAKsjC,MAAMpN,IAAIjmB,EAAKuuB,EAAQ4pC,EAAMtP,IAalDx1B,MAAO,SAAUrzB,EAAKuuB,EAAQ4pC,EAAMtP,GAEhC,OAAO77D,KAAK+C,KAAKsjC,MAAMpN,IAAIjmB,EAAKuuB,EAAQ4pC,EAAMtP,IAUlDqY,YAAa,SAAUlhE,GAEnB,OAAOhT,KAAK+C,KAAKsjC,MAAM8tC,UAAUnhE,IAgBrCohE,WAAY,SAAUrwE,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,EAAO6sC,GAInD,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOglD,WAAWxmD,KAAK+C,KAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,KAiBhFgnE,KAAM,SAAUtwE,EAAGC,EAAGgP,EAAK3F,EAAOixB,EAAQ4b,GAItC,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAO8yE,KAAKt0E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOixB,KAclEi2C,KAAM,SAAUxwE,EAAGC,EAAGuwE,EAAMj5D,EAAO4+B,GAI/B,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOgzE,KAAKx0E,KAAK+C,KAAMgB,EAAGC,EAAGuwE,EAAMj5D,KAmB5DywC,OAAQ,SAAUhoD,EAAGC,EAAGgP,EAAK2hC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,EAAS16B,GAI7F,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOqzE,OAAO70E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK2hC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,KAYxHp2D,SAAU,SAAUza,EAAGC,EAAGk2C,GAItB,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOqiC,SAAS7jC,KAAK+C,KAAMgB,EAAGC,KAgBvD8wE,QAAS,SAAU/wE,EAAGC,EAAG+wE,GAErB,OAAO/0E,KAAK+C,KAAKyjC,UAAUvN,IAAI,IAAIz3B,EAAOi8C,UAAUu3B,OAAOC,QAAQj1E,KAAK+C,KAAMgB,EAAGC,EAAG+wE,KAyBxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIn0E,EAAOo0E,UAAU51E,KAAK+C,KAAMoyE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IA+BnIE,WAAY,SAAU9xE,EAAGC,EAAGmxE,EAAMZ,EAAMzyD,EAAMo4B,GAI1C,YAFc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAKiD,OAEjCi3C,EAAMjhB,IAAI,IAAIz3B,EAAOysE,WAAWjuE,KAAK+C,KAAMgB,EAAGC,EAAGmxE,EAAMZ,EAAMzyD,KAoBxEg0D,QAAS,SAAU9iE,EAAK+iE,EAAWC,EAAYp4E,EAAOC,GAElD,OAAO,IAAI2D,EAAOuwE,QAAQ/xE,KAAK+C,KAAMiQ,EAAK+iE,EAAWC,EAAYp4E,EAAOC,IAa5EmH,cAAe,SAAUpH,EAAOC,EAAQmV,EAAKijE,QAE7B1vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAKsiC,IAAI6wC,aACxC3vE,IAAf0vE,IAA4BA,GAAa,GAE7C,IAAIl4E,EAAU,IAAIyD,EAAOyD,cAAcjF,KAAK+C,KAAMnF,EAAOC,EAAQmV,GAOjE,OALIijE,GAEAj2E,KAAK+C,KAAKiX,MAAMm8D,iBAAiBnjE,EAAKjV,GAGnCA,GAaXq4E,MAAO,SAAUpjE,EAAKqjE,GAElB,OAAO,IAAI70E,EAAOssE,MAAM9tE,KAAK+C,KAAMiQ,EAAKqjE,IAe5CC,WAAY,SAAU14E,EAAOC,EAAQmV,EAAKijE,QAEnB1vE,IAAf0vE,IAA4BA,GAAa,QACjC1vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAKsiC,IAAI6wC,QAE3D,IAAIn4E,EAAU,IAAIyD,EAAOkwE,WAAW1xE,KAAK+C,KAAMiQ,EAAKpV,EAAOC,GAO3D,OALIo4E,GAEAj2E,KAAK+C,KAAKiX,MAAMu8D,cAAcvjE,EAAKjV,GAGhCA,GAWXuoB,OAAQ,SAAUA,GAEd,IAAI6J,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAMjD,OAJIhK,EAAS,IAAI9kB,EAAOwhB,OAAOsD,GAAQtmB,KAAK+C,OAErC2O,KAAKnM,MAAM+gB,EAAQ6J,GAEnB7J,GAaX4oB,OAAQ,WAEJ,OAAOlvC,KAAK+C,KAAKgsC,QAAQ9V,IAAI1zB,MAAMvF,KAAK+C,KAAKgsC,QAASze,aAK9D9uB,EAAO07C,kBAAkB56C,UAAUC,YAAcf,EAAO07C,kBAgBxD17C,EAAO27C,kBAAoB,SAAUp6C,GAMjC/C,KAAK+C,KAAOA,EAMZ/C,KAAKiD,MAAQjD,KAAK+C,KAAKE,OAG3BzB,EAAO27C,kBAAkB76C,WAerB4X,MAAO,SAAUnW,EAAGC,EAAGgP,EAAK3F,GAExB,OAAO,IAAI7L,EAAOiyE,MAAMzzE,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,IAalDiW,OAAQ,SAAUvf,EAAGC,EAAGgP,EAAK3F,GAEzB,OAAO,IAAI7L,EAAOsE,OAAO9F,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,IAYnDymE,MAAO,SAAU/hD,GAEb,OAAO,IAAIvwB,EAAOg1E,MAAMzkD,EAAK/xB,KAAK+C,KAAM/C,KAAK+C,KAAKwjC,SActD2T,MAAO,SAAU74C,EAAQ2wB,EAAMkgB,EAAYC,EAAYC,GAEnD,OAAO,IAAI5wC,EAAOywC,MAAMjyC,KAAK+C,KAAM1B,GAAU,KAAM2wB,EAAMkgB,EAAYC,EAAYC,IAYrFrmC,YAAa,SAAU1K,EAAQ2wB,EAAMkgB,GAKjC,YAHa3rC,IAATyrB,IAAsBA,EAAO,cACdzrB,IAAf2rC,IAA4BA,GAAa,GAEtC,IAAI1wC,EAAOwyE,YAAYh0E,KAAK+C,KAAM1B,EAAQ2wB,EAAMkgB,IAa3D+hC,MAAO,SAAUjhE,EAAKuuB,EAAQ4pC,EAAMtP,GAEhC,OAAO77D,KAAK+C,KAAKsjC,MAAMpN,IAAIjmB,EAAKuuB,EAAQ4pC,EAAMtP,IAUlDqY,YAAa,SAAUlhE,GAEnB,OAAOhT,KAAK+C,KAAKsjC,MAAM8tC,UAAUnhE,IAarCqzB,MAAO,SAAUrzB,EAAKuuB,EAAQ4pC,EAAMtP,GAEhC,OAAO77D,KAAK+C,KAAKsjC,MAAMpN,IAAIjmB,EAAKuuB,EAAQ4pC,EAAMtP,IAelDuY,WAAY,SAAUrwE,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,GAE5C,OAAO,IAAI7L,EAAOglD,WAAWxmD,KAAK+C,KAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,IAetEgnE,KAAM,SAAUtwE,EAAGC,EAAGgP,EAAK3F,EAAOixB,GAE9B,OAAO,IAAI98B,EAAO8yE,KAAKt0E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOixB,IAaxDi2C,KAAM,SAAUxwE,EAAGC,EAAGuwE,EAAMj5D,GAExB,OAAO,IAAI9Z,EAAOgzE,KAAKx0E,KAAK+C,KAAMgB,EAAGC,EAAGuwE,EAAMj5D,IAkBlDywC,OAAQ,SAAUhoD,EAAGC,EAAGgP,EAAK2hC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,GAEpF,OAAO,IAAIpzE,EAAOqzE,OAAO70E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK2hC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,IAW9Gp2D,SAAU,SAAUza,EAAGC,GAEnB,OAAO,IAAIxC,EAAOqiC,SAAS7jC,KAAK+C,KAAMgB,EAAGC,IAgB7C8wE,QAAS,SAAU/wE,EAAGC,EAAG+wE,GAErB,OAAO,IAAIvzE,EAAOi8C,UAAUu3B,OAAOC,QAAQj1E,KAAK+C,KAAMgB,EAAGC,EAAG+wE,IAyBhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIn0E,EAAOo0E,UAAU51E,KAAK+C,KAAMoyE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IA+BnIE,WAAY,SAAU9xE,EAAGC,EAAGmxE,EAAMZ,EAAMzyD,EAAMgzB,GAE1C,OAAO,IAAItzC,EAAOysE,WAAWjuE,KAAK+C,KAAMgB,EAAGC,EAAGmxE,EAAMZ,EAAMzyD,EAAMgzB,IAmBpEghC,QAAS,SAAU9iE,EAAK+iE,EAAWC,EAAYp4E,EAAOC,GAElD,OAAO,IAAI2D,EAAOuwE,QAAQ/xE,KAAK+C,KAAMiQ,EAAK+iE,EAAWC,EAAYp4E,EAAOC,IAa5EmH,cAAe,SAAUpH,EAAOC,EAAQmV,EAAKijE,QAE7B1vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAKsiC,IAAI6wC,aACxC3vE,IAAf0vE,IAA4BA,GAAa,GAE7C,IAAIl4E,EAAU,IAAIyD,EAAOyD,cAAcjF,KAAK+C,KAAMnF,EAAOC,EAAQmV,GAOjE,OALIijE,GAEAj2E,KAAK+C,KAAKiX,MAAMm8D,iBAAiBnjE,EAAKjV,GAGnCA,GAeXu4E,WAAY,SAAU14E,EAAOC,EAAQmV,EAAKijE,QAEnB1vE,IAAf0vE,IAA4BA,GAAa,QACjC1vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAKsiC,IAAI6wC,QAE3D,IAAIn4E,EAAU,IAAIyD,EAAOkwE,WAAW1xE,KAAK+C,KAAMiQ,EAAKpV,EAAOC,GAO3D,OALIo4E,GAEAj2E,KAAK+C,KAAKiX,MAAMu8D,cAAcvjE,EAAKjV,GAGhCA,GAWXuoB,OAAQ,SAAUA,GAEd,IAAI6J,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAMjD,OAJIhK,EAAS,IAAI9kB,EAAOwhB,OAAOsD,GAAQtmB,KAAK+C,OAErC2O,KAAKnM,MAAM+gB,EAAQ6J,GAEnB7J,IAKf9kB,EAAO27C,kBAAkB76C,UAAUC,YAAcf,EAAO27C,kBA6CxD37C,EAAOsE,OAAS,SAAU/C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEvCtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO0qB,OAMnBlsB,KAAKuyC,YAAc/wC,EAAO0qB,OAE1B1tB,KAAKsH,OAAOtB,KAAKxE,KAAMwB,EAAO8sC,MAAM5mB,SAEpClmB,EAAOqpE,UAAUiB,KAAKp6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOsE,OAAOxD,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACpDd,EAAOsE,OAAOxD,UAAUC,YAAcf,EAAOsE,OAE7CtE,EAAOqpE,UAAUiB,KAAKC,QAAQvnE,KAAKhD,EAAOsE,OAAOxD,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAOsE,OAAOxD,UAAUm0E,iBAAmBj1E,EAAOqpE,UAAUsB,YAAYznE,UACxElD,EAAOsE,OAAOxD,UAAUo0E,kBAAoBl1E,EAAOqpE,UAAUuG,SAAS1sE,UACtElD,EAAOsE,OAAOxD,UAAUq0E,iBAAmBn1E,EAAOqpE,UAAUgG,QAAQnsE,UACpElD,EAAOsE,OAAOxD,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UAS9DlD,EAAOsE,OAAOxD,UAAUoC,UAAY,WAEhC,SAAK1E,KAAKy2E,oBAAuBz2E,KAAK02E,qBAAwB12E,KAAK22E,qBAK5D32E,KAAK42E,iBAuChBp1E,EAAOiyE,MAAQ,SAAU1wE,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEtCtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO4qB,MAEnB5tB,KAAKsH,OAAOtB,KAAKxE,KAAMwB,EAAO8sC,MAAM5mB,SAEpClmB,EAAOqpE,UAAUiB,KAAKp6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOiyE,MAAMnxE,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACnDd,EAAOiyE,MAAMnxE,UAAUC,YAAcf,EAAOiyE,MAE5CjyE,EAAOqpE,UAAUiB,KAAKC,QAAQvnE,KAAKhD,EAAOiyE,MAAMnxE,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,cACA,aAGJd,EAAOiyE,MAAMnxE,UAAUo0E,kBAAoBl1E,EAAOqpE,UAAUuG,SAAS1sE,UACrElD,EAAOiyE,MAAMnxE,UAAUq0E,iBAAmBn1E,EAAOqpE,UAAUgG,QAAQnsE,UACnElD,EAAOiyE,MAAMnxE,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UAQ7DlD,EAAOiyE,MAAMnxE,UAAUoC,UAAY,WAE/B,SAAK1E,KAAK22E,qBAAuB32E,KAAK02E,sBAK/B12E,KAAK42E,iBAqChBp1E,EAAOqzE,OAAS,SAAU9xE,EAAMgB,EAAGC,EAAGgP,EAAK2hC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,GAElG7wE,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb2hC,EAAWA,GAAY,KACvB1L,EAAkBA,GAAmBjpC,KAErCwB,EAAOiyE,MAAMjvE,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK0hE,GAOzC10E,KAAKwT,KAAOhS,EAAO2qB,OAMnBnsB,KAAKuyC,YAAc/wC,EAAO0qB,OAO1BlsB,KAAK62E,aAAe,KAOpB72E,KAAK82E,YAAc,KAOnB92E,KAAK+2E,aAAe,KAOpB/2E,KAAKg3E,WAAa,KAOlBh3E,KAAKi3E,YAAc,KAOnBj3E,KAAKk3E,WAAa,KAOlBl3E,KAAKm3E,YAAc,KAOnBn3E,KAAKo3E,UAAY,KAOjBp3E,KAAKq3E,kBAAoB,GAOzBr3E,KAAKs3E,iBAAmB,GAOxBt3E,KAAKu3E,kBAAoB,GAOzBv3E,KAAKw3E,gBAAkB,GAOvBx3E,KAAKyvE,YAAc,IAAIjuE,EAAO6gC,OAO9BriC,KAAK0vE,WAAa,IAAIluE,EAAO6gC,OAO7BriC,KAAK2vE,YAAc,IAAInuE,EAAO6gC,OAO9BriC,KAAK4vE,UAAY,IAAIpuE,EAAO6gC,OAS5BriC,KAAKy3E,iBAAkB,EASvBz3E,KAAK03E,yBAA2Bl2E,EAAOwiD,YAAYsB,QAOnDtlD,KAAK23E,cAAe,EAUpB33E,KAAK43E,UAAW,EAEhB53E,KAAKk0C,cAAe,EAEpBl0C,KAAKmmC,MAAM75B,MAAM,GAAG,GAEpBtM,KAAKmmC,MAAM6rB,eAAgB,EAE3BhyD,KAAK63E,UAAUpD,EAAWC,EAAUC,EAAWC,GAE9B,OAAbjgC,GAEA30C,KAAK4vE,UAAU32C,IAAI0b,EAAU1L,GAIjCjpC,KAAKm0C,OAAOs7B,YAAYx2C,IAAIj5B,KAAK83E,mBAAoB93E,MACrDA,KAAKm0C,OAAOu7B,WAAWz2C,IAAIj5B,KAAK+3E,kBAAmB/3E,MACnDA,KAAKm0C,OAAOw7B,YAAY12C,IAAIj5B,KAAKg4E,mBAAoBh4E,MACrDA,KAAKm0C,OAAOy7B,UAAU32C,IAAIj5B,KAAKi4E,iBAAkBj4E,OAGrDwB,EAAOqzE,OAAOvyE,UAAY0E,OAAOwB,OAAOhH,EAAOiyE,MAAMnxE,WACrDd,EAAOqzE,OAAOvyE,UAAUC,YAAcf,EAAOqzE,OA60mDzC,OAh0mDJrzE,EAAOqzE,OAAOvyE,UAAU41E,YAAc,WAElCl4E,KAAK63E,UAAU,KAAM,KAAM,KAAM,OAYrCr2E,EAAOqzE,OAAOvyE,UAAU61E,cAAgB,SAAU7xC,EAAOj5B,EAAO+qE,GAE5D,IAAIC,EAAW,MAAQ/xC,EAAQ,QAEjB,OAAVj5B,GAEArN,KAAKq4E,GAAYhrE,EAEb+qE,GAEAp4E,KAAKs4E,iBAAiBhyC,IAK1BtmC,KAAKq4E,GAAY,MAYzB72E,EAAOqzE,OAAOvyE,UAAUg2E,iBAAmB,SAAUhyC,GAEjD,GAAItmC,KAAK23E,aAEL,OAAO,EAGX,IACItqE,EAAQrN,KADG,MAAQsmC,EAAQ,SAG/B,MAAqB,iBAAVj5B,GAEPrN,KAAKyyE,UAAYplE,GACV,GAEe,iBAAVA,IAEZrN,KAAKqN,MAAQA,GACN,IAoBf7L,EAAOqzE,OAAOvyE,UAAUu1E,UAAY,SAAUpD,EAAWC,EAAUC,EAAWC,GAE1E50E,KAAKm4E,cA3FQ,OA2FkB1D,EAAWz0E,KAAKmmC,MAAMovB,eACrDv1D,KAAKm4E,cA3FO,MA2FkBzD,GAAW10E,KAAKmmC,MAAMovB,eACpDv1D,KAAKm4E,cA3FQ,OA2FkBxD,EAAW30E,KAAKmmC,MAAMgvB,eACrDn1D,KAAKm4E,cA3FM,KA2FkBvD,EAAS50E,KAAKmmC,MAAMivB,cAYrD5zD,EAAOqzE,OAAOvyE,UAAUi2E,cAAgB,SAAUjyC,EAAOD,EAAOmyC,GAE5D,IAAIC,EAAW,KAAOnyC,EAAQ,QAC1BoyC,EAAY,KAAOpyC,EAAQ,cAE3BD,aAAiB7kC,EAAOm3E,OAAStyC,aAAiB7kC,EAAOo3E,aAEzD54E,KAAKy4E,GAAYpyC,EACjBrmC,KAAK04E,GAA+B,iBAAXF,EAAsBA,EAAS,KAIxDx4E,KAAKy4E,GAAY,KACjBz4E,KAAK04E,GAAa,KAY1Bl3E,EAAOqzE,OAAOvyE,UAAUu2E,eAAiB,SAAUvyC,GAE/C,IACID,EAAQrmC,KADG,KAAOsmC,EAAQ,SAG9B,GAAID,EACJ,CACI,IACImyC,EAASx4E,KADG,KAAOsmC,EAAQ,eAI/B,OADAD,EAAM4kC,KAAKuN,IACJ,EAIP,OAAO,GAqBfh3E,EAAOqzE,OAAOvyE,UAAUw2E,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtHt5E,KAAKu4E,cAzKQ,OAyKkBQ,EAAWC,GAC1Ch5E,KAAKu4E,cAzKO,MAyKkBY,EAAUC,GACxCp5E,KAAKu4E,cAzKQ,OAyKkBU,EAAWC,GAC1Cl5E,KAAKu4E,cAzKM,KAyKkBc,EAASC,IAW1C93E,EAAOqzE,OAAOvyE,UAAUi3E,aAAe,SAAUlzC,EAAOmyC,GAEpDx4E,KAAKu4E,cAzLQ,OAyLkBlyC,EAAOmyC,IAW1Ch3E,EAAOqzE,OAAOvyE,UAAUk3E,YAAc,SAAUnzC,EAAOmyC,GAEnDx4E,KAAKu4E,cArMO,MAqMkBlyC,EAAOmyC,IAWzCh3E,EAAOqzE,OAAOvyE,UAAUm3E,aAAe,SAAUpzC,EAAOmyC,GAEpDx4E,KAAKu4E,cAjNQ,OAiNkBlyC,EAAOmyC,IAW1Ch3E,EAAOqzE,OAAOvyE,UAAUo3E,WAAa,SAAUrzC,EAAOmyC,GAElDx4E,KAAKu4E,cA7NM,KA6NkBlyC,EAAOmyC,IAWxCh3E,EAAOqzE,OAAOvyE,UAAUw1E,mBAAqB,SAAUx0D,EAAQ0qB,GAEvDA,EAAQ6d,iBACP7rD,KAAK03E,yBAA2B1pC,EAAQ8d,eAAiB9d,EAAQ8d,cAMtE9rD,KAAKs4E,iBApPQ,QAsPTt4E,KAAKy3E,kBAAoBzpC,EAAQqf,UAKrCrtD,KAAK64E,eA3PQ,QA6PT74E,KAAKyvE,aAELzvE,KAAKyvE,YAAYrqC,SAASplC,KAAMguC,MAYxCxsC,EAAOqzE,OAAOvyE,UAAUy1E,kBAAoB,SAAUz0D,EAAQ0qB,GAE1DhuC,KAAKs4E,iBA5QO,OA8QZt4E,KAAK64E,eA9QO,OAgRR74E,KAAK0vE,YAEL1vE,KAAK0vE,WAAWtqC,SAASplC,KAAMguC,IAYvCxsC,EAAOqzE,OAAOvyE,UAAU01E,mBAAqB,SAAU10D,EAAQ0qB,GAE3DhuC,KAAKs4E,iBA/RQ,QAiSbt4E,KAAK64E,eAjSQ,QAmST74E,KAAK2vE,aAEL3vE,KAAK2vE,YAAYvqC,SAASplC,KAAMguC,IAaxCxsC,EAAOqzE,OAAOvyE,UAAU21E,iBAAmB,SAAU30D,EAAQ0qB,EAASomB,GAElEp0D,KAAK64E,eAnTM,MAsTP74E,KAAK4vE,WAEL5vE,KAAK4vE,UAAUxqC,SAASplC,KAAMguC,EAASomB,GAGvCp0D,KAAK23E,gBAKa,IAAlB33E,KAAK43E,WAAsB53E,KAAK43E,SAAW5pC,EAAQ8d,eAAiB9d,EAAQ8d,YAE5E9rD,KAAKs4E,iBApUG,OAwUQt4E,KAAKs4E,iBAtUd,QA0UClkB,EAEAp0D,KAAKs4E,iBA/UJ,QAmVDt4E,KAAKs4E,iBAlVL,UA8WhB92E,EAAOwyE,YAAc,SAAUjxE,EAAM1B,EAAQ2wB,EAAMkgB,QAEhC3rC,IAAXlF,GAAmC,OAAXA,IAAmBA,EAAS0B,EAAKE,OAE7DzB,EAAOywC,MAAMztC,KAAKxE,KAAM+C,EAAM1B,EAAQ2wB,EAAMkgB,GAM5ClyC,KAAKwT,KAAOhS,EAAO2rB,YAMnBntB,KAAK25E,gBAAkB,KAMvB35E,KAAK45E,OAAQ,GAGjBp4E,EAAOwyE,YAAY1xE,UAAY0E,OAAOwB,OAAOhH,EAAOywC,MAAM3vC,WAE1Dd,EAAOwyE,YAAY1xE,UAAUC,YAAcf,EAAOwyE,YAUlDxyE,EAAOwyE,YAAY1xE,UAAUyD,aAAe,SAAUH,IAE7C5F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,SAKlD3C,KAAK45E,QAEN55E,KAAK25E,gBAAkB,IAAIn7E,KAAKqnB,qBAAqBjgB,EAAcjI,IAEnEqC,KAAK45E,OAAQ,GAGb55E,KAAK25E,gBAAgBh8E,KAAOiI,EAAcjI,IAE1CqC,KAAK25E,gBAAgBzgE,WAAWtT,EAAcjI,IAGlDiI,EAAcmG,YAAYI,OAE1BvG,EAAc8R,cAAcoI,UAAUla,EAAc8R,cAAcwJ,YAElElhB,KAAK25E,gBAAgBv+D,MAAMpb,KAAM4F,GACjC5F,KAAK25E,gBAAgBx0E,OAAOnF,MAE5B4F,EAAcmG,YAAYO,UAW9B9K,EAAOwyE,YAAY1xE,UAAU0D,cAAgB,SAAUJ,GAEnD,GAAK5F,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,OAAvD,CAKA,IAAImL,EAAUlI,EAAckI,QAE5BA,EAAQG,YAAcjO,KAAKsB,WAE3BtB,KAAK+G,+BAML,IAAK,IAJDqhB,EAAYpoB,KAAKuB,eAEjBs4E,GAAY,EAEPn3E,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,GAAKgG,EAAMxH,QAAX,CAKA,IAAInD,EAAU2K,EAAM3K,QAChBsP,EAAQtP,EAAQsP,MAIpB,GAFAS,EAAQG,YAAcjO,KAAKsB,WAAaoH,EAAMzH,MAE1CyH,EAAM1H,UAAsB,EAAV0C,KAAKsxB,KAAY,EAI/B6kD,IAEA/rE,EAAQe,aAAauZ,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,EAAGglB,EAAU/kB,EAAG+kB,EAAU9kB,GAAI8kB,EAAU7kB,IACjGs2E,GAAY,GAGhB/rE,EAAQmB,UACJlR,EAAQqI,YAAYgJ,OACpB/B,EAAMtJ,EACNsJ,EAAMrJ,EACNqJ,EAAMzP,MACNyP,EAAMxP,OACJ6K,EAAM/B,OAAQ,IAAM0G,EAAMzP,MAAQ8K,EAAM5H,MAAMiD,GAAK2E,EAAM9H,SAASmD,EAAI,GAAM6B,EAAc0I,OAAU,EACpG5F,EAAM/B,OAAQ,IAAM0G,EAAMxP,OAAS6K,EAAM5H,MAAMkD,GAAK0E,EAAM9H,SAASoD,EAAI,GAAM4B,EAAc2I,OAAU,EACvGlB,EAAMzP,MAAQ8K,EAAM5H,MAAMiD,EAC1BsJ,EAAMxP,OAAS6K,EAAM5H,MAAMkD,OAGnC,CACS61E,IAEDA,GAAY,GAGhBnxE,EAAM3B,+BAEN,IAAI+yE,EAAiBpxE,EAAMnH,eACvB+B,EAAMw2E,EAAex2E,GAAKsC,EAAchB,WAAcgB,EAAc0I,OACpE/K,EAAMu2E,EAAev2E,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAIpE3I,EAAcgJ,YAEdd,EAAQe,aAAairE,EAAe52E,EAAG42E,EAAe32E,EAAG22E,EAAe12E,EAAG02E,EAAez2E,EAAQ,EAALC,EAAa,EAALC,GAIrGuK,EAAQe,aAAairE,EAAe52E,EAAG42E,EAAe32E,EAAG22E,EAAe12E,EAAG02E,EAAez2E,EAAGC,EAAIC,GAGrGuK,EAAQmB,UACJlR,EAAQqI,YAAYgJ,OACpB/B,EAAMtJ,EACNsJ,EAAMrJ,EACNqJ,EAAMzP,MACNyP,EAAMxP,OACJ6K,EAAM/B,OAAQ,GAAM0G,EAAMzP,MAAS,GAAO,EAC1C8K,EAAM/B,OAAQ,GAAM0G,EAAMxP,OAAU,GAAO,EAC7CwP,EAAMzP,MACNyP,EAAMxP,aA4BtB2D,EAAOkwE,WAAa,SAAU3uE,EAAMiQ,EAAKpV,EAAOC,EAAQk8E,QAEtCxzE,IAAV3I,GAAiC,IAAVA,IAAeA,EAAQ,UACnC2I,IAAX1I,GAAmC,IAAXA,IAAgBA,EAAS,UACpC0I,IAAbwzE,IAA0BA,GAAW,GAKzC/5E,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAKXhT,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKkX,OAAS1V,EAAOioB,OAAOjhB,OAAOxI,KAAMpC,EAAOC,EAAQ,KAAMk8E,GAM9D/5E,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAAQvX,OAAO,IAKrDjB,KAAKg6E,IAAMh6E,KAAK8N,QAKhB9N,KAAKkO,eAAkBnL,EAAKsnC,aAAe7oC,EAAO+nB,OAAUxmB,EAAK8B,SAASe,cAAcsI,eAAiB1M,EAAOioB,OAAOC,mBAAmB1pB,KAAK8N,SAO/I9N,KAAKi6E,UAAYj6E,KAAK8N,QAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAOxDmC,KAAKoU,KAAO,KAERpU,KAAKi6E,YAELj6E,KAAKoU,KAAOpU,KAAKi6E,UAAU7lE,MAM/BpU,KAAKmpB,OAAS,KAKVnpB,KAAKoU,OAEDpU,KAAKi6E,UAAU7lE,KAAK8G,QAEpBlb,KAAKkb,OAASlb,KAAKi6E,UAAU7lE,KAAK8G,OAClClb,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAGnC9K,OAAO+R,aAEPniB,KAAKkb,OAAS,IAAIiH,YAAYniB,KAAKi6E,UAAU7lE,KAAKzR,QAClD3C,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAInClb,KAAKmpB,OAASnpB,KAAKi6E,UAAU7lE,MAQrCpU,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAAYnqB,KAAKkX,OAAQ,KAAMlX,KAAK+C,KAAK6B,YAMrE5E,KAAKjC,QAAU,IAAIS,KAAKqO,QAAQ7M,KAAKoG,aAKrCpG,KAAK8xE,UAAY,IAAItwE,EAAO04E,UAM5Bl6E,KAAKm6E,aAAen6E,KAAK8xE,UAAUsI,SAAS,IAAI54E,EAAO64E,MAAM,EAAG,EAAG,EAAGz8E,EAAOC,EAAQ,eAErFmC,KAAKjC,QAAQsP,MAAQrN,KAAKm6E,aAM1Bn6E,KAAKwT,KAAOhS,EAAOurB,WAKnB/sB,KAAKs6E,sBAAuB,EAK5Bt6E,KAAKwR,OAAQ,EAGbxR,KAAKu6E,IAAMv6E,KAAK4a,MAMhB5a,KAAKw6E,OAAS,KAMdx6E,KAAKy6E,KAAO,IAAIj5E,EAAOX,MAMvBb,KAAK06E,MAAQ,IAAIl5E,EAAOX,MAMxBb,KAAK26E,OAAS,IAAIn5E,EAAOX,MAMzBb,KAAK46E,QAAU,EAMf56E,KAAK66E,QAAWC,KAAM,EAAGnzC,QAAS,GAMlC3nC,KAAK+6E,QAAU,IAAIv5E,EAAOX,MAM1Bb,KAAKg7E,OAAS,EAMdh7E,KAAKi7E,OAAS,EAMdj7E,KAAKk7E,OAAS,EAMdl7E,KAAKm7E,QAAU,IAAI35E,EAAOmzB,OAM1B30B,KAAKo7E,iBAAc70E,GAGvB/E,EAAOkwE,WAAWpvE,WAadujD,KAAM,SAAU9hD,EAAGC,EAAGi2B,GAYlB,OAVU,IAANl2B,GAEA/D,KAAKq7E,MAAMt3E,EAAGk2B,GAGR,IAANj2B,GAEAhE,KAAKs7E,MAAMt3E,EAAGi2B,GAGXj6B,MAaXq7E,MAAO,SAAU7lD,EAAUyE,QAEV1zB,IAAT0zB,IAAsBA,GAAO,QAER1zB,IAArBvG,KAAKo7E,cAELp7E,KAAKo7E,YAAc55E,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIm8E,EADIh6E,KAAKo7E,YACD5iE,WAAW,MACnB+L,EAAIvkB,KAAKnC,OACTgS,EAAM7P,KAAKkX,OAIf,GAFA8iE,EAAIhyD,UAAU,EAAG,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,QAEjC23B,EAAW,EACf,CACIA,EAAW9xB,KAAKizB,IAAInB,GAGhBngB,EAAIrV,KAAKpC,MAAQ43B,EAGjByE,GAEA+/C,EAAI/qE,UAAUY,EAAK,EAAG,EAAG2lB,EAAUjR,EAAGlP,EAAG,EAAGmgB,EAAUjR,GAI1Dy1D,EAAI/qE,UAAUY,EAAK2lB,EAAU,EAAGngB,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,OAGnD,CAEI,IAAIlP,EAAIrV,KAAKpC,MAAQ43B,EAGjByE,GAEA+/C,EAAI/qE,UAAUY,EAAKwF,EAAG,EAAGmgB,EAAUjR,EAAG,EAAG,EAAGiR,EAAUjR,GAI1Dy1D,EAAI/qE,UAAUY,EAAK,EAAG,EAAGwF,EAAGkP,EAAGiR,EAAU,EAAGngB,EAAGkP,GAKnD,OAFAvkB,KAAK4a,QAEE5a,KAAKg0B,KAAKh0B,KAAKo7E,cAa1BE,MAAO,SAAU9lD,EAAUyE,QAEV1zB,IAAT0zB,IAAsBA,GAAO,QAER1zB,IAArBvG,KAAKo7E,cAELp7E,KAAKo7E,YAAc55E,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIm8E,EADIh6E,KAAKo7E,YACD5iE,WAAW,MACnBnD,EAAIrV,KAAKpC,MACTiS,EAAM7P,KAAKkX,OAIf,GAFA8iE,EAAIhyD,UAAU,EAAG,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,QAEjC23B,EAAW,EACf,CACIA,EAAW9xB,KAAKizB,IAAInB,GAGhBjR,EAAIvkB,KAAKnC,OAAS23B,EAGlByE,GAEA+/C,EAAI/qE,UAAUY,EAAK,EAAG,EAAGwF,EAAGmgB,EAAU,EAAGjR,EAAGlP,EAAGmgB,GAInDwkD,EAAI/qE,UAAUY,EAAK,EAAG2lB,EAAUngB,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,OAGnD,CAEI,IAAIA,EAAIvkB,KAAKnC,OAAS23B,EAGlByE,GAEA+/C,EAAI/qE,UAAUY,EAAK,EAAG0U,EAAGlP,EAAGmgB,EAAU,EAAG,EAAGngB,EAAGmgB,GAInDwkD,EAAI/qE,UAAUY,EAAK,EAAG,EAAGwF,EAAGkP,EAAG,EAAGiR,EAAUngB,EAAGkP,GAKnD,OAFAvkB,KAAK4a,QAEE5a,KAAKg0B,KAAKh0B,KAAKo7E,cAW1BniD,IAAK,SAAUmgB,GAEX,GAAI3xC,MAAMC,QAAQ0xC,GAEd,IAAK,IAAI12C,EAAI,EAAGA,EAAI02C,EAAOz2C,OAAQD,IAE3B02C,EAAO12C,GAAGs2C,aAEVI,EAAO12C,GAAGs2C,YAAYh5C,WAM9Bo5C,EAAOJ,YAAYh5C,MAGvB,OAAOA,MAaXomC,KAAM,SAAUh3B,GAOZ,GALsB,iBAAXA,IAEPA,EAASpP,KAAK+C,KAAKiX,MAAMk4D,SAAS9iE,IAGlCA,EAcJ,OAZIpP,KAAKmG,OAAOiJ,EAAOxR,MAAOwR,EAAOvR,QACjCmC,KAAKu6E,MAOTv6E,KAAKu7E,KAAKnsE,GAEVpP,KAAK8kC,SAEE9kC,MAyBX4a,MAAO,SAAU7W,EAAGC,EAAGpG,EAAOC,GAW1B,YATU0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAE1CmC,KAAK8N,QAAQka,UAAUjkB,EAAGC,EAAGpG,EAAOC,GAEpCmC,KAAKwR,OAAQ,EAENxR,MAaX0mD,KAAM,SAAUxiD,EAAGyW,EAAGxX,EAAGD,GAQrB,YANUqD,IAANrD,IAAmBA,EAAI,GAE3BlD,KAAK8N,QAAQ6a,UAAY,QAAUzkB,EAAI,IAAMyW,EAAI,IAAMxX,EAAI,IAAMD,EAAI,IACrElD,KAAK8N,QAAQgb,SAAS,EAAG,EAAG9oB,KAAKpC,MAAOoC,KAAKnC,QAC7CmC,KAAKwR,OAAQ,EAENxR,MAaXw7E,UAAW,SAAUhoE,EAAMioE,GAEvB,OAAOz7E,KAAKkX,OAAOwkE,UAAUloE,EAAMioE,IAkBvCvJ,SAAU,SAAU1+D,EAAMioE,EAAgBE,EAAgBC,GAEtD,IAAI1hE,EAAQ,IAAIu5D,MAOhB,OALIkI,IAAkBzhE,EAAM2hE,OAASF,GACjCC,IAAmB1hE,EAAM4hE,QAAUF,GAEvC1hE,EAAMrK,IAAM7P,KAAKw7E,UAAUhoE,EAAMioE,GAE1BvhE,GA+CXvV,gBAAiB,SAAUqO,EAAK2hC,EAAU1L,GAEtC,IAAIjvB,EAAQha,KAAK+C,KAAKiX,MAClBE,EAAQ,IAAIu5D,MAiBhB,GAfI9+B,IAEAz6B,EAAM2hE,OAAS,WAEX,IAAI9pD,EAAM/X,EAAM+hE,SAAS/oE,EAAK,GAAIkH,GAC9Bnc,EAAU,IAAIS,KAAKqO,QAAQklB,EAAI3X,MAEnCu6B,EAASnwC,KAAKykC,GAAmB,KAAMlrC,GAEvCmc,EAAM2hE,OAAS,OAIvB3hE,EAAMrK,IAAM7P,KAAKw7E,aAEZ7mC,EACL,CACI,IAAI5iB,EAAM/X,EAAM+hE,SAAS/oE,EAAK,GAAIkH,GAElC,OAAO,IAAI1b,KAAKqO,QAAQklB,EAAI3X,MAGhC,OAAO,MAWXjU,OAAQ,SAAUvI,EAAOC,GAgCrB,OA9BID,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAExCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,OAEI0I,IAArBvG,KAAKo7E,cAELp7E,KAAKo7E,YAAYx9E,MAAQA,EACzBoC,KAAKo7E,YAAYv9E,OAASA,GAG9BmC,KAAKoG,YAAYxI,MAAQA,EACzBoC,KAAKoG,YAAYvI,OAASA,EAE1BmC,KAAKm6E,aAAav8E,MAAQA,EAC1BoC,KAAKm6E,aAAat8E,OAASA,EAE3BmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ6P,KAAKhQ,MAAQA,EAC1BoC,KAAKjC,QAAQ6P,KAAK/P,OAASA,EAE3BmC,KAAK8kC,SACL9kC,KAAKwR,OAAQ,GAGVxR,MAiBX8kC,OAAQ,SAAU/gC,EAAGC,EAAGpG,EAAOC,GA0B3B,YAxBU0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQ8F,KAAKuC,IAAI,EAAGjG,KAAKpC,aACrC2I,IAAX1I,IAAwBA,EAAS6F,KAAKuC,IAAI,EAAGjG,KAAKnC,SAEtDmC,KAAKi6E,UAAYj6E,KAAK8N,QAAQob,aAAanlB,EAAGC,EAAGpG,EAAOC,GACxDmC,KAAKoU,KAAOpU,KAAKi6E,UAAU7lE,KAEvBpU,KAAKi6E,UAAU7lE,KAAK8G,QAEpBlb,KAAKkb,OAASlb,KAAKi6E,UAAU7lE,KAAK8G,OAClClb,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAGnC9K,OAAO+R,aAEPniB,KAAKkb,OAAS,IAAIiH,YAAYniB,KAAKi6E,UAAU7lE,KAAKzR,QAClD3C,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAInClb,KAAKmpB,OAASnpB,KAAKi6E,UAAU7lE,KAG1BpU,MAsBXg8E,gBAAiB,SAAUrnC,EAAU1L,EAAiBllC,EAAGC,EAAGpG,EAAOC,QAErD0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDwX,EAAItR,EAAInG,EACR2mB,EAAIvgB,EAAInG,EACRo+E,EAAQz6E,EAAO2e,MAAM+7D,cACrBtjD,GAAW10B,EAAG,EAAGyW,EAAG,EAAGxX,EAAG,EAAGD,EAAG,GAChCsO,GAAQ,EAEHjO,EAAKS,EAAGT,EAAKghB,EAAGhhB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK+R,EAAG/R,IAErB9B,EAAO2e,MAAMg8D,YAAYn8E,KAAKo8E,WAAW94E,EAAIC,GAAK04E,IAInC,KAFfrjD,EAAS+b,EAASnwC,KAAKykC,EAAiBgzC,EAAO34E,EAAIC,KAEhB,OAAXq1B,QAA8BryB,IAAXqyB,IAEvC54B,KAAKq8E,WAAW/4E,EAAIC,EAAIq1B,EAAO10B,EAAG00B,EAAOje,EAAGie,EAAOz1B,EAAGy1B,EAAO11B,GAAG,GAChEsO,GAAQ,GAWpB,OANIA,IAEAxR,KAAK8N,QAAQub,aAAarpB,KAAKi6E,UAAW,EAAG,GAC7Cj6E,KAAKwR,OAAQ,GAGVxR,MAmBXs8E,aAAc,SAAU3nC,EAAU1L,EAAiBllC,EAAGC,EAAGpG,EAAOC,QAElD0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDwX,EAAItR,EAAInG,EACR2mB,EAAIvgB,EAAInG,EACRo+E,EAAQ,EACRrjD,EAAS,EACTpnB,GAAQ,EAEHjO,EAAKS,EAAGT,EAAKghB,EAAGhhB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK+R,EAAG/R,IAErB24E,EAAQj8E,KAAKo8E,WAAW94E,EAAIC,IAC5Bq1B,EAAS+b,EAASnwC,KAAKykC,EAAiBgzC,EAAO34E,EAAIC,MAEpC04E,IAEXj8E,KAAKmpB,OAAO5lB,EAAKvD,KAAKpC,MAAQ0F,GAAMs1B,EACpCpnB,GAAQ,GAWpB,OANIA,IAEAxR,KAAK8N,QAAQub,aAAarpB,KAAKi6E,UAAW,EAAG,GAC7Cj6E,KAAKwR,OAAQ,GAGVxR,MAmBXu8E,WAAY,SAAUC,EAAIC,EAAIriD,EAAIF,EAAIwiD,EAAIC,EAAItiD,EAAIF,EAAIyiD,GAElD,IAAI/iD,EAAK,EACLC,EAAK,EACLzkB,EAAIrV,KAAKpC,MACT2mB,EAAIvkB,KAAKnC,OACTuR,EAAS5N,EAAO2e,MAAM08D,UAAUL,EAAIC,EAAIriD,EAAIF,QAEjC3zB,IAAXq2E,GAAwBA,aAAkBp7E,EAAOS,YAEjD43B,EAAK+iD,EAAO74E,EACZ+1B,EAAK8iD,EAAO54E,EACZqR,EAAIunE,EAAOh/E,MACX2mB,EAAIq4D,EAAO/+E,QAGf,IAAK,IAAImG,EAAI,EAAGA,EAAIugB,EAAGvgB,IAEnB,IAAK,IAAID,EAAI,EAAGA,EAAIsR,EAAGtR,IAEf/D,KAAKo8E,WAAWviD,EAAK91B,EAAG+1B,EAAK91B,KAAOoL,GAEpCpP,KAAKq8E,WAAWxiD,EAAK91B,EAAG+1B,EAAK91B,EAAG04E,EAAIC,EAAItiD,EAAIF,GAAI,GAQ5D,OAHAn6B,KAAK8N,QAAQub,aAAarpB,KAAKi6E,UAAW,EAAG,GAC7Cj6E,KAAKwR,OAAQ,EAENxR,MAaX88E,OAAQ,SAAUv4D,EAAGlgB,EAAG4yB,EAAG2lD,GAEvB,IAAIG,EAASx4D,GAAW,IAANA,EACdy4D,EAAS34E,GAAW,IAANA,EACd44E,EAAShmD,GAAW,IAANA,EAElB,GAAK8lD,GAAWC,GAAWC,EAA3B,MAKe12E,IAAXq2E,IAEAA,EAAS,IAAIp7E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFDo+E,EAAQz6E,EAAO2e,MAAM+7D,cAEhBl4E,EAAI44E,EAAO54E,EAAGA,EAAI44E,EAAOtmD,OAAQtyB,IAEtC,IAAK,IAAID,EAAI64E,EAAO74E,EAAGA,EAAI64E,EAAOlpD,MAAO3vB,IAErCvC,EAAO2e,MAAMg8D,YAAYn8E,KAAKo8E,WAAWr4E,EAAGC,GAAIi4E,GAAO,GAEnDc,IAEAd,EAAM13D,EAAIA,GAGVy4D,IAEAf,EAAM53E,EAAIA,GAGV44E,IAEAhB,EAAMhlD,EAAIA,GAGdz1B,EAAO2e,MAAM+8D,SAASjB,EAAM13D,EAAG03D,EAAM53E,EAAG43E,EAAMhlD,EAAGglD,GACjDj8E,KAAKq8E,WAAWt4E,EAAGC,EAAGi4E,EAAM/3E,EAAG+3E,EAAMthE,EAAGshE,EAAM94E,EAAG84E,EAAM/4E,GAAG,GAOlE,OAHAlD,KAAK8N,QAAQub,aAAarpB,KAAKi6E,UAAW,EAAG,GAC7Cj6E,KAAKwR,OAAQ,EAENxR,OAeXm9E,SAAU,SAAU54D,EAAGlgB,EAAG4yB,EAAG2lD,GAMzB,QAJUr2E,IAANge,GAAyB,OAANA,IAAcA,GAAI,QAC/Bhe,IAANlC,GAAyB,OAANA,IAAcA,GAAI,QAC/BkC,IAAN0wB,GAAyB,OAANA,IAAcA,GAAI,GAEpC1S,GAAMlgB,GAAM4yB,EAAjB,MAKe1wB,IAAXq2E,IAEAA,EAAS,IAAIp7E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFDo+E,EAAQz6E,EAAO2e,MAAM+7D,cAEhBl4E,EAAI44E,EAAO54E,EAAGA,EAAI44E,EAAOtmD,OAAQtyB,IAEtC,IAAK,IAAID,EAAI64E,EAAO74E,EAAGA,EAAI64E,EAAOlpD,MAAO3vB,IAErCvC,EAAO2e,MAAMg8D,YAAYn8E,KAAKo8E,WAAWr4E,EAAGC,GAAIi4E,GAAO,GAEnD13D,IAEA03D,EAAM13D,EAAIvkB,KAAK+C,KAAKyiC,KAAKvL,KAAKgiD,EAAM13D,EAAIA,EAAG,EAAG,IAG9ClgB,IAEA43E,EAAM53E,EAAIrE,KAAK+C,KAAKyiC,KAAK/I,MAAMw/C,EAAM53E,EAAIA,EAAG,EAAG,IAG/C4yB,IAEAglD,EAAMhlD,EAAIj3B,KAAK+C,KAAKyiC,KAAK/I,MAAMw/C,EAAMhlD,EAAIA,EAAG,EAAG,IAGnDz1B,EAAO2e,MAAM+8D,SAASjB,EAAM13D,EAAG03D,EAAM53E,EAAG43E,EAAMhlD,EAAGglD,GACjDj8E,KAAKq8E,WAAWt4E,EAAGC,EAAGi4E,EAAM/3E,EAAG+3E,EAAMthE,EAAGshE,EAAM94E,EAAG84E,EAAM/4E,GAAG,GAOlE,OAHAlD,KAAK8N,QAAQub,aAAarpB,KAAKi6E,UAAW,EAAG,GAC7Cj6E,KAAKwR,OAAQ,EAENxR,OAgBXq8E,WAAY,SAAUt4E,EAAGC,EAAGo5E,EAAKC,EAAOC,EAAMr8E,EAAOs8E,GAsBjD,YApBkBh3E,IAAdg3E,IAA2BA,GAAY,GAEvCx5E,GAAK,GAAKA,GAAK/D,KAAKpC,OAASoG,GAAK,GAAKA,GAAKhE,KAAKnC,SAE7C2D,EAAO85C,OAAOkiC,cAEdx9E,KAAKmpB,OAAOnlB,EAAIhE,KAAKpC,MAAQmG,GAAM9C,GAAS,GAAOq8E,GAAQ,GAAOD,GAAS,EAAKD,EAIhFp9E,KAAKmpB,OAAOnlB,EAAIhE,KAAKpC,MAAQmG,GAAMq5E,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAKr8E,EAG9Es8E,IAEAv9E,KAAK8N,QAAQub,aAAarpB,KAAKi6E,UAAW,EAAG,GAC7Cj6E,KAAKwR,OAAQ,IAIdxR,MAeXy9E,SAAU,SAAU15E,EAAGC,EAAGo5E,EAAKC,EAAOC,EAAMC,GAExC,OAAOv9E,KAAKq8E,WAAWt4E,EAAGC,EAAGo5E,EAAKC,EAAOC,EAAM,IAAKC,IAcxDG,SAAU,SAAU35E,EAAGC,EAAGixB,GAEjBA,IAEDA,EAAMzzB,EAAO2e,MAAM+7D,eAGvB,IAAItzE,KAAW7E,EAAKC,EAAIhE,KAAKpC,OAS7B,OAPAgL,GAAS,EAETqsB,EAAI/wB,EAAIlE,KAAKoU,KAAKxL,GAClBqsB,EAAIta,EAAI3a,KAAKoU,OAAOxL,GACpBqsB,EAAI9xB,EAAInD,KAAKoU,OAAOxL,GACpBqsB,EAAI/xB,EAAIlD,KAAKoU,OAAOxL,GAEbqsB,GAcXmnD,WAAY,SAAUr4E,EAAGC,GAErB,GAAID,GAAK,GAAKA,GAAK/D,KAAKpC,OAASoG,GAAK,GAAKA,GAAKhE,KAAKnC,OAEjD,OAAOmC,KAAKmpB,OAAOnlB,EAAIhE,KAAKpC,MAAQmG,IAiB5C45E,YAAa,SAAU55E,EAAGC,EAAGixB,EAAK2oD,EAAKC,GAEnC,OAAOr8E,EAAO2e,MAAMg8D,YAAYn8E,KAAKo8E,WAAWr4E,EAAGC,GAAIixB,EAAK2oD,EAAKC,IAUrEC,UAAW,SAAUljD,GAEjB,OAAO56B,KAAK8N,QAAQob,aAAa0R,EAAK72B,EAAG62B,EAAK52B,EAAG42B,EAAKh9B,MAAOg9B,EAAK/8B,SAkBtEkgF,cAAe,SAAUv5C,QAEHj+B,IAAdi+B,IAA2BA,EAAY,GAE3C,IAAIy3C,EAAQz6E,EAAO2e,MAAM+7D,cAErBn4E,EAAI,EACJC,EAAI,EACJw6C,EAAI,EACJw/B,GAAO,EAEO,IAAdx5C,GAEAga,GAAK,EACLx6C,EAAIhE,KAAKnC,QAEU,IAAd2mC,IAELga,GAAK,EACLz6C,EAAI/D,KAAKpC,OAGb,GAEI4D,EAAO2e,MAAMg8D,YAAYn8E,KAAKo8E,WAAWr4E,EAAGC,GAAIi4E,GAE9B,IAAdz3C,GAAiC,IAAdA,IAGnBzgC,IAEU/D,KAAKpC,QAEXmG,EAAI,IACJC,GAAKw6C,IAEIx+C,KAAKnC,QAAUmG,GAAK,KAEzBg6E,GAAO,IAII,IAAdx5C,GAAiC,IAAdA,KAGxBxgC,IAEUhE,KAAKnC,SAEXmG,EAAI,IACJD,GAAKy6C,IAEIx+C,KAAKpC,OAASmG,GAAK,KAExBi6E,GAAO,UAKJ,IAAZ/B,EAAM/4E,IAAY86E,GAKzB,OAHA/B,EAAMl4E,EAAIA,EACVk4E,EAAMj4E,EAAIA,EAEHi4E,GAWX/xE,UAAW,SAAU0wB,GAOjB,YALar0B,IAATq0B,IAAsBA,EAAO,IAAIp5B,EAAOS,WAE5C24B,EAAK72B,EAAI/D,KAAK+9E,cAAc,GAAGh6E,EAG3B62B,EAAK72B,IAAM/D,KAAKpC,MAETg9B,EAAKxF,MAAM,EAAG,EAAG,EAAG,IAG/BwF,EAAK52B,EAAIhE,KAAK+9E,cAAc,GAAG/5E,EAC/B42B,EAAKh9B,MAASoC,KAAK+9E,cAAc,GAAGh6E,EAAI62B,EAAK72B,EAAK,EAClD62B,EAAK/8B,OAAUmC,KAAK+9E,cAAc,GAAG/5E,EAAI42B,EAAK52B,EAAK,EAE5C42B,IAeXuT,WAAY,SAAUpqC,EAAGC,EAAGoqC,EAASC,EAASzpB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI5K,EAAQla,KAAK+C,KAAKk2B,IAAI/e,MAAMnW,EAAGC,EAAGhE,MAKtC,OAHAka,EAAMvT,OAAOQ,IAAIinC,EAASC,GAC1Bn0B,EAAMpZ,MAAMqG,IAAIyd,EAAQE,GAEjB5K,GAsCX8Z,KAAM,SAAU5kB,EAAQrL,EAAGC,EAAGpG,EAAOC,EAAQyF,EAAIC,EAAI06E,EAAUC,EAAW1lD,EAAQ4V,EAASC,EAASzpB,EAAQE,EAAQ7jB,EAAOgH,EAAW+5B,GAWlI,QATez7B,IAAX6I,GAAmC,OAAXA,IAAmBA,EAASpP,MAEpDoP,aAAkB5N,EAAOyD,gBAEzBmK,EAASA,EAAO+uE,aAGpBn+E,KAAKw6E,OAASprE,EAEVA,aAAkB5N,EAAOsE,QAAUsJ,aAAkB5N,EAAOiyE,OAASrkE,aAAkB5N,EAAOgzE,MAAQplE,aAAkB5Q,KAAKsH,OAG7H9F,KAAKy6E,KAAKtzE,IAAIiI,EAAOrR,QAAQ6P,KAAK7J,EAAGqL,EAAOrR,QAAQ6P,KAAK5J,GACzDhE,KAAK06E,MAAMvzE,IAAIiI,EAAOrR,QAAQ6P,KAAKhQ,MAAOwR,EAAOrR,QAAQ6P,KAAK/P,QAC9DmC,KAAK26E,OAAOxzE,IAAIiI,EAAOtO,MAAMiD,EAAGqL,EAAOtO,MAAMkD,GAC7ChE,KAAK+6E,QAAQ5zE,IAAIiI,EAAOzI,OAAO5C,EAAGqL,EAAOzI,OAAO3C,GAChDhE,KAAK46E,QAAUxrE,EAAOpO,SACtBhB,KAAK66E,OAAOlzC,QAAUv4B,EAAOnO,MAEzBmO,EAAOrR,mBAAmByD,EAAOyD,cAEjCjF,KAAKw6E,OAASprE,EAAOrR,QAAQogF,YAI7Bn+E,KAAKw6E,OAASprE,EAAOrR,QAAQqI,YAAYgJ,YAGlC7I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAK8L,EAAOrL,QACxCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAK6L,EAAOpL,GAE/CoL,EAAOrR,QAAQqQ,OAGf9K,GAAM8L,EAAOrR,QAAQqQ,KAAKrK,EAAIqL,EAAOzI,OAAO5C,EAAIqL,EAAOrR,QAAQqQ,KAAKxQ,MACpE2F,GAAM6L,EAAOrR,QAAQqQ,KAAKpK,EAAIoL,EAAOzI,OAAO3C,EAAIoL,EAAOrR,QAAQqQ,KAAKvQ,QAGpD,WAAhBuR,EAAOrC,OAEHqC,EAAOpC,aAAeoC,EAAOrC,OAE7BqC,EAAOpC,WAAaoC,EAAOrC,KAC3BqC,EAAOxI,cAAgBpI,KAAKuQ,aAAaC,iBAAiBI,EAAQA,EAAOrC,OAG7E/M,KAAKw6E,OAASprE,EAAOxI,cACrB5G,KAAKy6E,KAAKtzE,IAAI,QAItB,CAQI,GANAnH,KAAKy6E,KAAKtzE,IAAI,GACdnH,KAAK26E,OAAOxzE,IAAI,GAChBnH,KAAK+6E,QAAQ5zE,IAAI,GACjBnH,KAAK46E,QAAU,EACf56E,KAAK66E,OAAOlzC,QAAU,EAElBv4B,aAAkB5N,EAAOkwE,WAEzB1xE,KAAKw6E,OAASprE,EAAO8H,YAEpB,GAAsB,iBAAX9H,EAChB,CAGI,GAAe,QAFfA,EAASpP,KAAK+C,KAAKiX,MAAMk4D,SAAS9iE,IAI9B,OAAOpP,KAIPA,KAAKw6E,OAASprE,EAItBpP,KAAK06E,MAAMvzE,IAAInH,KAAKw6E,OAAO58E,MAAOoC,KAAKw6E,OAAO38E,QA6DlD,QAzDU0I,IAANxC,GAAyB,OAANA,IAAcA,EAAI,QAC/BwC,IAANvC,GAAyB,OAANA,IAAcA,EAAI,GAGrCpG,IAEAoC,KAAK06E,MAAM32E,EAAInG,GAGfC,IAEAmC,KAAK06E,MAAM12E,EAAInG,QAIR0I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAKS,QACjCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAKS,QAC3BuC,IAAb03E,GAAuC,OAAbA,IAAqBA,EAAWj+E,KAAK06E,MAAM32E,QACvDwC,IAAd23E,GAAyC,OAAdA,IAAsBA,EAAYl+E,KAAK06E,MAAM12E,GAGtD,iBAAXw0B,IAEPx4B,KAAK46E,QAAUpiD,GAII,iBAAZ4V,IAEPpuC,KAAK+6E,QAAQh3E,EAAIqqC,GAGE,iBAAZC,IAEPruC,KAAK+6E,QAAQ/2E,EAAIqqC,GAIC,iBAAXzpB,IAEP5kB,KAAK26E,OAAO52E,EAAI6gB,GAGE,iBAAXE,IAEP9kB,KAAK26E,OAAO32E,EAAI8gB,GAIC,iBAAV7jB,IAEPjB,KAAK66E,OAAOlzC,QAAU1mC,QAGRsF,IAAd0B,IAA2BA,EAAY,WAC3B1B,IAAZy7B,IAAyBA,GAAU,GAEnChiC,KAAK66E,OAAOlzC,SAAW,GAAuB,IAAlB3nC,KAAK26E,OAAO52E,GAA6B,IAAlB/D,KAAK26E,OAAO32E,GAA4B,IAAjBhE,KAAK06E,MAAM32E,GAA4B,IAAjB/D,KAAK06E,MAAM12E,EAG3G,OAAOhE,KAGX,IAAIg6E,EAAMh6E,KAAK8N,QAoCf,OAlCA9N,KAAK66E,OAAOC,KAAOd,EAAI/rE,YAEvB+rE,EAAI9xD,OAEJ8xD,EAAI/rE,YAAcjO,KAAK66E,OAAOlzC,QAE1B1/B,IAEAjI,KAAKo+E,GAAKn2E,GAGV+5B,IAEA1+B,GAAM,EACNC,GAAM,GAIVy2E,EAAIn+C,UAAUv4B,EAAIC,GAElBy2E,EAAIl5E,MAAMd,KAAK26E,OAAO52E,EAAG/D,KAAK26E,OAAO32E,GAErCg2E,EAAIxhD,OAAOx4B,KAAK46E,SAEhBZ,EAAI/qE,UAAUjP,KAAKw6E,OAAQx6E,KAAKy6E,KAAK12E,EAAIA,EAAG/D,KAAKy6E,KAAKz2E,EAAIA,EAAGhE,KAAK06E,MAAM32E,EAAG/D,KAAK06E,MAAM12E,GAAIi6E,EAAWj+E,KAAK+6E,QAAQh3E,GAAIm6E,EAAYl+E,KAAK+6E,QAAQ/2E,EAAGi6E,EAAUC,GAI5JlE,EAAIxxD,UAEJwxD,EAAI/rE,YAAcjO,KAAK66E,OAAOC,KAE9B96E,KAAKwR,OAAQ,EAENxR,MAgBXq+E,cAAe,SAAUjvE,EAAQnH,EAAW+5B,GAKxC,QAHkBz7B,IAAd0B,IAA2BA,EAAY,WAC3B1B,IAAZy7B,IAAyBA,GAAU,IAElC5yB,EAAOiiB,eAAe,oBAAsBjiB,EAAO/H,cAAsC,IAAtB+H,EAAO9N,WAE3E,OAAOtB,KAGX,IAAIyD,EAAK2L,EAAO7N,eAKhB,GAHAvB,KAAKy6E,KAAKtzE,IAAIiI,EAAOrR,QAAQ6P,KAAK7J,EAAGqL,EAAOrR,QAAQ6P,KAAK5J,GACzDhE,KAAK06E,MAAMvzE,IAAIiI,EAAOrR,QAAQ6P,KAAKhQ,MAAOwR,EAAOrR,QAAQ6P,KAAK/P,QAEjD,IAAT4F,EAAGP,GAAoB,IAATO,EAAGJ,GAA4B,IAAjBrD,KAAK06E,MAAM32E,GAA4B,IAAjB/D,KAAK06E,MAAM12E,EAG7D,OAAOhE,KAGPoP,EAAOrR,mBAAmByD,EAAOyD,cAEjCjF,KAAKw6E,OAASprE,EAAOrR,QAAQogF,YAI7Bn+E,KAAKw6E,OAASprE,EAAOrR,QAAQqI,YAAYgJ,OAG7C,IAAI9L,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAER6L,EAAOrR,QAAQqQ,OAGf9K,GAAM8L,EAAOrR,QAAQqQ,KAAKrK,EAAIqL,EAAOzI,OAAO5C,EAAIqL,EAAOrR,QAAQqQ,KAAKxQ,MACpE2F,GAAM6L,EAAOrR,QAAQqQ,KAAKpK,EAAIoL,EAAOzI,OAAO3C,EAAIoL,EAAOrR,QAAQqQ,KAAKvQ,QAGpD,WAAhBuR,EAAOrC,OAEHqC,EAAOpC,aAAeoC,EAAOrC,OAE7BqC,EAAOpC,WAAaoC,EAAOrC,KAC3BqC,EAAOxI,cAAgBpI,KAAKuQ,aAAaC,iBAAiBI,EAAQA,EAAOrC,OAG7E/M,KAAKw6E,OAASprE,EAAOxI,cACrB5G,KAAKy6E,KAAKtzE,IAAI,IAGd66B,IAEA1+B,GAAM,EACNC,GAAM,GAGV,IAAIy2E,EAAMh6E,KAAK8N,QAiCf,OA/BA9N,KAAK66E,OAAOC,KAAOd,EAAI/rE,YAEvB+rE,EAAI9xD,OAEJ8xD,EAAI/rE,YAAcjO,KAAK66E,OAAOlzC,QAE1B1/B,IAEAjI,KAAKo+E,GAAKn2E,GAGd+xE,EAAIh6E,KAAKkO,gBAAmBkB,EAAOrR,QAAQqI,YAAYtI,YAAcU,KAAKC,WAAWC,OAErFs7E,EAAInrE,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAE7Cy2E,EAAI/qE,UAAUjP,KAAKw6E,OACfx6E,KAAKy6E,KAAK12E,EACV/D,KAAKy6E,KAAKz2E,EACVhE,KAAK06E,MAAM32E,EACX/D,KAAK06E,MAAM12E,GACVhE,KAAK06E,MAAM32E,EAAIqL,EAAOzI,OAAO5C,GAC7B/D,KAAK06E,MAAM12E,EAAIoL,EAAOzI,OAAO3C,EAC9BhE,KAAK06E,MAAM32E,EACX/D,KAAK06E,MAAM12E,GAEfg2E,EAAIxxD,UAEJwxD,EAAI/rE,YAAcjO,KAAK66E,OAAOC,KAE9B96E,KAAKwR,OAAQ,EAENxR,MAgBXs+E,SAAU,SAAUlvE,EAAQ8vB,EAAMn7B,EAAGC,EAAG/C,EAAOgH,EAAW+5B,GAEtD,OAAOhiC,KAAKg0B,KAAK5kB,EAAQ8vB,EAAKn7B,EAAGm7B,EAAKl7B,EAAGk7B,EAAKthC,MAAOshC,EAAKrhC,OAAQkG,EAAGC,EAAGk7B,EAAKthC,MAAOshC,EAAKrhC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAOgH,EAAW+5B,IAwBtIu5C,KAAM,SAAUnsE,EAAQrL,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAW+5B,GAGpD,OAAOhiC,KAAKg0B,KAAK5kB,EAAQ,KAAM,KAAM,KAAM,KAAMrL,EAAGC,EAAGpG,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAMoK,EAAW+5B,IAuBzHu8C,UAAW,SAAUrkC,EAAOjyC,EAAW+5B,GAOnC,OALIkY,EAAMvB,MAAQ,GAEduB,EAAMjC,cAAcj4C,KAAKw+E,eAAgBx+E,KAAMiI,EAAW+5B,GAGvDhiC,MAYXw+E,eAAgB,SAAU91E,EAAOT,EAAW+5B,GAOxC,GALIt5B,EAAM2oB,eAAe,YAErBrxB,KAAKq+E,cAAc31E,EAAOT,EAAW+5B,GAGrCt5B,EAAM8K,OAAShS,EAAOirB,OAAS/jB,EAAMwE,OAErClN,KAAKu+E,UAAU71E,EAAOT,EAAW+5B,QAGrC,GAAIt5B,EAAM2oB,eAAe,aAAe3oB,EAAMjG,SAASE,OAAS,EAE5D,IAAK,IAAID,EAAI,EAAGA,EAAIgG,EAAMjG,SAASE,OAAQD,IAEnCgG,EAAMjG,SAASC,GAAGwK,QAElBlN,KAAKq+E,cAAc31E,EAAMjG,SAASC,GAAIuF,EAAW+5B,IA6BjEy8C,SAAU,SAAUp9E,EAAQ4G,EAAW+5B,GAEnC,IAA4B,IAAxB3gC,EAAOgG,cAAgD,IAAtBhG,EAAOC,YAAqBD,EAAOgwB,eAAe,YAA+B,IAAlBhwB,EAAO6L,OAEvG,OAAOlN,KAGX,GAAIqB,EAAOmS,OAAShS,EAAOirB,OAASprB,EAAOmS,OAAShS,EAAOqrB,SAAWxrB,EAAOmS,OAAShS,EAAOgrB,WAEzF,GAAInrB,EAAOmS,OAAShS,EAAO6qB,SAC3B,CACI,IAAIvnB,EAASzD,EAAO6I,YACpBlK,KAAKg6E,IAAI9xD,OACTloB,KAAKg6E,IAAIn+C,UAAU/2B,EAAOf,EAAGe,EAAOd,GACpCxF,KAAK6pB,eAAeq2D,eAAer9E,EAAQrB,KAAKg6E,KAChDh6E,KAAKg6E,IAAIxxD,eAITxoB,KAAKg0B,KAAK3yB,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOK,cAAcqC,EAAG1C,EAAOK,cAAcsC,EAAG,KAAM,KAAM3C,EAAOO,cAAe,KAAM,KAAMP,EAAOM,WAAWoC,EAAG1C,EAAOM,WAAWqC,EAAG3C,EAAOC,WAAY2G,EAAW+5B,GAIxN,GAAI3gC,EAAOoB,SAEP,IAAK,IAAIC,EAAI,EAAGA,EAAIrB,EAAOoB,SAASE,OAAQD,IAExC1C,KAAKy+E,SAASp9E,EAAOoB,SAASC,GAAIuF,EAAW+5B,GAIrD,OAAOhiC,MAeX2+E,OAAQ,SAAUtoE,EAAOuoE,EAAM76E,EAAGC,GAE9B,IAAIg2E,EAAMh6E,KAAK8N,QAcf,YAZcvH,IAAV8P,GAAiC,OAAVA,EAEvB2jE,EAAI6E,YAAc,iBAIlB7E,EAAI6E,YAAcxoE,EAClB2jE,EAAI8E,WAAuB,IAATF,EAAc,EAAIA,GAAQ,EAC5C5E,EAAI+E,cAAuB,IAANh7E,EAAW,EAAIA,GAAK,GACzCi2E,EAAIgF,cAAuB,IAANh7E,EAAW,EAAIA,GAAK,IAGtChE,MAaXi/E,UAAW,SAAU7vE,EAAQ7H,EAAM23E,EAAYC,GAoB3C,YAlBiB54E,IAAb44E,GAAuC,OAAbA,EAE1Bn/E,KAAKu7E,KAAKh0E,GAAM63E,kBAIhBp/E,KAAKu7E,KAAKh0E,EAAM43E,EAASp7E,EAAGo7E,EAASn7E,EAAGm7E,EAASvhF,MAAOuhF,EAASthF,QAAQuhF,uBAG1D74E,IAAf24E,GAA2C,OAAfA,EAE5Bl/E,KAAKu7E,KAAKnsE,GAAQiwE,aAIlBr/E,KAAKu7E,KAAKnsE,EAAQ8vE,EAAWn7E,EAAGm7E,EAAWl7E,EAAGk7E,EAAWthF,MAAOshF,EAAWrhF,QAAQwhF,aAGhFr/E,MAyBXs/E,QAAS,SAAUC,EAAar7E,EAAGyW,EAAGxX,EAAGD,EAAGiD,EAAQu2E,EAAIC,EAAItiD,GA2BxD,YAzBU9zB,IAANrD,IAAmBA,EAAI,UACZqD,IAAXJ,IAAwBA,GAAS,QAC1BI,IAAPm2E,IAAoBA,EAAKx4E,QAClBqC,IAAPo2E,IAAoBA,EAAKhiE,QAClBpU,IAAP8zB,IAAoBA,EAAKl3B,GAEzBgD,GAEAo5E,EAAYp5E,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAGxCmC,KAAKg8E,gBACD,SAAUC,EAAOl4E,EAAGC,GAMhB,OAJIi4E,EAAM/3E,IAAMA,GAAK+3E,EAAMthE,IAAMA,GAAKshE,EAAM94E,IAAMA,GAE9Co8E,EAAYlD,WAAWt4E,EAAGC,EAAG04E,EAAIC,EAAItiD,EAAIn3B,GAAG,IAEzC,GAEXlD,MAEJu/E,EAAYzxE,QAAQub,aAAak2D,EAAYtF,UAAW,EAAG,GAC3DsF,EAAY/tE,OAAQ,EAEb+tE,GAcX3kD,KAAM,SAAU72B,EAAGC,EAAGpG,EAAOC,EAAQ8qB,GASjC,YAPyB,IAAdA,IAEP3oB,KAAK8N,QAAQ6a,UAAYA,GAG7B3oB,KAAK8N,QAAQgb,SAAS/kB,EAAGC,EAAGpG,EAAOC,GAE5BmC,MAiBXu0E,KAAM,SAAUA,EAAMxwE,EAAGC,EAAGmxE,EAAM9+D,EAAOsoE,QAE3Bp4E,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACduC,IAAT4uE,IAAsBA,EAAO,qBACnB5uE,IAAV8P,IAAuBA,EAAQ,yBACpB9P,IAAXo4E,IAAwBA,GAAS,GAErC,IAAI3E,EAAMh6E,KAAK8N,QACX0xE,EAAWxF,EAAI7E,KAenB,OAbA6E,EAAI7E,KAAOA,EAEPwJ,IAEA3E,EAAIrxD,UAAY,aAChBqxD,EAAIyF,SAASlL,EAAMxwE,EAAI,EAAGC,EAAI,IAGlCg2E,EAAIrxD,UAAYtS,EAChB2jE,EAAIyF,SAASlL,EAAMxwE,EAAGC,GAEtBg2E,EAAI7E,KAAOqK,EAEJx/E,MAaXohD,OAAQ,SAAUr9C,EAAGC,EAAGmxB,EAAQxM,GAE5B,IAAIqxD,EAAMh6E,KAAK8N,QAaf,YAXkBvH,IAAdoiB,IAEAqxD,EAAIrxD,UAAYA,GAGpBqxD,EAAI0F,YACJ1F,EAAI2F,IAAI57E,EAAGC,EAAGmxB,EAAQ,EAAa,EAAVzxB,KAAKsxB,IAAQ,GACtCglD,EAAI4F,YAEJ5F,EAAItzB,OAEG1mD,MAeX04B,KAAM,SAAUptB,EAAIC,EAAIC,EAAIC,EAAI4K,EAAOzY,QAErB2I,IAAV8P,IAAuBA,EAAQ,aACrB9P,IAAV3I,IAAuBA,EAAQ,GAEnC,IAAIo8E,EAAMh6E,KAAK8N,QAaf,OAXAksE,EAAI0F,YAEJ1F,EAAI6F,OAAOv0E,EAAIC,GACfyuE,EAAI8F,OAAOt0E,EAAIC,GAEfuuE,EAAI+F,UAAYniF,EAChBo8E,EAAIgG,YAAc3pE,EAClB2jE,EAAIiG,SAEJjG,EAAI4F,YAEG5/E,MAaXkgF,QAAS,SAAU5hD,EAAQ3V,EAAWo3D,EAAWC,QAIzBz5E,IAAhBy5E,IAA6BA,EAAc,aAC7Bz5E,IAAdw5E,IAA2BA,EAAY,GAE3C,IAAI/F,EAAMh6E,KAAK8N,QAEX6a,IAEAqxD,EAAIrxD,UAAYA,GAGhBo3D,IAEA/F,EAAI+F,UAAYA,EAChB/F,EAAIgG,YAAcA,GAGtBhG,EAAI0F,YAEJ1F,EAAI6F,OAAOvhD,EAAO,GAAGv6B,EAAGu6B,EAAO,GAAGt6B,GAElC,IAAK,IAAItB,EAAI,EAAGouB,EAAMwN,EAAO37B,OAAQD,EAAIouB,EAAKpuB,IAC9C,CACI,IAAI0zB,EAAQkI,EAAO57B,GACnBs3E,EAAI8F,OAAO1pD,EAAMryB,EAAGqyB,EAAMpyB,GAQ9B,OALAg2E,EAAI4F,YAEAj3D,GAAaqxD,EAAItzB,OACjBq5B,GAAa/F,EAAIiG,SAEdjgF,MAYXmgF,YAAa,SAAUznD,EAAMxe,EAAOvF,GAIhC,QAFepO,IAAXoO,IAAwBA,EAAS,YAEhB,iBAAVuF,IAEPA,EAAQla,KAAK+C,KAAKiX,MAAMk4D,SAASh4D,IAFrC,CAUA,IAAItc,EAAQ86B,EAAK/1B,OAEF,cAAXgS,GAA0B/W,EAAQsc,EAAMtc,QAExCA,EAAQsc,EAAMtc,OAGlB,IAAIo8E,EAAMh6E,KAAK8N,QAgBf,OAdAksE,EAAIrxD,UAAYqxD,EAAIoG,cAAclmE,EAAOvF,GAEzC3U,KAAKm7E,QAAU,IAAI35E,EAAOmzB,OAAO+D,EAAKpsB,MAAMvI,EAAG20B,EAAKpsB,MAAMtI,EAAGkW,EAAMrc,QAEnEmC,KAAKm7E,QAAQxlD,mBAAmB+C,EAAK9C,MAAQ,oBAAoB,EAAO51B,KAAKy6E,MAE7ET,EAAI9xD,OACJ8xD,EAAIn+C,UAAU77B,KAAKy6E,KAAK12E,EAAG/D,KAAKy6E,KAAKz2E,GACrCg2E,EAAIxhD,OAAOE,EAAK9C,OAChBokD,EAAIlxD,SAAS,EAAG,EAAGlrB,EAAOsc,EAAMrc,QAChCm8E,EAAIxxD,UAEJxoB,KAAKwR,OAAQ,EAENxR,OAWXmF,OAAQ,WAQJ,OANKnF,KAAKs6E,sBAAwBt6E,KAAKwR,QAEnCxR,KAAKoG,YAAYoL,QACjBxR,KAAKwR,OAAQ,GAGVxR,MAQXwC,QAAS,WAELxC,KAAK8xE,UAAUtvE,UAEfxC,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOqF,WAAWsV,OAAOnc,OAS7Bq/E,WAAY,WAGR,OADAr/E,KAAKo+E,GAAK,cACHp+E,MASXqgF,gBAAiB,WAGb,OADArgF,KAAKo+E,GAAK,cACHp+E,MASXsgF,cAAe,WAGX,OADAtgF,KAAKo+E,GAAK,YACHp+E,MASXugF,eAAgB,WAGZ,OADAvgF,KAAKo+E,GAAK,aACHp+E,MASXo/E,gBAAiB,WAGb,OADAp/E,KAAKo+E,GAAK,cACHp+E,MASXwgF,qBAAsB,WAGlB,OADAxgF,KAAKo+E,GAAK,mBACHp+E,MASXygF,mBAAoB,WAGhB,OADAzgF,KAAKo+E,GAAK,iBACHp+E,MASX0gF,oBAAqB,WAGjB,OADA1gF,KAAKo+E,GAAK,kBACHp+E,MASX2gF,qBAAsB,WAGlB,OADA3gF,KAAKo+E,GAAK,mBACHp+E,MASX4gF,SAAU,WAGN,OADA5gF,KAAKo+E,GAAK,MACHp+E,MASX6gF,SAAU,WAGN,OADA7gF,KAAKo+E,GAAK,UACHp+E,MASX8gF,cAAe,WAGX,OADA9gF,KAAKo+E,GAAK,WACHp+E,MASX+gF,YAAa,WAGT,OADA/gF,KAAKo+E,GAAK,SACHp+E,MASXghF,aAAc,WAGV,OADAhhF,KAAKo+E,GAAK,UACHp+E,MASXihF,YAAa,WAGT,OADAjhF,KAAKo+E,GAAK,SACHp+E,MASXkhF,aAAc,WAGV,OADAlhF,KAAKo+E,GAAK,UACHp+E,MASXmhF,gBAAiB,WAGb,OADAnhF,KAAKo+E,GAAK,cACHp+E,MASXohF,eAAgB,WAGZ,OADAphF,KAAKo+E,GAAK,aACHp+E,MASXqhF,eAAgB,WAGZ,OADArhF,KAAKo+E,GAAK,aACHp+E,MASXshF,eAAgB,WAGZ,OADAthF,KAAKo+E,GAAK,aACHp+E,MASXuhF,gBAAiB,WAGb,OADAvhF,KAAKo+E,GAAK,aACHp+E,MASXwhF,eAAgB,WAGZ,OADAxhF,KAAKo+E,GAAK,YACHp+E,MASXyhF,SAAU,WAGN,OADAzhF,KAAKo+E,GAAK,MACHp+E,MASX0hF,gBAAiB,WAGb,OADA1hF,KAAKo+E,GAAK,aACHp+E,MASX2hF,WAAY,WAGR,OADA3hF,KAAKo+E,GAAK,QACHp+E,MASX4hF,gBAAiB,WAGb,OADA5hF,KAAKo+E,GAAK,aACHp+E,MAeX6hF,eAAgB,SAAUzyE,EAAQrL,EAAGC,GAEjCoL,EAAO01B,SACP,IAAK,IAAWg9C,EAAPp/E,EAAI,EAAiBA,EAAI0M,EAAOvR,OAAQ6E,IACjD,CACIo/E,GAAgB99E,EAAItB,GAAK1C,KAAKpC,MAAQmG,EACtC,IAAK,IAAI8D,EAAI,EAAGA,EAAIuH,EAAOxR,MAAOiK,IAE9B7H,KAAKmpB,OAAO24D,EAAej6E,GAAKuH,EAAO+Z,OAAOzmB,EAAI0M,EAAOxR,MAAQiK,GAGzE,OAAO7H,OASfgH,OAAOyF,eAAejL,EAAOkwE,WAAWpvE,UAAW,YAE/C4E,IAAK,WAED,OAAO1F,EAAOioB,OAAOs4D,oBAAoB/hF,KAAK8N,UAGlD3G,IAAK,SAAUC,GAEX5F,EAAOioB,OAAOu4D,oBAAoBhiF,KAAK8N,QAAS1G,MASxDJ,OAAOyF,eAAejL,EAAOkwE,WAAWpvE,UAAW,MAE/C4E,IAAK,WAED,OAAOlH,KAAK8N,QAAQC,0BAGxB5G,IAAK,SAAUC,GAEXpH,KAAK8N,QAAQC,yBAA2B3G,KAiBhD5F,EAAOkwE,WAAWuQ,aAAe,SAAUC,EAAYC,EAAYv9D,EAAQE,EAAQs9D,EAAOC,GAStF,MAP0B,iBAAfH,IAA2BA,EAAa,GACzB,iBAAfC,IAA2BA,EAAa,GAC7B,iBAAXv9D,IAAuBA,EAAS,GACrB,iBAAXE,IAAuBA,EAAS,GACtB,iBAAVs9D,IAAsBA,EAAQ,GACpB,iBAAVC,IAAsBA,EAAQ,IAEhCxoD,GAAIjV,EAAQkV,GAAIhV,EAAQF,OAAQA,EAAQE,OAAQA,EAAQs9D,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAY7+E,GAAI4+E,EAAY3+E,GAAI4+E,IAGrK3gF,EAAOkwE,WAAWpvE,UAAUC,YAAcf,EAAOkwE,WAuBjDlwE,EAAO8gF,UAEP9gF,EAAO8gF,OAAOC,YAAc,SAAUnuE,EAAMouE,EAAaC,GAErDA,EAAMA,GAAO,EAEb,IAAIC,EAAWF,GAAeA,EAAY7/E,OACtCggF,EAAWD,EAAWF,EAAY,GAAKC,EAAMruE,EAAKzR,OAClDigF,EAAYphF,EAAO8gF,OAAOO,WAAWzuE,EAAM,EAAGuuE,EAAUF,GAAK,GAC7DK,KAEJ,IAAKF,EAAa,OAAOE,EAEzB,IAAIl4E,EAAME,EAAMC,EAAMC,EAAMjH,EAAGC,EAAG8d,EAKlC,GAHI4gE,IAAYE,EAAYphF,EAAO8gF,OAAOS,eAAe3uE,EAAMouE,EAAaI,EAAWH,IAGnFruE,EAAKzR,OAAS,GAAK8/E,EACvB,CACI73E,EAAOG,EAAOqJ,EAAK,GACnBtJ,EAAOE,EAAOoJ,EAAK,GAEnB,IAAK,IAAI1R,EAAI+/E,EAAK//E,EAAIigF,EAAUjgF,GAAK+/E,EAEjC1+E,EAAIqQ,EAAK1R,GACTsB,EAAIoQ,EAAK1R,EAAI,GACTqB,EAAI6G,IAAQA,EAAO7G,GACnBC,EAAI8G,IAAQA,EAAO9G,GACnBD,EAAIgH,IAAQA,EAAOhH,GACnBC,EAAIgH,IAAQA,EAAOhH,GAI3B8d,EAAOpe,KAAKuC,IAAI8E,EAAOH,EAAMI,EAAOF,GAKxC,OAFAtJ,EAAO8gF,OAAOU,aAAaJ,EAAWE,EAAWL,EAAK73E,EAAME,EAAMgX,GAE3DghE,GAKXthF,EAAO8gF,OAAOO,WAAa,SAAUzuE,EAAM9H,EAAO+O,EAAKonE,EAAKQ,GAExD,IACIvgF,EAAGmF,EAAGq7E,EADNC,EAAM,EAIV,IAAKzgF,EAAI4J,EAAOzE,EAAIwT,EAAMonE,EAAK//E,EAAI2Y,EAAK3Y,GAAK+/E,EAEzCU,IAAQ/uE,EAAKvM,GAAKuM,EAAK1R,KAAO0R,EAAK1R,EAAI,GAAK0R,EAAKvM,EAAI,IACrDA,EAAInF,EAIR,GAAIugF,IAAeE,EAAM,EAErB,IAAKzgF,EAAI4J,EAAO5J,EAAI2Y,EAAK3Y,GAAK+/E,EAAOS,EAAO1hF,EAAO8gF,OAAOc,WAAW1gF,EAAG0R,EAAK1R,GAAI0R,EAAK1R,EAAI,GAAIwgF,QAI9F,IAAKxgF,EAAI2Y,EAAMonE,EAAK//E,GAAK4J,EAAO5J,GAAK+/E,EAAOS,EAAO1hF,EAAO8gF,OAAOc,WAAW1gF,EAAG0R,EAAK1R,GAAI0R,EAAK1R,EAAI,GAAIwgF,GAGzG,OAAOA,GAKX1hF,EAAO8gF,OAAOe,aAAe,SAAU/2E,EAAO+O,GAE1C,IAAK/O,EAAS,OAAOA,EAChB+O,IAAOA,EAAM/O,GAElB,IACIg3E,EADAtgF,EAAIsJ,EAER,GAII,GAFAg3E,GAAQ,EAEHtgF,EAAEugF,UAAY/hF,EAAO8gF,OAAO/rD,OAAOvzB,EAAGA,EAAEmyC,OAAmD,IAA1C3zC,EAAO8gF,OAAOpjD,KAAKl8B,EAAE83E,KAAM93E,EAAGA,EAAEmyC,MASlFnyC,EAAIA,EAAEmyC,SARV,CAGI,GAFA3zC,EAAO8gF,OAAOkB,WAAWxgF,IACzBA,EAAIqY,EAAMrY,EAAE83E,QACF93E,EAAEmyC,KAAQ,OAAO,KAC3BmuC,GAAQ,SAMPA,GAAStgF,IAAMqY,GAExB,OAAOA,GAKX7Z,EAAO8gF,OAAOU,aAAe,SAAUS,EAAKX,EAAWL,EAAK73E,EAAME,EAAMgX,EAAM4hE,GAE1E,GAAKD,EAAL,EAGKC,GAAQ5hE,GAAQtgB,EAAO8gF,OAAOqB,WAAWF,EAAK74E,EAAME,EAAMgX,GAM/D,IAJA,IACIg5D,EAAM3lC,EADNhpC,EAAOs3E,EAIJA,EAAI3I,OAAS2I,EAAItuC,MAKpB,GAHA2lC,EAAO2I,EAAI3I,KACX3lC,EAAOsuC,EAAItuC,KAEPrzB,EAAOtgB,EAAO8gF,OAAOsB,YAAYH,EAAK74E,EAAME,EAAMgX,GAAQtgB,EAAO8gF,OAAOuB,MAAMJ,GAG9EX,EAAUh7E,KAAKgzE,EAAKp4E,EAAI+/E,GACxBK,EAAUh7E,KAAK27E,EAAI/gF,EAAI+/E,GACvBK,EAAUh7E,KAAKqtC,EAAKzyC,EAAI+/E,GAExBjhF,EAAO8gF,OAAOkB,WAAWC,GAGzBA,EAAMtuC,EAAKA,KACXhpC,EAAOgpC,EAAKA,UAQhB,IAHAsuC,EAAMtuC,KAGMhpC,EACZ,CAESu3E,EAMa,IAATA,GAELD,EAAMjiF,EAAO8gF,OAAOwB,uBAAuBL,EAAKX,EAAWL,GAC3DjhF,EAAO8gF,OAAOU,aAAaS,EAAKX,EAAWL,EAAK73E,EAAME,EAAMgX,EAAM,IAIpD,IAAT4hE,GAELliF,EAAO8gF,OAAOyB,YAAYN,EAAKX,EAAWL,EAAK73E,EAAME,EAAMgX,GAb3DtgB,EAAO8gF,OAAOU,aAAaxhF,EAAO8gF,OAAOe,aAAaI,GAAMX,EAAWL,EAAK73E,EAAME,EAAMgX,EAAM,GAgBlG,SAOZtgB,EAAO8gF,OAAOuB,MAAQ,SAAUJ,GAE5B,IAAIvgF,EAAIugF,EAAI3I,KACR33E,EAAIsgF,EACJrgF,EAAIqgF,EAAItuC,KAEZ,GAAI3zC,EAAO8gF,OAAOpjD,KAAKh8B,EAAGC,EAAGC,IAAM,EAAK,OAAO,EAK/C,IAFA,IAAIJ,EAAIygF,EAAItuC,KAAKA,KAEVnyC,IAAMygF,EAAI3I,MACjB,CACI,GAAIt5E,EAAO8gF,OAAO0B,gBAAgB9gF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAO8gF,OAAOpjD,KAAKl8B,EAAE83E,KAAM93E,EAAGA,EAAEmyC,OAAS,EAAK,OAAO,EACzDnyC,EAAIA,EAAEmyC,KAGV,OAAO,GAGX3zC,EAAO8gF,OAAOsB,YAAc,SAAUH,EAAK74E,EAAME,EAAMgX,GAEnD,IAAI5e,EAAIugF,EAAI3I,KACR33E,EAAIsgF,EACJrgF,EAAIqgF,EAAItuC,KAEZ,GAAI3zC,EAAO8gF,OAAOpjD,KAAKh8B,EAAGC,EAAGC,IAAM,EAAK,OAAO,EAe/C,IAZA,IAAI6gF,EAAQ/gF,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnEmgF,EAAQhhF,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EACnEmgF,EAAQjhF,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnEqgF,EAAQlhF,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EAGnEqgF,EAAO7iF,EAAO8gF,OAAOgC,OAAOL,EAAOC,EAAOt5E,EAAME,EAAMgX,GACtDyiE,EAAO/iF,EAAO8gF,OAAOgC,OAAOH,EAAOC,EAAOx5E,EAAME,EAAMgX,GAGtD9e,EAAIygF,EAAIe,MAELxhF,GAAKA,EAAEoS,GAAKmvE,GACnB,CACI,GAAIvhF,IAAMygF,EAAI3I,MAAQ93E,IAAMygF,EAAItuC,MAC5B3zC,EAAO8gF,OAAO0B,gBAAgB9gF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAO8gF,OAAOpjD,KAAKl8B,EAAE83E,KAAM93E,EAAGA,EAAEmyC,OAAS,EAAK,OAAO,EACzDnyC,EAAIA,EAAEwhF,MAMV,IAFAxhF,EAAIygF,EAAIgB,MAEDzhF,GAAKA,EAAEoS,GAAKivE,GACnB,CACI,GAAIrhF,IAAMygF,EAAI3I,MAAQ93E,IAAMygF,EAAItuC,MAC5B3zC,EAAO8gF,OAAO0B,gBAAgB9gF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAO8gF,OAAOpjD,KAAKl8B,EAAE83E,KAAM93E,EAAGA,EAAEmyC,OAAS,EAAK,OAAO,EACzDnyC,EAAIA,EAAEyhF,MAGV,OAAO,GAKXjjF,EAAO8gF,OAAOwB,uBAAyB,SAAUx3E,EAAOw2E,EAAWL,GAE/D,IAAIz/E,EAAIsJ,EACR,EACA,CACI,IAAIpJ,EAAIF,EAAE83E,KACN33E,EAAIH,EAAEmyC,KAAKA,KAGX3zC,EAAO8gF,OAAO9rD,WAAWtzB,EAAGF,EAAGA,EAAEmyC,KAAMhyC,IAAM3B,EAAO8gF,OAAOoC,cAAcxhF,EAAGC,IAAM3B,EAAO8gF,OAAOoC,cAAcvhF,EAAGD,KAEjH4/E,EAAUh7E,KAAK5E,EAAER,EAAI+/E,GACrBK,EAAUh7E,KAAK9E,EAAEN,EAAI+/E,GACrBK,EAAUh7E,KAAK3E,EAAET,EAAI+/E,GAGrBjhF,EAAO8gF,OAAOkB,WAAWxgF,GACzBxB,EAAO8gF,OAAOkB,WAAWxgF,EAAEmyC,MAE3BnyC,EAAIsJ,EAAQnJ,GAEhBH,EAAIA,EAAEmyC,WACDnyC,IAAMsJ,GAEf,OAAOtJ,GAKXxB,EAAO8gF,OAAOyB,YAAc,SAAUz3E,EAAOw2E,EAAWL,EAAK73E,EAAME,EAAMgX,GAGrE,IAAI5e,EAAIoJ,EACR,EACA,CAEI,IADA,IAAInJ,EAAID,EAAEiyC,KAAKA,KACRhyC,IAAMD,EAAE43E,MACf,CACI,GAAI53E,EAAER,IAAMS,EAAET,GAAKlB,EAAO8gF,OAAOqC,gBAAgBzhF,EAAGC,GACpD,CAEI,IAAIC,EAAI5B,EAAO8gF,OAAOsC,aAAa1hF,EAAGC,GAStC,OANAD,EAAI1B,EAAO8gF,OAAOe,aAAangF,EAAGA,EAAEiyC,MACpC/xC,EAAI5B,EAAO8gF,OAAOe,aAAajgF,EAAGA,EAAE+xC,MAGpC3zC,EAAO8gF,OAAOU,aAAa9/E,EAAG4/E,EAAWL,EAAK73E,EAAME,EAAMgX,QAC1DtgB,EAAO8gF,OAAOU,aAAa5/E,EAAG0/E,EAAWL,EAAK73E,EAAME,EAAMgX,GAG9D3e,EAAIA,EAAEgyC,KAEVjyC,EAAIA,EAAEiyC,WACDjyC,IAAMoJ,IAKnB9K,EAAO8gF,OAAOS,eAAiB,SAAU3uE,EAAMouE,EAAaI,EAAWH,GAEnE,IACI//E,EAAGouB,EAAKxkB,EAAO+O,EAAKw+B,EADpBgrC,KAGJ,IAAKniF,EAAI,EAAGouB,EAAM0xD,EAAY7/E,OAAQD,EAAIouB,EAAKpuB,IAE3C4J,EAAQk2E,EAAY9/E,GAAK+/E,EACzBpnE,EAAM3Y,EAAIouB,EAAM,EAAI0xD,EAAY9/E,EAAI,GAAK+/E,EAAMruE,EAAKzR,QACpDk3C,EAAOr4C,EAAO8gF,OAAOO,WAAWzuE,EAAM9H,EAAO+O,EAAKonE,GAAK,MAC1C5oC,EAAK1E,OAAQ0E,EAAK0pC,SAAU,GACzCsB,EAAM/8E,KAAKtG,EAAO8gF,OAAOwC,YAAYjrC,IAMzC,IAHAgrC,EAAM9lD,KAAKv9B,EAAO8gF,OAAOyC,UAGpBriF,EAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAE1BlB,EAAO8gF,OAAO0C,cAAcH,EAAMniF,GAAIkgF,GACtCA,EAAYphF,EAAO8gF,OAAOe,aAAaT,EAAWA,EAAUztC,MAGhE,OAAOytC,GAGXphF,EAAO8gF,OAAOyC,SAAW,SAAU7hF,EAAGC,GAElC,OAAOD,EAAEa,EAAIZ,EAAEY,GAKnBvC,EAAO8gF,OAAO0C,cAAgB,SAAUC,EAAMrC,GAG1C,GADAA,EAAYphF,EAAO8gF,OAAO4C,eAAeD,EAAMrC,GAE/C,CACI,IAAIz/E,EAAI3B,EAAO8gF,OAAOsC,aAAahC,EAAWqC,GAC9CzjF,EAAO8gF,OAAOe,aAAalgF,EAAGA,EAAEgyC,QAMxC3zC,EAAO8gF,OAAO4C,eAAiB,SAAUD,EAAMrC,GAE3C,IAIIxrD,EAJAp0B,EAAI4/E,EACJuC,EAAKF,EAAKlhF,EACVqhF,EAAKH,EAAKjhF,EACVqhF,GAAMx6E,EAAAA,EAOV,EACA,CACI,GAAIu6E,GAAMpiF,EAAEgB,GAAKohF,GAAMpiF,EAAEmyC,KAAKnxC,EAC9B,CACI,IAAID,EAAIf,EAAEe,GAAKqhF,EAAKpiF,EAAEgB,IAAMhB,EAAEmyC,KAAKpxC,EAAIf,EAAEe,IAAMf,EAAEmyC,KAAKnxC,EAAIhB,EAAEgB,GACxDD,GAAKohF,GAAMphF,EAAIshF,IAEfA,EAAKthF,EACLqzB,EAAIp0B,EAAEe,EAAIf,EAAEmyC,KAAKpxC,EAAIf,EAAIA,EAAEmyC,MAGnCnyC,EAAIA,EAAEmyC,WACDnyC,IAAM4/E,GAEf,IAAKxrD,EAAK,OAAO,KAEjB,GAAI6tD,EAAKlhF,IAAMqzB,EAAErzB,EAAK,OAAOqzB,EAAE0jD,KAQ/B,IAEIwK,EAFAn5E,EAAOirB,EACPmuD,EAAS16E,EAAAA,EAKb,IAFA7H,EAAIo0B,EAAE+d,KAECnyC,IAAMmJ,GAELg5E,GAAMniF,EAAEe,GAAKf,EAAEe,GAAKqzB,EAAErzB,GACtBvC,EAAO8gF,OAAO0B,gBAAgBoB,EAAKhuD,EAAEpzB,EAAImhF,EAAKE,EAAID,EAAIhuD,EAAErzB,EAAGqzB,EAAEpzB,EAAGohF,EAAKhuD,EAAEpzB,EAAIqhF,EAAKF,EAAIC,EAAIpiF,EAAEe,EAAGf,EAAEgB,MAE/FshF,EAAM5hF,KAAKizB,IAAIyuD,EAAKpiF,EAAEgB,IAAMmhF,EAAKniF,EAAEe,IAExBwhF,GAAWD,IAAQC,GAAUviF,EAAEe,EAAIqzB,EAAErzB,IAAOvC,EAAO8gF,OAAOoC,cAAc1hF,EAAGiiF,KAElF7tD,EAAIp0B,EACJuiF,EAASD,GAIjBtiF,EAAIA,EAAEmyC,KAGV,OAAO/d,GAKX51B,EAAO8gF,OAAOqB,WAAa,SAAUr3E,EAAO1B,EAAME,EAAMgX,GAEpD,IAAI9e,EAAIsJ,EACR,GAEgB,OAARtJ,EAAEoS,IAAcpS,EAAEoS,EAAI5T,EAAO8gF,OAAOgC,OAAOthF,EAAEe,EAAGf,EAAEgB,EAAG4G,EAAME,EAAMgX,IACrE9e,EAAEyhF,MAAQzhF,EAAE83E,KACZ93E,EAAEwhF,MAAQxhF,EAAEmyC,KACZnyC,EAAIA,EAAEmyC,WACDnyC,IAAMsJ,GAEftJ,EAAEyhF,MAAMD,MAAQ,KAChBxhF,EAAEyhF,MAAQ,KAEVjjF,EAAO8gF,OAAOkD,WAAWxiF,IAQ7BxB,EAAO8gF,OAAOkD,WAAa,SAAU3rC,GAEjC,IAAIn3C,EAAGM,EAAGyiF,EAAG92E,EAAG+2E,EAAMC,EAAWC,EAAOC,EACpCC,EAAS,EAEb,EACA,CAMI,IALA9iF,EAAI62C,EACJA,EAAO,KACP6rC,EAAO,KACPC,EAAY,EAEL3iF,GACP,CAII,IAHA2iF,IACAF,EAAIziF,EACJ4iF,EAAQ,EACHljF,EAAI,EAAGA,EAAIojF,IAEZF,IACAH,EAAIA,EAAEjB,OAHc9hF,KASxB,IAFAmjF,EAAQC,EAEDF,EAAQ,GAAMC,EAAQ,GAAKJ,GAEhB,IAAVG,GAEAj3E,EAAI82E,EACJA,EAAIA,EAAEjB,MACNqB,KAEe,IAAVA,GAAgBJ,EAMhBziF,EAAEoS,GAAKqwE,EAAErwE,GAEdzG,EAAI3L,EACJA,EAAIA,EAAEwhF,MACNoB,MAIAj3E,EAAI82E,EACJA,EAAIA,EAAEjB,MACNqB,MAdAl3E,EAAI3L,EACJA,EAAIA,EAAEwhF,MACNoB,KAeAF,EAAQA,EAAKlB,MAAQ71E,EAClBkrC,EAAOlrC,EAEdA,EAAE81E,MAAQiB,EACVA,EAAO/2E,EAGX3L,EAAIyiF,EAGRC,EAAKlB,MAAQ,KACbsB,GAAU,QACLH,EAAY,GAErB,OAAO9rC,GAKXr4C,EAAO8gF,OAAOgC,OAAS,SAAUvgF,EAAGC,EAAG4G,EAAME,EAAMgX,GAgB/C,OAbA/d,EAAI,OAASA,EAAI6G,GAAQkX,EACzB9d,EAAI,OAASA,EAAI8G,GAAQgX,EAEzB/d,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,GAKrBxC,EAAO8gF,OAAOwC,YAAc,SAAUx4E,GAElC,IAAItJ,EAAIsJ,EACJy5E,EAAWz5E,EACf,GAEQtJ,EAAEe,EAAIgiF,EAAShiF,IAAKgiF,EAAW/iF,GACnCA,EAAIA,EAAEmyC,WACDnyC,IAAMsJ,GAEf,OAAOy5E,GAKXvkF,EAAO8gF,OAAO0B,gBAAkB,SAAUgC,EAAIC,EAAIC,EAAIC,EAAIj3E,EAAIC,EAAI+jB,EAAI6jC,GAElE,OAAQ7nD,EAAKgkB,IAAO+yD,EAAKlvB,IAAOivB,EAAK9yD,IAAO/jB,EAAK4nD,IAAO,IACnDivB,EAAK9yD,IAAOizD,EAAKpvB,IAAOmvB,EAAKhzD,IAAO+yD,EAAKlvB,IAAO,IAChDmvB,EAAKhzD,IAAO/jB,EAAK4nD,IAAO7nD,EAAKgkB,IAAOizD,EAAKpvB,IAAO,GAKzDv1D,EAAO8gF,OAAOqC,gBAAkB,SAAUzhF,EAAGC,GAEzC,OAAO3B,EAAO8gF,OAAO/rD,OAAOrzB,EAAGC,IAAMD,EAAEiyC,KAAKzyC,IAAMS,EAAET,GAAKQ,EAAE43E,KAAKp4E,IAAMS,EAAET,IAAMlB,EAAO8gF,OAAO8D,kBAAkBljF,EAAGC,IAC7G3B,EAAO8gF,OAAOoC,cAAcxhF,EAAGC,IAAM3B,EAAO8gF,OAAOoC,cAAcvhF,EAAGD,IAAM1B,EAAO8gF,OAAO+D,aAAanjF,EAAGC,IAKhH3B,EAAO8gF,OAAOpjD,KAAO,SAAUl8B,EAAGyiF,EAAGvhF,GAEjC,OAAQuhF,EAAEzhF,EAAIhB,EAAEgB,IAAME,EAAEH,EAAI0hF,EAAE1hF,IAAM0hF,EAAE1hF,EAAIf,EAAEe,IAAMG,EAAEF,EAAIyhF,EAAEzhF,IAK9DxC,EAAO8gF,OAAO/rD,OAAS,SAAUiB,EAAIwI,GAEjC,OAAOxI,EAAGzzB,IAAMi8B,EAAGj8B,GAAKyzB,EAAGxzB,IAAMg8B,EAAGh8B,GAKxCxC,EAAO8gF,OAAO9rD,WAAa,SAAUgB,EAAI8uD,EAAItmD,EAAIumD,GAE7C,OAAO/kF,EAAO8gF,OAAOpjD,KAAK1H,EAAI8uD,EAAItmD,GAAM,GAAMx+B,EAAO8gF,OAAOpjD,KAAK1H,EAAI8uD,EAAIC,GAAM,GAC3E/kF,EAAO8gF,OAAOpjD,KAAKc,EAAIumD,EAAI/uD,GAAM,GAAMh2B,EAAO8gF,OAAOpjD,KAAKc,EAAIumD,EAAID,GAAM,GAKhF9kF,EAAO8gF,OAAO8D,kBAAoB,SAAUljF,EAAGC,GAE3C,IAAIH,EAAIE,EACR,EACA,CACI,GAAIF,EAAEN,IAAMQ,EAAER,GAAKM,EAAEmyC,KAAKzyC,IAAMQ,EAAER,GAAKM,EAAEN,IAAMS,EAAET,GAAKM,EAAEmyC,KAAKzyC,IAAMS,EAAET,GACjElB,EAAO8gF,OAAO9rD,WAAWxzB,EAAGA,EAAEmyC,KAAMjyC,EAAGC,GAAM,OAAO,EACxDH,EAAIA,EAAEmyC,WACDnyC,IAAME,GAEf,OAAO,GAKX1B,EAAO8gF,OAAOoC,cAAgB,SAAUxhF,EAAGC,GAEvC,OAAO3B,EAAO8gF,OAAOpjD,KAAKh8B,EAAE43E,KAAM53E,EAAGA,EAAEiyC,MAAQ,EAC3C3zC,EAAO8gF,OAAOpjD,KAAKh8B,EAAGC,EAAGD,EAAEiyC,OAAS,GAAK3zC,EAAO8gF,OAAOpjD,KAAKh8B,EAAGA,EAAE43E,KAAM33E,IAAM,EAC7E3B,EAAO8gF,OAAOpjD,KAAKh8B,EAAGC,EAAGD,EAAE43E,MAAQ,GAAKt5E,EAAO8gF,OAAOpjD,KAAKh8B,EAAGA,EAAEiyC,KAAMhyC,GAAK,GAKnF3B,EAAO8gF,OAAO+D,aAAe,SAAUnjF,EAAGC,GAEtC,IAAIH,EAAIE,EACJs8B,GAAS,EACTtM,GAAMhwB,EAAEa,EAAIZ,EAAEY,GAAK,EACnBgzD,GAAM7zD,EAAEc,EAAIb,EAAEa,GAAK,EACvB,GAEUhB,EAAEgB,EAAI+yD,GAAS/zD,EAAEmyC,KAAKnxC,EAAI+yD,GAAS7jC,GAAMlwB,EAAEmyC,KAAKpxC,EAAIf,EAAEe,IAAMgzD,EAAK/zD,EAAEgB,IAAMhB,EAAEmyC,KAAKnxC,EAAIhB,EAAEgB,GAAKhB,EAAEe,IACjGy7B,GAAUA,GACZx8B,EAAIA,EAAEmyC,WACDnyC,IAAME,GAEf,OAAOs8B,GAQXh+B,EAAO8gF,OAAOsC,aAAe,SAAU1hF,EAAGC,GAEtC,IAAIg3B,EAAK,IAAI34B,EAAO8gF,OAAOkE,KAAKtjF,EAAER,EAAGQ,EAAEa,EAAGb,EAAEc,GACxCq2B,EAAK,IAAI74B,EAAO8gF,OAAOkE,KAAKrjF,EAAET,EAAGS,EAAEY,EAAGZ,EAAEa,GACxCyiF,EAAKvjF,EAAEiyC,KACPuxC,EAAKvjF,EAAE23E,KAcX,OAZA53E,EAAEiyC,KAAOhyC,EACTA,EAAE23E,KAAO53E,EAETi3B,EAAGgb,KAAOsxC,EACVA,EAAG3L,KAAO3gD,EAEVE,EAAG8a,KAAOhb,EACVA,EAAG2gD,KAAOzgD,EAEVqsD,EAAGvxC,KAAO9a,EACVA,EAAGygD,KAAO4L,EAEHrsD,GAKX74B,EAAO8gF,OAAOc,WAAa,SAAU1gF,EAAGqB,EAAGC,EAAGk/E,GAE1C,IAAIlgF,EAAI,IAAIxB,EAAO8gF,OAAOkE,KAAK9jF,EAAGqB,EAAGC,GAcrC,OAZKk/E,GAODlgF,EAAEmyC,KAAO+tC,EAAK/tC,KACdnyC,EAAE83E,KAAOoI,EACTA,EAAK/tC,KAAK2lC,KAAO93E,EACjBkgF,EAAK/tC,KAAOnyC,IARZA,EAAE83E,KAAO93E,EACTA,EAAEmyC,KAAOnyC,GASNA,GAGXxB,EAAO8gF,OAAOkB,WAAa,SAAUxgF,GAEjCA,EAAEmyC,KAAK2lC,KAAO93E,EAAE83E,KAChB93E,EAAE83E,KAAK3lC,KAAOnyC,EAAEmyC,KAEZnyC,EAAEyhF,QAASzhF,EAAEyhF,MAAMD,MAAQxhF,EAAEwhF,OAC7BxhF,EAAEwhF,QAASxhF,EAAEwhF,MAAMC,MAAQzhF,EAAEyhF,QAGrCjjF,EAAO8gF,OAAOkE,KAAO,SAAU9jF,EAAGqB,EAAGC,GAGjChE,KAAK0C,EAAIA,EAGT1C,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EAGThE,KAAK86E,KAAO,KACZ96E,KAAKm1C,KAAO,KAGZn1C,KAAKoV,EAAI,KAGTpV,KAAKykF,MAAQ,KACbzkF,KAAKwkF,MAAQ,KAGbxkF,KAAKujF,SAAU,GAgBnB/kF,KAAKwf,cAAgB,aASrBxf,KAAKwf,cAAc2oE,mBAAqB,EAWxCnoF,KAAKwf,cAAc0gE,eAAiB,SAAUlgE,EAAU5Y,GAEpD,IAII6Y,EAJA9gB,EAAKiI,EAAcjI,GACnB6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OACvBxK,EAASrH,EAAc8R,cAAciJ,gBAGtCnC,EAAShN,OAERhT,KAAKwf,cAAcC,eAAeO,EAAU7gB,GAGhD,IAAIohD,EAAQvgC,EAASN,OAAOvgB,EAAGuW,IAG/B,GAAI6qC,EAOJ,IAAK,IAAIr8C,EAAI,EAAGA,EAAIq8C,EAAM3qC,KAAKzR,OAAQD,IAET,IAAvBq8C,EAAM3qC,KAAK1R,GAAG0c,MAEbX,EAAYsgC,EAAM3qC,KAAK1R,GAEvBkD,EAAcmS,eAAeoG,YAAYK,EAAUC,EAAW7Y,GAG9DjI,EAAG0hB,aAAa1hB,EAAG2hB,aAAc,EAAG3hB,EAAG4hB,eAAiD,GAAhCd,EAAU7L,QAAQjQ,OAAS,IAEnFiD,EAAcmS,eAAeqG,WAAWI,EAAUC,EAAW7Y,KAI7D6Y,EAAYsgC,EAAM3qC,KAAK1R,GAGvBkD,EAAc8R,cAAcoI,UAAU7S,GACtCA,EAASrH,EAAc8R,cAAciJ,gBACrChjB,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOwI,EAASjd,eAAeye,SAAQ,IAErFriB,EAAGoiB,UAAU9S,EAAO8H,MAAO,GAE3BpX,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGuiB,WAAWjT,EAAOkJ,UAAW3U,EAAO2e,MAAMC,cAAc5B,EAASzR,OAEpEpP,EAAGoiB,UAAU9S,EAAOhM,MAAOud,EAASld,YAGpC3D,EAAG0iB,WAAW1iB,EAAG2iB,aAAc7B,EAAUvD,QAEzCvd,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,GAAO,GAC1E7iB,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAM,GAAO,GAGxE7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBhC,EAAUiC,aACjD/iB,EAAG0hB,aAAa1hB,EAAGgiB,eAAgBlB,EAAU7L,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,KAc5F/gB,KAAKwf,cAAcC,eAAiB,SAAUO,EAAU7gB,GAGpD,IAAIohD,EAAQvgC,EAASN,OAAOvgB,EAAGuW,IAG3B6qC,IAASA,EAAQvgC,EAASN,OAAOvgB,EAAGuW,KAAO0yE,UAAW,EAAGxyE,QAAUzW,GAAIA,IAG3E6gB,EAAShN,OAAQ,EAEjB,IAAI9O,EAGJ,GAAG8b,EAASqoE,WACZ,CAII,IAHAroE,EAASqoE,YAAa,EAGjBnkF,EAAI,EAAGA,EAAIq8C,EAAM3qC,KAAKzR,OAAQD,IACnC,CACI,IAAI+jD,EAAe1H,EAAM3qC,KAAK1R,GAC9B+jD,EAAa1gB,QACbvnC,KAAKwf,cAAc8oE,iBAAiBh/E,KAAK2+C,GAI7C1H,EAAM3qC,QACN2qC,EAAM6nC,UAAY,EAGtB,IAAInoE,EAOJ,IAAK/b,EAAIq8C,EAAM6nC,UAAWlkF,EAAI8b,EAASioC,aAAa9jD,OAAQD,IAC5D,CACI,IAAI0R,EAAOoK,EAASioC,aAAa/jD,GAE7B0R,EAAKZ,OAAShS,EAAOsrB,SAGrB1Y,EAAKkqB,OAASlqB,EAAKuyC,MAAMroB,OAAOtO,QAC7B5b,EAAKuyC,MAAMvnB,SAGPhrB,EAAKkqB,OAAO,KAAOlqB,EAAKkqB,OAAOlqB,EAAKkqB,OAAO37B,OAAS,IAAMyR,EAAKkqB,OAAO,KAAOlqB,EAAKkqB,OAAOlqB,EAAKkqB,OAAO37B,OAAS,IAE7GyR,EAAKkqB,OAAOx2B,KAAKsM,EAAKkqB,OAAO,GAAIlqB,EAAKkqB,OAAO,KAKlDlqB,EAAKsyC,MAEDtyC,EAAKkqB,OAAO37B,QAAUnE,KAAKwf,cAAc2oE,qBAErCvyE,EAAKkqB,OAAO37B,OAAiD,EAAxCnE,KAAKwf,cAAc2oE,oBAEvCloE,EAAYjgB,KAAKwf,cAAc+oE,WAAWhoC,EAAO,GAExBvgD,KAAKwf,cAAcgpE,UAAU5yE,EAAMqK,KAOxDA,EAAYjgB,KAAKwf,cAAc+oE,WAAWhoC,EAAO,GACjDvgD,KAAKwf,cAAcipE,iBAAiB7yE,EAAMqK,MAK9CA,EAAYjgB,KAAKwf,cAAc+oE,WAAWhoC,EAAO,GACjDvgD,KAAKwf,cAAcipE,iBAAiB7yE,EAAMqK,KAKnDrK,EAAK2rE,UAAY,IAEhBthE,EAAYjgB,KAAKwf,cAAc+oE,WAAWhoC,EAAO,GACjDvgD,KAAKwf,cAAckpE,UAAU9yE,EAAMqK,MAKvCA,EAAYjgB,KAAKwf,cAAc+oE,WAAWhoC,EAAO,GAE7C3qC,EAAKZ,OAAShS,EAAOgsB,UAErBhvB,KAAKwf,cAAcmpE,eAAe/yE,EAAMqK,GAEnCrK,EAAKZ,OAAShS,EAAO+rB,QAAUnZ,EAAKZ,OAAShS,EAAO0rB,QAEzD1uB,KAAKwf,cAAcopE,YAAYhzE,EAAMqK,GAEhCrK,EAAKZ,OAAShS,EAAOosB,kBAE1BpvB,KAAKwf,cAAcqpE,sBAAsBjzE,EAAMqK,IAIvDsgC,EAAM6nC,YAIV,IAAKlkF,EAAI,EAAGA,EAAIq8C,EAAM3qC,KAAKzR,OAAQD,KAE/B+b,EAAYsgC,EAAM3qC,KAAK1R,IACV8O,OAASiN,EAAU6oE,UAWxC9oF,KAAKwf,cAAc+oE,WAAa,SAAUhoC,EAAOvrC,GAE7C,IAAIiL,EAsBJ,OApBIsgC,EAAM3qC,KAAKzR,QAQX8b,EAAYsgC,EAAM3qC,KAAK2qC,EAAM3qC,KAAKzR,OAAS,IAE9Byc,OAAS5L,GAAiB,IAATA,KAE1BiL,EAAYjgB,KAAKwf,cAAc8oE,iBAAiBlmE,OAAS,IAAIpiB,KAAK+oF,kBAAkBxoC,EAAMphD,KAChFyhB,KAAO5L,EACjBurC,EAAM3qC,KAAKtM,KAAK2W,MAZpBA,EAAYjgB,KAAKwf,cAAc8oE,iBAAiBlmE,OAAS,IAAIpiB,KAAK+oF,kBAAkBxoC,EAAMphD,KAChFyhB,KAAO5L,EACjBurC,EAAM3qC,KAAKtM,KAAK2W,IAcpBA,EAAUjN,OAAQ,EAEXiN,GAYXjgB,KAAKwf,cAAcmpE,eAAiB,SAAU1gC,EAAchoC,GAOxD,IAAI+oE,EAAW/gC,EAAaE,MACxB5iD,EAAIyjF,EAASzjF,EACbC,EAAIwjF,EAASxjF,EACbpG,EAAQ4pF,EAAS5pF,MACjBC,EAAS2pF,EAAS3pF,OAEtB,GAAG4oD,EAAaC,KAChB,CACI,IAAIrwC,EAAQ7U,EAAO2e,MAAMC,cAAcqmC,EAAaghC,WAChDxmF,EAAQwlD,EAAaihC,UAErBxjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf0mF,EAAQlpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpBg1E,EAAUD,EAAMhlF,OAAS,EAG7BglF,EAAM7/E,KAAK/D,EAAGC,GACd2jF,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK/D,EAAInG,EAAOoG,GACtB2jF,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK/D,EAAIC,EAAInG,GACnB8pF,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK/D,EAAInG,EAAOoG,EAAInG,GAC1B8pF,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAGpB2R,EAAQ9K,KAAK8/E,EAASA,EAASA,EAAU,EAAGA,EAAU,EAAGA,EAAU,EAAGA,EAAU,GAGpF,GAAInhC,EAAas5B,UACjB,CACI,IAAI8H,EAAaphC,EAAanoB,OAE9BmoB,EAAanoB,QAAWv6B,EAAGC,EACvBD,EAAInG,EAAOoG,EACXD,EAAInG,EAAOoG,EAAInG,EACfkG,EAAGC,EAAInG,EACPkG,EAAGC,GAGPxF,KAAKwf,cAAckpE,UAAUzgC,EAAchoC,GAE3CgoC,EAAanoB,OAASupD,IAa9BrpF,KAAKwf,cAAcqpE,sBAAwB,SAAU5gC,EAAchoC,GAE/D,IAAIqpE,EAAYrhC,EAAaE,MACzB5iD,EAAI+jF,EAAU/jF,EACdC,EAAI8jF,EAAU9jF,EACdpG,EAAQkqF,EAAUlqF,MAClBC,EAASiqF,EAAUjqF,OAEnBs3B,EAAS2yD,EAAU3yD,OAEnB4yD,KAOJ,GANAA,EAAUjgF,KAAK/D,EAAGC,EAAImxB,GACtB4yD,EAAYA,EAAU13D,OAAO7xB,KAAKwf,cAAcgqE,qBAAqBjkF,EAAGC,EAAInG,EAASs3B,EAAQpxB,EAAGC,EAAInG,EAAQkG,EAAIoxB,EAAQnxB,EAAInG,IAC5HkqF,EAAYA,EAAU13D,OAAO7xB,KAAKwf,cAAcgqE,qBAAqBjkF,EAAInG,EAAQu3B,EAAQnxB,EAAInG,EAAQkG,EAAInG,EAAOoG,EAAInG,EAAQkG,EAAInG,EAAOoG,EAAInG,EAASs3B,IACpJ4yD,EAAYA,EAAU13D,OAAO7xB,KAAKwf,cAAcgqE,qBAAqBjkF,EAAInG,EAAOoG,EAAImxB,EAAQpxB,EAAInG,EAAOoG,EAAGD,EAAInG,EAAQu3B,EAAQnxB,IAC9H+jF,EAAYA,EAAU13D,OAAO7xB,KAAKwf,cAAcgqE,qBAAqBjkF,EAAIoxB,EAAQnxB,EAAGD,EAAGC,EAAGD,EAAGC,EAAImxB,IAE7FsxB,EAAaC,KACjB,CACI,IAAIrwC,EAAQ7U,EAAO2e,MAAMC,cAAcqmC,EAAaghC,WAChDxmF,EAAQwlD,EAAaihC,UAErBxjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf0mF,EAAQlpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpBq1E,EAASN,EAAMhlF,OAAS,EAExBmgF,EAAYthF,EAAO8gF,OAAOC,YAAYwF,EAAW,KAAM,GAEvDrlF,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIogF,EAAUngF,OAAQD,GAAK,EAEnCkQ,EAAQ9K,KAAKg7E,EAAUpgF,GAAKulF,GAC5Br1E,EAAQ9K,KAAKg7E,EAAUpgF,GAAKulF,GAC5Br1E,EAAQ9K,KAAKg7E,EAAUpgF,EAAI,GAAKulF,GAChCr1E,EAAQ9K,KAAKg7E,EAAUpgF,EAAI,GAAKulF,GAChCr1E,EAAQ9K,KAAKg7E,EAAUpgF,EAAI,GAAKulF,GAIpC,IAAKvlF,EAAI,EAAGA,EAAIqlF,EAAUplF,OAAQD,IAE9BilF,EAAM7/E,KAAKigF,EAAUrlF,GAAIqlF,IAAYrlF,GAAIwB,EAAGyW,EAAGxX,EAAGlC,GAI1D,GAAIwlD,EAAas5B,UACjB,CACI,IAAI8H,EAAaphC,EAAanoB,OAE9BmoB,EAAanoB,OAASypD,EAEtBvpF,KAAKwf,cAAckpE,UAAUzgC,EAAchoC,GAE3CgoC,EAAanoB,OAASupD,IAoB9BrpF,KAAKwf,cAAcgqE,qBAAuB,SAAUE,EAAOC,EAAOC,EAAKC,EAAKC,EAAKC,GAW7E,SAASC,EAAOC,EAAKC,EAAIC,GAIrB,OAAOF,GAFIC,EAAKD,GAEIE,EAIxB,IAAK,IAjBDC,EACAC,EACAC,EACAC,EACAhlF,EACAC,EAEAs6B,KASAz2B,EAAI,EACCnF,EAAI,EAAGA,GAXR,GAWgBA,IAKpBkmF,EAAKJ,EAAMN,EAAQE,EAHnBvgF,EAAInF,EAbA,IAiBJmmF,EAAKL,EAAML,EAAQE,EAAMxgF,GACzBihF,EAAKN,EAAMJ,EAAME,EAAMzgF,GACvBkhF,EAAKP,EAAMH,EAAME,EAAM1gF,GAGvB9D,EAAIykF,EAAMI,EAAKE,EAAKjhF,GACpB7D,EAAIwkF,EAAMK,EAAKE,EAAKlhF,GAEpBy2B,EAAOx2B,KAAK/D,EAAGC,GAEnB,OAAOs6B,GAYX9/B,KAAKwf,cAAcopE,YAAc,SAAU3gC,EAAchoC,GAGrD,IAGI7gB,EACAC,EAJAmrF,EAAaviC,EAAaE,MAC1B5iD,EAAIilF,EAAWjlF,EACfC,EAAIglF,EAAWhlF,EAKfyiD,EAAajzC,OAAShS,EAAO+rB,QAE7B3vB,EAAQorF,EAAW7zD,OACnBt3B,EAASmrF,EAAW7zD,SAIpBv3B,EAAQorF,EAAWprF,MACnBC,EAASmrF,EAAWnrF,QAGxB,IACIorF,EAAiB,EAAVvlF,KAAKsxB,GADA,GAGZtyB,EAAI,EAER,GAAG+jD,EAAaC,KAChB,CACI,IAAIrwC,EAAQ7U,EAAO2e,MAAMC,cAAcqmC,EAAaghC,WAChDxmF,EAAQwlD,EAAaihC,UAErBxjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf0mF,EAAQlpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpBq1E,EAASN,EAAMhlF,OAAS,EAI5B,IAFAiQ,EAAQ9K,KAAKmgF,GAERvlF,EAAI,EAAGA,EAAIwmF,GAAexmF,IAE3BilF,EAAM7/E,KAAK/D,EAAEC,EAAGE,EAAGyW,EAAGxX,EAAGlC,GAEzB0mF,EAAM7/E,KAAK/D,EAAIL,KAAKG,IAAIolF,EAAMvmF,GAAK9E,EAC/BoG,EAAIN,KAAKI,IAAImlF,EAAMvmF,GAAK7E,EACxBqG,EAAGyW,EAAGxX,EAAGlC,GAEb2R,EAAQ9K,KAAKmgF,IAAUA,KAG3Br1E,EAAQ9K,KAAKmgF,EAAS,GAG1B,GAAGxhC,EAAas5B,UAChB,CACI,IAAI8H,EAAaphC,EAAanoB,OAI9B,IAFAmoB,EAAanoB,UAER57B,EAAI,EAAGA,EAAIwmF,GAAexmF,IAE3B+jD,EAAanoB,OAAOx2B,KAAK/D,EAAIL,KAAKG,IAAIolF,EAAMvmF,GAAK9E,EAC7CoG,EAAIN,KAAKI,IAAImlF,EAAMvmF,GAAK7E,GAGhCW,KAAKwf,cAAckpE,UAAUzgC,EAAchoC,GAE3CgoC,EAAanoB,OAASupD,IAa9BrpF,KAAKwf,cAAckpE,UAAY,SAAUzgC,EAAchoC,GAGnD,IAAI/b,EAAI,EACJ47B,EAASmoB,EAAanoB,OAC1B,GAAqB,IAAlBA,EAAO37B,OAAV,CAGA,GAAG8jD,EAAas5B,UAAY,EAExB,IAAKr9E,EAAI,EAAGA,EAAI47B,EAAO37B,OAAQD,IAE3B47B,EAAO57B,IAAM,GAKrB,IAAIymF,EAAa,IAAI3qF,KAAKqC,MAAMy9B,EAAO,GAAIA,EAAO,IAC9C8qD,EAAY,IAAI5qF,KAAKqC,MAAMy9B,EAAOA,EAAO37B,OAAS,GAAI27B,EAAOA,EAAO37B,OAAS,IAGjF,GAAGwmF,EAAWplF,IAAMqlF,EAAUrlF,GAAKolF,EAAWnlF,IAAMolF,EAAUplF,EAC9D,EAEIs6B,EAASA,EAAOtO,SAETpP,MACP0d,EAAO1d,MAIP,IAAIyoE,GAFJD,EAAY,IAAI5qF,KAAKqC,MAAMy9B,EAAOA,EAAO37B,OAAS,GAAI27B,EAAOA,EAAO37B,OAAS,KAEnDoB,EAAmC,IAA9BolF,EAAWplF,EAAIqlF,EAAUrlF,GACpDulF,EAAYF,EAAUplF,EAAmC,IAA9BmlF,EAAWnlF,EAAIolF,EAAUplF,GAExDs6B,EAAOirD,QAAQF,EAAWC,GAC1BhrD,EAAOx2B,KAAKuhF,EAAWC,GAG3B,IAgBIp2D,EAAI6jC,EAAIyyB,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtCjwD,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAc4vD,EAnBdzC,EAAQlpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QACpBjQ,EAAS27B,EAAO37B,OAAS,EACzB0nF,EAAa/rD,EAAO37B,OACpB2nF,EAAa3C,EAAMhlF,OAAS,EAG5B/E,EAAQ6oD,EAAas5B,UAAY,EAGjC1pE,EAAQ7U,EAAO2e,MAAMC,cAAcqmC,EAAa8jC,WAChDtpF,EAAQwlD,EAAa+jC,UACrBtmF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EA8BnB,IAvBAuoF,EAAMlrD,EAAO,GACbmrD,EAAMnrD,EAAO,GAEborD,EAAMprD,EAAO,GAGbwrD,IAAUL,GAFVE,EAAMrrD,EAAO,KAGbyrD,EAAQP,EAAME,EAIdI,GAFAM,EAAO1mF,KAAKS,KAAK2lF,EAAQA,EAAQC,EAAQA,GAGzCA,GAASK,EACTN,GAASlsF,EACTmsF,GAASnsF,EAGT+pF,EAAM7/E,KAAK0hF,EAAMM,EAAQL,EAAMM,EAC3B7lF,EAAGyW,EAAGxX,EAAGlC,GAEb0mF,EAAM7/E,KAAK0hF,EAAMM,EAAQL,EAAMM,EAC3B7lF,EAAGyW,EAAGxX,EAAGlC,GAERyB,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAExB8mF,EAAMlrD,EAAiB,GAAT57B,EAAI,IAClB+mF,EAAMnrD,EAAiB,GAAT57B,EAAI,GAAS,GAE3BgnF,EAAMprD,EAAa,EAAN,GACbqrD,EAAMrrD,EAAa,EAAN,EAAU,GAEvBsrD,EAAMtrD,EAAiB,GAAT57B,EAAI,IAClBmnF,EAAMvrD,EAAiB,GAAT57B,EAAI,GAAS,GAE3BonF,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAGdI,GADAM,EAAO1mF,KAAKS,KAAK2lF,EAAQA,EAAQC,EAAQA,GAEzCA,GAASK,EACTN,GAASlsF,EACTmsF,GAASnsF,EAETosF,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAGfI,GADAI,EAAO1mF,KAAKS,KAAK6lF,EAASA,EAASC,EAASA,GAE5CA,GAAUG,EAMV9vD,IAAOwvD,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAGlElvD,KARAyvD,GAAUpsF,GAQMgsF,MAPhBK,GAAUrsF,GAOwB+rF,KAASK,EAASN,KAASO,EAASJ,GAEtErvD,GAPAN,GAAO6vD,EAAQN,IAASM,EAAQJ,KAIhCtvD,GAAO2vD,EAASN,IAASM,EAASJ,KADlCzvD,GAAO8vD,EAASJ,IAASI,EAASN,KAFlCvvD,GAAO0vD,EAAQJ,IAASI,EAAQN,IAQ7B9lF,KAAKizB,IAAI6D,GAAS,IAEjBA,GAAS,KACTmtD,EAAM7/E,KAAK4hF,EAAMI,EAAQH,EAAMI,EAC3B7lF,EAAGyW,EAAGxX,EAAGlC,GAEb0mF,EAAM7/E,KAAK4hF,EAAMI,EAAQH,EAAMI,EAC3B7lF,EAAGyW,EAAGxX,EAAGlC,MAKjBiyB,GAAMkH,EAAKG,EAAKF,EAAKC,GAAME,GAIbkvD,IAAQx2D,EAAKw2D,KAH3B3yB,GAAM58B,EAAKG,EAAKJ,EAAKK,GAAMC,GAGamvD,IAAQ5yB,EAAK4yB,GAG1C,OAEPO,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAGjBC,GADAE,EAAO1mF,KAAKS,KAAK+lF,EAASA,EAASC,EAASA,GAE5CA,GAAUC,EACVF,GAAUtsF,EACVusF,GAAUvsF,EAEV+pF,EAAM7/E,KAAK4hF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK4hF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK4hF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpBopF,MAIA1C,EAAM7/E,KAAKorB,EAAK6jC,GAChB4wB,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK4hF,GAAOx2D,EAAKw2D,GAAMC,GAAO5yB,EAAK4yB,IACzChC,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,IA2B5B,IAvBAuoF,EAAMlrD,EAAsB,GAAd37B,EAAS,IACvB8mF,EAAMnrD,EAAsB,GAAd37B,EAAS,GAAS,GAEhC+mF,EAAMprD,EAAsB,GAAd37B,EAAS,IAGvBmnF,IAAUL,GAFVE,EAAMrrD,EAAsB,GAAd37B,EAAS,GAAS,KAGhConF,EAAQP,EAAME,EAGdI,GADAM,EAAO1mF,KAAKS,KAAK2lF,EAAQA,EAAQC,EAAQA,GAEzCA,GAASK,EACTN,GAASlsF,EACTmsF,GAASnsF,EAET+pF,EAAM7/E,KAAK4hF,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB0mF,EAAM7/E,KAAK4hF,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAM7/E,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2R,EAAQ9K,KAAKwiF,GAER5nF,EAAI,EAAGA,EAAI2nF,EAAY3nF,IAExBkQ,EAAQ9K,KAAKwiF,KAGjB13E,EAAQ9K,KAAKwiF,EAAa,KAY9B9rF,KAAKwf,cAAcipE,iBAAmB,SAAUxgC,EAAchoC,GAG1D,IAAI6f,EAASmoB,EAAanoB,OAAOtO,QACjC,KAAGsO,EAAO37B,OAAS,GAAnB,CAGA,IAAIiQ,EAAU6L,EAAU7L,QACxB6L,EAAU6f,OAASA,EACnB7f,EAAUxd,MAAQwlD,EAAaihC,UAC/BjpE,EAAUpI,MAAQ7U,EAAO2e,MAAMC,cAAcqmC,EAAaghC,WAc1D,IAAK,IAHD1jF,EAAEC,EANF4G,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAKHnI,EAAI,EAAGA,EAAI47B,EAAO37B,OAAQD,GAAK,EAEpCqB,EAAIu6B,EAAO57B,GACXsB,EAAIs6B,EAAO57B,EAAI,GAEfkI,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBG,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAEtBD,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EACtBE,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAI1BszB,EAAOx2B,KAAK8C,EAAME,EACdC,EAAMD,EACNC,EAAMC,EACNJ,EAAMI,GAKV,IAAIrI,EAAS27B,EAAO37B,OAAS,EAC7B,IAAKD,EAAI,EAAGA,EAAIC,EAAQD,IAEpBkQ,EAAQ9K,KAAKpF,KAarBlE,KAAKwf,cAAcgpE,UAAY,SAAUvgC,EAAchoC,GAEnD,IAAI6f,EAASmoB,EAAanoB,OAE1B,KAAGA,EAAO37B,OAAS,GAAnB,CAGA,IAAIglF,EAAQlpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpBjQ,EAAS27B,EAAO37B,OAAS,EAGzB0T,EAAQ7U,EAAO2e,MAAMC,cAAcqmC,EAAaghC,WAChDxmF,EAAQwlD,EAAaihC,UACrBxjF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf6hF,EAAYthF,EAAO8gF,OAAOC,YAAYjkD,EAAQ,KAAM,GAExD,IAAIwkD,EAAa,OAAO,EAExB,IAAI8E,EAAUD,EAAMhlF,OAAS,EAEzBD,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIogF,EAAUngF,OAAQD,GAAK,EAEnCkQ,EAAQ9K,KAAKg7E,EAAUpgF,GAAKklF,GAC5Bh1E,EAAQ9K,KAAKg7E,EAAUpgF,GAAKklF,GAC5Bh1E,EAAQ9K,KAAKg7E,EAAUpgF,EAAI,GAAKklF,GAChCh1E,EAAQ9K,KAAKg7E,EAAUpgF,EAAI,GAAKklF,GAChCh1E,EAAQ9K,KAAKg7E,EAAUpgF,EAAI,GAAKklF,GAGpC,IAAKllF,EAAI,EAAGA,EAAIC,EAAQD,IAEpBilF,EAAM7/E,KAAKw2B,EAAW,EAAJ57B,GAAQ47B,EAAW,EAAJ57B,EAAQ,GACrCwB,EAAGyW,EAAGxX,EAAGlC,GAGjB,OAAO,IAGXzC,KAAKwf,cAAc8oE,oBAOnBtoF,KAAK+oF,kBAAoB,SAAU5pF,GAE/BqC,KAAKrC,GAAKA,EAGVqC,KAAKqW,OAAU,EAAE,EAAE,GACnBrW,KAAKs+B,UACLt+B,KAAK4S,WACL5S,KAAKkb,OAASvd,EAAGulB,eACjBljB,KAAK0gB,YAAc/iB,EAAGulB,eACtBljB,KAAKof,KAAO,EACZpf,KAAKiB,MAAQ,EACbjB,KAAKwR,OAAQ,GAMjBhT,KAAK+oF,kBAAkBjlF,UAAUyjC,MAAQ,WAErC/lC,KAAKs+B,UACLt+B,KAAK4S,YAMTpU,KAAK+oF,kBAAkBjlF,UAAUglF,OAAS,WAEtC,IAAI3pF,EAAKqC,KAAKrC,GAGdqC,KAAKyqF,SAAW,IAAIpoE,aAAariB,KAAKs+B,QAEtC3gC,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKkb,QACpCvd,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKyqF,SAAU9sF,EAAGylB,aAEjDpjB,KAAK0qF,WAAa,IAAIloE,YAAYxiB,KAAK4S,SAEvCjV,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK0qF,WAAY/sF,EAAGylB,aAE3DpjB,KAAKwR,OAAQ,GAcjBhT,KAAK6pB,eAAiB,aAYtB7pB,KAAK6pB,eAAeq2D,eAAiB,SAAUlgE,EAAU1Q,GAErD,IAAIxM,EAAakd,EAASld,WAEtBkd,EAAShN,QAETxR,KAAK2qF,mBAAmBnsE,GACxBA,EAAShN,OAAQ,GAGrB,IAAK,IAAI9O,EAAI,EAAGA,EAAI8b,EAASioC,aAAa9jD,OAAQD,IAClD,CACI,IAAI0R,EAAOoK,EAASioC,aAAa/jD,GAC7BikD,EAAQvyC,EAAKuyC,MAEb8gC,EAAYrzE,EAAKw2E,UACjBL,EAAYn2E,EAAKy2E,UAIrB,GAFA/8E,EAAQiyE,UAAY3rE,EAAK2rE,UAErB3rE,EAAKZ,OAAShS,EAAOsrB,QACzB,CACIhf,EAAQ4xE,YAER,IAAIphD,EAASqoB,EAAMroB,OAEnBxwB,EAAQ+xE,OAAOvhD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIz2B,EAAI,EAAGA,EAAIy2B,EAAO37B,OAAS,EAAGkF,IAEnCiG,EAAQgyE,OAAOxhD,EAAW,EAAJz2B,GAAQy2B,EAAW,EAAJz2B,EAAQ,IAG7C8+C,EAAMvnB,QAENtxB,EAAQgyE,OAAOxhD,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAAM27B,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAEhFmL,EAAQ8xE,YAGRxrE,EAAKsyC,OAEL54C,EAAQG,YAAcmG,EAAKszE,UAAYpmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZ8+D,GAAe7+D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQ44C,QAGRtyC,EAAK2rE,YAELjyE,EAAQG,YAAcmG,EAAKo2E,UAAYlpF,EACvCwM,EAAQkyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe3hE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQmyE,eAGX,GAAI7rE,EAAKZ,OAAShS,EAAOgsB,WAEtBpZ,EAAKqzE,WAAgC,IAAnBrzE,EAAKqzE,aAEvB35E,EAAQG,YAAcmG,EAAKszE,UAAYpmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZ8+D,GAAe7+D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQgb,SAAS69B,EAAM5iD,EAAG4iD,EAAM3iD,EAAG2iD,EAAM/oD,MAAO+oD,EAAM9oD,SAGtDuW,EAAK2rE,YAELjyE,EAAQG,YAAcmG,EAAKo2E,UAAYlpF,EACvCwM,EAAQkyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe3hE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQg9E,WAAWnkC,EAAM5iD,EAAG4iD,EAAM3iD,EAAG2iD,EAAM/oD,MAAO+oD,EAAM9oD,cAG3D,GAAIuW,EAAKZ,OAAShS,EAAO+rB,OAG1Bzf,EAAQ4xE,YACR5xE,EAAQ6xE,IAAIh5B,EAAM5iD,EAAG4iD,EAAM3iD,EAAG2iD,EAAMxxB,OAAO,EAAE,EAAIzxB,KAAKsxB,IACtDlnB,EAAQ8xE,YAEJxrE,EAAKsyC,OAEL54C,EAAQG,YAAcmG,EAAKszE,UAAYpmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZ8+D,GAAe7+D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQ44C,QAGRtyC,EAAK2rE,YAELjyE,EAAQG,YAAcmG,EAAKo2E,UAAYlpF,EACvCwM,EAAQkyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe3hE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQmyE,eAGX,GAAI7rE,EAAKZ,OAAShS,EAAO0rB,QAC9B,CAGI,IAAI7X,EAAkB,EAAdsxC,EAAM/oD,MACV2mB,EAAmB,EAAfoiC,EAAM9oD,OAEVkG,EAAI4iD,EAAM5iD,EAAIsR,EAAI,EAClBrR,EAAI2iD,EAAM3iD,EAAIugB,EAAI,EAEtBzW,EAAQ4xE,YAER,IACIqL,EAAM11E,EAAI,EADF,SAER21E,EAAMzmE,EAAI,EAFF,SAGR0mE,EAAKlnF,EAAIsR,EACT61E,EAAKlnF,EAAIugB,EACT4mE,EAAKpnF,EAAIsR,EAAI,EACb+1E,EAAKpnF,EAAIugB,EAAI,EAEjBzW,EAAQ+xE,OAAO97E,EAAGqnF,GAClBt9E,EAAQu9E,cAActnF,EAAGqnF,EAAKJ,EAAIG,EAAKJ,EAAI/mF,EAAGmnF,EAAInnF,GAClD8J,EAAQu9E,cAAcF,EAAKJ,EAAI/mF,EAAGinF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDt9E,EAAQu9E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDp9E,EAAQu9E,cAAcF,EAAKJ,EAAIG,EAAInnF,EAAGqnF,EAAKJ,EAAIjnF,EAAGqnF,GAElDt9E,EAAQ8xE,YAEJxrE,EAAKsyC,OAEL54C,EAAQG,YAAcmG,EAAKszE,UAAYpmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZ8+D,GAAe7+D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQ44C,QAGRtyC,EAAK2rE,YAELjyE,EAAQG,YAAcmG,EAAKo2E,UAAYlpF,EACvCwM,EAAQkyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe3hE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQmyE,eAGX,GAAI7rE,EAAKZ,OAAShS,EAAOosB,iBAC9B,CACI,IAAIsT,EAAKylB,EAAM5iD,EACXo9B,EAAKwlB,EAAM3iD,EACXpG,EAAQ+oD,EAAM/oD,MACdC,EAAS8oD,EAAM9oD,OACfs3B,EAASwxB,EAAMxxB,OAEfm2D,EAAY5nF,KAAK41B,IAAI17B,EAAOC,GAAU,EAAI,EAC9Cs3B,EAASA,EAASm2D,EAAYA,EAAYn2D,EAE1CrnB,EAAQ4xE,YACR5xE,EAAQ+xE,OAAO3+C,EAAIC,EAAKhM,GACxBrnB,EAAQgyE,OAAO5+C,EAAIC,EAAKtjC,EAASs3B,GACjCrnB,EAAQy9E,iBAAiBrqD,EAAIC,EAAKtjC,EAAQqjC,EAAK/L,EAAQgM,EAAKtjC,GAC5DiQ,EAAQgyE,OAAO5+C,EAAKtjC,EAAQu3B,EAAQgM,EAAKtjC,GACzCiQ,EAAQy9E,iBAAiBrqD,EAAKtjC,EAAOujC,EAAKtjC,EAAQqjC,EAAKtjC,EAAOujC,EAAKtjC,EAASs3B,GAC5ErnB,EAAQgyE,OAAO5+C,EAAKtjC,EAAOujC,EAAKhM,GAChCrnB,EAAQy9E,iBAAiBrqD,EAAKtjC,EAAOujC,EAAID,EAAKtjC,EAAQu3B,EAAQgM,GAC9DrzB,EAAQgyE,OAAO5+C,EAAK/L,EAAQgM,GAC5BrzB,EAAQy9E,iBAAiBrqD,EAAIC,EAAID,EAAIC,EAAKhM,GAC1CrnB,EAAQ8xE,aAEJxrE,EAAKqzE,WAAgC,IAAnBrzE,EAAKqzE,aAEvB35E,EAAQG,YAAcmG,EAAKszE,UAAYpmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZ8+D,GAAe7+D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQ44C,QAGRtyC,EAAK2rE,YAELjyE,EAAQG,YAAcmG,EAAKo2E,UAAYlpF,EACvCwM,EAAQkyE,YAAc,KAAO,SAAuB,EAAZuK,GAAe3hE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQmyE,aAexBzhF,KAAK6pB,eAAeC,mBAAqB,SAAU9J,EAAU1Q,GAEzD,IAAIgjB,EAAMtS,EAASioC,aAAa9jD,OAEhC,GAAY,IAARmuB,EAAJ,CAKAhjB,EAAQ4xE,YAER,IAAK,IAAIh9E,EAAI,EAAGA,EAAIouB,EAAKpuB,IACzB,CACI,IAAI0R,EAAOoK,EAASioC,aAAa/jD,GAC7BikD,EAAQvyC,EAAKuyC,MAEjB,GAAIvyC,EAAKZ,OAAShS,EAAOsrB,QACzB,CACI,IAAIwR,EAASqoB,EAAMroB,OAEnBxwB,EAAQ+xE,OAAOvhD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIz2B,EAAI,EAAGA,EAAIy2B,EAAO37B,OAAS,EAAGkF,IAEnCiG,EAAQgyE,OAAOxhD,EAAW,EAAJz2B,GAAQy2B,EAAW,EAAJz2B,EAAQ,IAI7Cy2B,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAAM27B,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAEhFmL,EAAQ8xE,iBAGX,GAAIxrE,EAAKZ,OAAShS,EAAOgsB,UAE1B1f,EAAQ8sB,KAAK+rB,EAAM5iD,EAAG4iD,EAAM3iD,EAAG2iD,EAAM/oD,MAAO+oD,EAAM9oD,QAClDiQ,EAAQ8xE,iBAEP,GAAIxrE,EAAKZ,OAAShS,EAAO+rB,OAG1Bzf,EAAQ6xE,IAAIh5B,EAAM5iD,EAAG4iD,EAAM3iD,EAAG2iD,EAAMxxB,OAAQ,EAAG,EAAIzxB,KAAKsxB,IACxDlnB,EAAQ8xE,iBAEP,GAAIxrE,EAAKZ,OAAShS,EAAO0rB,QAC9B,CAGI,IAAI7X,EAAkB,EAAdsxC,EAAM/oD,MACV2mB,EAAmB,EAAfoiC,EAAM9oD,OAEVkG,EAAI4iD,EAAM5iD,EAAIsR,EAAI,EAClBrR,EAAI2iD,EAAM3iD,EAAIugB,EAAI,EAGlBwmE,EAAM11E,EAAI,EADF,SAER21E,EAAMzmE,EAAI,EAFF,SAGR0mE,EAAKlnF,EAAIsR,EACT61E,EAAKlnF,EAAIugB,EACT4mE,EAAKpnF,EAAIsR,EAAI,EACb+1E,EAAKpnF,EAAIugB,EAAI,EAEjBzW,EAAQ+xE,OAAO97E,EAAGqnF,GAClBt9E,EAAQu9E,cAActnF,EAAGqnF,EAAKJ,EAAIG,EAAKJ,EAAI/mF,EAAGmnF,EAAInnF,GAClD8J,EAAQu9E,cAAcF,EAAKJ,EAAI/mF,EAAGinF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDt9E,EAAQu9E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDp9E,EAAQu9E,cAAcF,EAAKJ,EAAIG,EAAInnF,EAAGqnF,EAAKJ,EAAIjnF,EAAGqnF,GAClDt9E,EAAQ8xE,iBAEP,GAAIxrE,EAAKZ,OAAShS,EAAOosB,iBAC9B,CACI,IAAIsT,EAAKylB,EAAM5iD,EACXo9B,EAAKwlB,EAAM3iD,EACXpG,EAAQ+oD,EAAM/oD,MACdC,EAAS8oD,EAAM9oD,OACfs3B,EAASwxB,EAAMxxB,OAEfm2D,EAAY5nF,KAAK41B,IAAI17B,EAAOC,GAAU,EAAI,EAC9Cs3B,EAASA,EAASm2D,EAAYA,EAAYn2D,EAE1CrnB,EAAQ+xE,OAAO3+C,EAAIC,EAAKhM,GACxBrnB,EAAQgyE,OAAO5+C,EAAIC,EAAKtjC,EAASs3B,GACjCrnB,EAAQy9E,iBAAiBrqD,EAAIC,EAAKtjC,EAAQqjC,EAAK/L,EAAQgM,EAAKtjC,GAC5DiQ,EAAQgyE,OAAO5+C,EAAKtjC,EAAQu3B,EAAQgM,EAAKtjC,GACzCiQ,EAAQy9E,iBAAiBrqD,EAAKtjC,EAAOujC,EAAKtjC,EAAQqjC,EAAKtjC,EAAOujC,EAAKtjC,EAASs3B,GAC5ErnB,EAAQgyE,OAAO5+C,EAAKtjC,EAAOujC,EAAKhM,GAChCrnB,EAAQy9E,iBAAiBrqD,EAAKtjC,EAAOujC,EAAID,EAAKtjC,EAAQu3B,EAAQgM,GAC9DrzB,EAAQgyE,OAAO5+C,EAAK/L,EAAQgM,GAC5BrzB,EAAQy9E,iBAAiBrqD,EAAIC,EAAID,EAAIC,EAAKhM,GAC1CrnB,EAAQ8xE,gBAKpBphF,KAAK6pB,eAAesiE,mBAAqB,SAAUnsE,GAE/C,GAAsB,WAAlBA,EAASzR,KASb,IAAK,IAJDy+E,GAAShtE,EAASzR,MAAQ,GAAK,KAAQ,IACvC0+E,GAASjtE,EAASzR,MAAQ,EAAI,KAAQ,IACtC2+E,GAAyB,IAAhBltE,EAASzR,MAAe,IAE5BrK,EAAI,EAAGA,EAAI8b,EAASioC,aAAa9jD,OAAQD,IAClD,CACI,IAAI0R,EAAOoK,EAASioC,aAAa/jD,GAE7B+kF,EAA6B,EAAjBrzE,EAAKqzE,UACjB8C,EAA6B,EAAjBn2E,EAAKm2E,UAErBn2E,EAAKw2E,YAAenD,GAAa,GAAK,KAAQ,IAAM+D,EAAQ,KAAO,MAAQ/D,GAAa,EAAI,KAAQ,IAAMgE,EAAQ,KAAO,IAAkB,IAAZhE,GAAoB,IAAMiE,EAAQ,IACjKt3E,EAAKy2E,YAAeN,GAAa,GAAK,KAAQ,IAAMiB,EAAQ,KAAO,MAAQjB,GAAa,EAAI,KAAQ,IAAMkB,EAAQ,KAAO,IAAkB,IAAZlB,GAAoB,IAAMmB,EAAQ,MAkBzKlqF,EAAOmqF,aAAe,SAAU5L,EAAWwK,EAAWC,EAAW/C,EAAWC,EAAWhhC,EAAMC,GAKzF3mD,KAAK+/E,UAAYA,EAKjB//E,KAAKuqF,UAAYA,EAKjBvqF,KAAKwqF,UAAYA,EAKjBxqF,KAAK6qF,UAAYN,EAKjBvqF,KAAKynF,UAAYA,EAKjBznF,KAAK0nF,UAAYA,EAKjB1nF,KAAK4qF,UAAYnD,EAKjBznF,KAAK0mD,KAAOA,EAKZ1mD,KAAK2mD,MAAQA,EAKb3mD,KAAKwT,KAAOmzC,EAAMnzC,MAGtBhS,EAAOmqF,aAAarpF,UAAUC,YAAcf,EAAOmqF,aAOnDnqF,EAAOmqF,aAAarpF,UAAU4xB,MAAQ,WAElC,OAAO,IAAI1yB,EAAOmqF,aACd3rF,KAAK+/E,UACL//E,KAAKuqF,UACLvqF,KAAKwqF,UACLxqF,KAAKynF,UACLznF,KAAK0nF,UACL1nF,KAAK0mD,KACL1mD,KAAK2mD,QAyDbnlD,EAAOqiC,SAAW,SAAU9gC,EAAMgB,EAAGC,QAEvBuC,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAM3BhE,KAAKwT,KAAOhS,EAAO6qB,SAMnBrsB,KAAKuyC,YAAc/wC,EAAO0qB,OAM1BlsB,KAAK2G,OAAS,IAAInF,EAAOX,MAEzBrC,KAAK8J,uBAAuB9D,KAAKxE,MAEjCA,KAAKoB,YAAa,EAQlBpB,KAAK0nF,UAAY,EAQjB1nF,KAAK+/E,UAAY,EASjB//E,KAAKuqF,UAAY,EASjBvqF,KAAKymD,gBASLzmD,KAAK+M,KAAO,SASZ/M,KAAKiI,UAAYzJ,KAAK0J,WAAWE,OASjCpI,KAAK4rF,YAAc,KASnB5rF,KAAKke,UAQLle,KAAKwH,QAAS,EAQdxH,KAAK6rF,cAAgB,EAUrB7rF,KAAK8rF,aAAe,IAAItqF,EAAOS,UAAU,EAAG,EAAG,EAAG,GASlDjC,KAAKwR,OAAQ,EAUbxR,KAAK+rF,cAAe,EASpB/rF,KAAKgsF,YAAa,EASlBhsF,KAAKisF,mBAAoB,EAEzBzqF,EAAOqpE,UAAUiB,KAAKp6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAG,GAAI,OAG1DxC,EAAOqiC,SAASvhC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACtEd,EAAOqiC,SAASvhC,UAAUC,YAAcf,EAAOqiC,SAE/CriC,EAAOqpE,UAAUiB,KAAKC,QAAQvnE,KAAKhD,EAAOqiC,SAASvhC,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAOqiC,SAASvhC,UAAUm0E,iBAAmBj1E,EAAOqpE,UAAUsB,YAAYznE,UAC1ElD,EAAOqiC,SAASvhC,UAAUo0E,kBAAoBl1E,EAAOqpE,UAAUuG,SAAS1sE,UACxElD,EAAOqiC,SAASvhC,UAAUq0E,iBAAmBn1E,EAAOqpE,UAAUgG,QAAQnsE,UACtElD,EAAOqiC,SAASvhC,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UAOhElD,EAAOqiC,SAASvhC,UAAUoC,UAAY,WAElC,SAAK1E,KAAKy2E,oBAAuBz2E,KAAK02E,qBAAwB12E,KAAK22E,qBAK5D32E,KAAK42E,iBAQhBp1E,EAAOqiC,SAASvhC,UAAUukC,WAAa,WAEnCrlC,EAAOqpE,UAAUsB,YAAYtlC,WAAWriC,KAAKxE,MAC7CwB,EAAOqpE,UAAUyB,cAAczlC,WAAWriC,KAAKxE,MAE3CA,KAAK+rF,eAEL/rF,KAAKksF,oBACLlsF,KAAK+rF,cAAe,GAGxB,IAAK,IAAIrpF,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGmkC,cAUzBrlC,EAAOqiC,SAASvhC,UAAUE,QAAU,SAAU+3C,GAE1Cv6C,KAAK4a,QAELpZ,EAAOqpE,UAAU8C,QAAQrrE,UAAUE,QAAQgC,KAAKxE,KAAMu6C,IAU1D/4C,EAAOqiC,SAASvhC,UAAU6pF,aAAe,SAAU7tD,EAAQ8tD,QAE1C7lF,IAAT6lF,IAAsBA,GAAO,GAEjC,IAAIC,EAAW,IAAI7qF,EAAOy9B,QAAQX,GAElC,GAAI8tD,EACJ,CACI,IAAIE,EAAe,IAAI9qF,EAAOX,MAAMb,KAAK+C,KAAK+X,OAAO/W,EAAIu6B,EAAO,GAAGv6B,EAAG/D,KAAK+C,KAAK+X,OAAO9W,EAAIs6B,EAAO,GAAGt6B,GACjGuoF,EAAK,IAAI/qF,EAAOX,MAAMy9B,EAAO,GAAGv6B,EAAIu6B,EAAO,GAAGv6B,EAAGu6B,EAAO,GAAGt6B,EAAIs6B,EAAO,GAAGt6B,GAEzEwoF,EADK,IAAIhrF,EAAOX,MAAMy9B,EAAO,GAAGv6B,EAAIu6B,EAAO,GAAGv6B,EAAGu6B,EAAO,GAAGt6B,EAAIs6B,EAAO,GAAGt6B,GACzD25B,MAAM4uD,GAEtBD,EAAa5uD,IAAI8uD,GAAc,GAE/BxsF,KAAKysF,YAAYJ,QAKrBrsF,KAAKysF,YAAYJ,IAYzB7qF,EAAOqiC,SAASvhC,UAAUoqF,cAAgB,SAAUxqE,EAAUtP,EAASw5E,QAEtD7lF,IAAT6lF,IAAsBA,GAAO,GAEjC,IAII1pF,EAJAiqF,EAAS,IAAInrF,EAAOX,MACpB+rF,EAAS,IAAIprF,EAAOX,MACpBgsF,EAAS,IAAIrrF,EAAOX,MACpBy9B,KAGJ,GAAK1rB,EAwBL,GAAIsP,EAAS,aAAc1gB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIkQ,EAAQjQ,OAAS,EAAGD,IAEhC47B,EAAOx2B,KAAKoa,EAAStP,EAAY,EAAJlQ,KAC7B47B,EAAOx2B,KAAKoa,EAAStP,EAAY,EAAJlQ,EAAQ,KACrC47B,EAAOx2B,KAAKoa,EAAStP,EAAY,EAAJlQ,EAAQ,KAEf,IAAlB47B,EAAO37B,SAEP3C,KAAKmsF,aAAa7tD,EAAQ8tD,GAC1B9tD,WAMR,IAAK57B,EAAI,EAAGA,EAAIkQ,EAAQjQ,OAAQD,IAE5BiqF,EAAO5oF,EAAIme,EAAsB,EAAbtP,EAAQlQ,IAC5BiqF,EAAO3oF,EAAIke,EAAsB,EAAbtP,EAAQlQ,GAAS,GACrC47B,EAAOx2B,KAAK6kF,EAAOr3D,YAEG,IAAlBgJ,EAAO37B,SAEP3C,KAAKmsF,aAAa7tD,EAAQ8tD,GAC1B9tD,WAhDR,GAAIpc,EAAS,aAAc1gB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIwf,EAASvf,OAAS,EAAGD,IAEjC1C,KAAKmsF,cAAejqE,EAAa,EAAJxf,GAAQwf,EAAa,EAAJxf,EAAQ,GAAIwf,EAAa,EAAJxf,EAAQ,IAAM0pF,QAKrF,IAAK1pF,EAAI,EAAGA,EAAIwf,EAASvf,OAAS,EAAGD,IAEjCiqF,EAAO5oF,EAAIme,EAAa,EAAJxf,EAAQ,GAC5BiqF,EAAO3oF,EAAIke,EAAa,EAAJxf,EAAQ,GAC5BkqF,EAAO7oF,EAAIme,EAAa,EAAJxf,EAAQ,GAC5BkqF,EAAO5oF,EAAIke,EAAa,EAAJxf,EAAQ,GAC5BmqF,EAAO9oF,EAAIme,EAAa,EAAJxf,EAAQ,GAC5BmqF,EAAO7oF,EAAIke,EAAa,EAAJxf,EAAQ,GAC5B1C,KAAKmsF,cAAeQ,EAAQC,EAAQC,GAAUT,IA8C9D5qF,EAAOqiC,SAASvhC,UAAUwqF,UAAY,SAAU/M,EAAW1pE,EAAOpV,GAsB9D,OApBAjB,KAAK+/E,UAAYA,GAAa,EAC9B//E,KAAKuqF,UAAYl0E,GAAS,EAC1BrW,KAAKwqF,eAAuBjkF,IAAVtF,EAAuB,EAAIA,EAEzCjB,KAAK4rF,cAED5rF,KAAK4rF,YAAYjlC,MAAMroB,OAAO37B,OAG9B3C,KAAK+sF,UAAU,IAAIvrF,EAAOy9B,QAAQj/B,KAAK4rF,YAAYjlC,MAAMroB,OAAOtO,OAAO,MAKvEhwB,KAAK4rF,YAAY7L,UAAY//E,KAAK+/E,UAClC//E,KAAK4rF,YAAYrB,UAAYvqF,KAAKuqF,UAClCvqF,KAAK4rF,YAAYpB,UAAYxqF,KAAKwqF,YAInCxqF,MAWXwB,EAAOqiC,SAASvhC,UAAUu9E,OAAS,SAAU97E,EAAGC,GAI5C,OAFAhE,KAAK+sF,UAAU,IAAIvrF,EAAOy9B,SAAUl7B,EAAGC,KAEhChE,MAYXwB,EAAOqiC,SAASvhC,UAAUw9E,OAAS,SAAU/7E,EAAGC,GAW5C,OATKhE,KAAK4rF,aAEN5rF,KAAK6/E,OAAO,EAAG,GAGnB7/E,KAAK4rF,YAAYjlC,MAAMroB,OAAOx2B,KAAK/D,EAAGC,GACtChE,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EAEb/rF,MAcXwB,EAAOqiC,SAASvhC,UAAUipF,iBAAmB,SAAUnD,EAAKC,EAAKC,EAAKC,GAE9DvoF,KAAK4rF,YAEwC,IAAzC5rF,KAAK4rF,YAAYjlC,MAAMroB,OAAO37B,SAE9B3C,KAAK4rF,YAAYjlC,MAAMroB,QAAW,EAAG,IAKzCt+B,KAAK6/E,OAAO,EAAE,GAGlB,IAAI+I,EACAC,EAEAvqD,EAASt+B,KAAK4rF,YAAYjlC,MAAMroB,OAEd,IAAlBA,EAAO37B,QAEP3C,KAAK6/E,OAAO,EAAG,GAMnB,IAAK,IAHDqI,EAAQ5pD,EAAOA,EAAO37B,OAAS,GAC/BwlF,EAAQ7pD,EAAOA,EAAO37B,OAAS,GAC/BkF,EAAI,EACCnF,EAAI,EAAGA,GAXR,KAWkBA,EAItBkmF,EAAKV,GAAUE,EAAMF,IAFrBrgF,EAAInF,EAbA,IAgBJmmF,EAAKV,GAAUE,EAAMF,GAAStgF,EAE9By2B,EAAOx2B,KAAK8gF,GAAQR,GAAQE,EAAMF,GAAOvgF,EAAM+gF,GAAM/gF,EACjDghF,GAAQR,GAAQE,EAAMF,GAAOxgF,EAAMghF,GAAMhhF,GAMjD,OAHA7H,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EAEb/rF,MAeXwB,EAAOqiC,SAASvhC,UAAU+oF,cAAgB,SAAUjD,EAAKC,EAAK2E,EAAMC,EAAM3E,EAAKC,GAEvEvoF,KAAK4rF,YAEwC,IAAzC5rF,KAAK4rF,YAAYjlC,MAAMroB,OAAO37B,SAE9B3C,KAAK4rF,YAAYjlC,MAAMroB,QAAW,EAAG,IAKzCt+B,KAAK6/E,OAAO,EAAE,GAelB,IAAK,IAXDqN,EACAC,EACAC,EACAC,EACAC,EACAhvD,EAASt+B,KAAK4rF,YAAYjlC,MAAMroB,OAEhC4pD,EAAQ5pD,EAAOA,EAAO37B,OAAS,GAC/BwlF,EAAQ7pD,EAAOA,EAAO37B,OAAS,GAC/BkF,EAAI,EAECnF,EAAI,EAAGA,GAZR,KAYkBA,EAMtB0qF,GADAD,GADAD,EAAM,GAFNrlF,EAAInF,EAdA,KAiBOwqF,GACCA,EAGZI,GADAD,EAAKxlF,EAAIA,GACCA,EAEVy2B,EAAOx2B,KAAKslF,EAAMlF,EAAQ,EAAIiF,EAAMtlF,EAAIugF,EAAM,EAAI8E,EAAKG,EAAKL,EAAOM,EAAKhF,EACpE8E,EAAMjF,EAAQ,EAAIgF,EAAMtlF,EAAIwgF,EAAM,EAAI6E,EAAKG,EAAKJ,EAAOK,EAAK/E,GAMpE,OAHAvoF,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EAEb/rF,MAgBXwB,EAAOqiC,SAASvhC,UAAUirF,MAAQ,SAAUjiF,EAAIC,EAAIC,EAAIC,EAAI0pB,GAEpDn1B,KAAK4rF,YAEwC,IAAzC5rF,KAAK4rF,YAAYjlC,MAAMroB,OAAO37B,QAE9B3C,KAAK4rF,YAAYjlC,MAAMroB,OAAOx2B,KAAKwD,EAAIC,GAK3CvL,KAAK6/E,OAAOv0E,EAAIC,GAGpB,IAAI+yB,EAASt+B,KAAK4rF,YAAYjlC,MAAMroB,OAChC4pD,EAAQ5pD,EAAOA,EAAO37B,OAAS,GAE/Bu3B,EADQoE,EAAOA,EAAO37B,OAAS,GAClB4I,EACb6uB,EAAK8tD,EAAQ58E,EACb6uB,EAAK1uB,EAAKF,EACV8uB,EAAK7uB,EAAKF,EACVkiF,EAAK9pF,KAAKizB,IAAIuD,EAAKG,EAAKD,EAAKD,GAEjC,GAAIqzD,EAAK,MAAqB,IAAXr4D,EAEXmJ,EAAOA,EAAO37B,OAAS,KAAO2I,GAAMgzB,EAAOA,EAAO37B,OAAS,KAAO4I,GAElE+yB,EAAOx2B,KAAKwD,EAAIC,OAIxB,CACI,IAAIkiF,EAAKvzD,EAAKA,EAAKE,EAAKA,EACpBszD,EAAKvzD,EAAKA,EAAKE,EAAKA,EACpBszD,EAAKzzD,EAAKC,EAAKC,EAAKC,EACpBuzD,EAAKz4D,EAASzxB,KAAKS,KAAKspF,GAAMD,EAC9BK,EAAK14D,EAASzxB,KAAKS,KAAKupF,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACfx+E,EAAK0+E,EAAKvzD,EAAKwzD,EAAKzzD,EACpBjrB,EAAKy+E,EAAKzzD,EAAK0zD,EAAK3zD,EACpBhH,EAAKkH,GAAMyzD,EAAKC,GAChB/2B,EAAK78B,GAAM2zD,EAAKC,GAChBzI,EAAKhrD,GAAMuzD,EAAKG,GAChBC,EAAK7zD,GAAMyzD,EAAKG,GAChB/3D,EAAatyB,KAAKq5B,MAAMg6B,EAAK5nD,EAAI+jB,EAAKhkB,GACtC+mB,EAAWvyB,KAAKq5B,MAAMixD,EAAK7+E,EAAIk2E,EAAKn2E,GAExClP,KAAK2/E,IAAIzwE,EAAK5D,EAAI6D,EAAK5D,EAAI4pB,EAAQa,EAAYC,EAAUmE,EAAKD,EAAKE,EAAKH,GAM5E,OAHAl6B,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EAEb/rF,MAgBXwB,EAAOqiC,SAASvhC,UAAUq9E,IAAM,SAAUzwE,EAAIC,EAAIgmB,EAAQa,EAAYC,EAAUg4D,EAAeC,GAG3F,GAAIl4D,IAAeC,EAEf,OAAOj2B,UAGWuG,IAAlB0nF,IAA+BA,GAAgB,QAClC1nF,IAAb2nF,IAA0BA,EAAW,KAEpCD,GAAiBh4D,GAAYD,EAE9BC,GAAsB,EAAVvyB,KAAKsxB,GAEZi5D,GAAiBj4D,GAAcC,IAEpCD,GAAwB,EAAVtyB,KAAKsxB,IAGvB,IAAIm5D,EAAQF,GAA2C,GAA1Bj4D,EAAaC,GAAkBA,EAAWD,EACnEo4D,EAAO1qF,KAAKwC,KAAKxC,KAAKizB,IAAIw3D,IAAoB,EAAVzqF,KAAKsxB,KAAWk5D,EAGxD,GAAc,IAAVC,EAEA,OAAOnuF,KAGX,IAAIquF,EAASn/E,EAAKxL,KAAKI,IAAIkyB,GAAcb,EACrCm5D,EAASn/E,EAAKzL,KAAKG,IAAImyB,GAAcb,EAErC84D,GAAiBjuF,KAAKuuF,QAEtBvuF,KAAK6/E,OAAO3wE,EAAIC,GAIhBnP,KAAK6/E,OAAOwO,EAAQC,GAgBxB,IAAK,IAZDhwD,EAASt+B,KAAK4rF,YAAYjlC,MAAMroB,OAEhCkwD,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAAShrF,KAAKI,IAAI0qF,GAClBG,EAASjrF,KAAKG,IAAI2qF,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExBlsF,EAAI,EAAGA,GAAKksF,EAAUlsF,IAC/B,CACI,IAEIkzB,EAAS,EAAUI,EAAcy4D,GAF1B/rF,EAAImsF,EAAYnsF,GAIvBU,EAAIM,KAAKI,IAAI8xB,GACbvxB,GAAKX,KAAKG,IAAI+xB,GAElB0I,EAAOx2B,MAAO4mF,EAAStrF,EAAMurF,EAAStqF,GAAM8wB,EAASjmB,GAC/Cw/E,GAAUrqF,EAAMsqF,EAASvrF,GAAM+xB,EAAShmB,GAMlD,OAHAnP,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EAEb/rF,MAYXwB,EAAOqiC,SAASvhC,UAAUoiC,UAAY,SAAUruB,EAAOpV,GAgBnD,OAdAjB,KAAKuuF,SAAU,EACfvuF,KAAKynF,UAAYpxE,GAAS,EAC1BrW,KAAK0nF,eAAuBnhF,IAAVtF,EAAuB,EAAIA,EAEzCjB,KAAK4rF,aAED5rF,KAAK4rF,YAAYjlC,MAAMroB,OAAO37B,QAAU,IAExC3C,KAAK4rF,YAAYllC,KAAO1mD,KAAKuuF,QAC7BvuF,KAAK4rF,YAAYnE,UAAYznF,KAAKynF,UAClCznF,KAAK4rF,YAAYlE,UAAY1nF,KAAK0nF,WAInC1nF,MASXwB,EAAOqiC,SAASvhC,UAAUsiC,QAAU,WAMhC,OAJA5kC,KAAKuuF,SAAU,EACfvuF,KAAKynF,UAAY,KACjBznF,KAAK0nF,UAAY,EAEV1nF,MAYXwB,EAAOqiC,SAASvhC,UAAUqiC,SAAW,SAAU5gC,EAAGC,EAAGpG,EAAOC,GAIxD,OAFAmC,KAAK+sF,UAAU,IAAIvrF,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,IAE1CmC,MAWXwB,EAAOqiC,SAASvhC,UAAUwsF,gBAAkB,SAAU/qF,EAAGC,EAAGpG,EAAOC,EAAQs3B,GAIvE,OAFAn1B,KAAK+sF,UAAU,IAAIvrF,EAAOqgC,iBAAiB99B,EAAGC,EAAGpG,EAAOC,EAAQs3B,IAEzDn1B,MAYXwB,EAAOqiC,SAASvhC,UAAUysF,WAAa,SAAUhrF,EAAGC,EAAG4wB,GAInD,OAFA50B,KAAK+sF,UAAU,IAAIvrF,EAAOmzB,OAAO5wB,EAAGC,EAAG4wB,IAEhC50B,MAaXwB,EAAOqiC,SAASvhC,UAAU0sF,YAAc,SAAUn3D,EAASC,EAASlB,EAAWC,GAI3E,OAFA72B,KAAK+sF,WAAWhpF,EAAG8zB,EAAS7zB,EAAG8zB,EAASl6B,MAAOg5B,EAAW/4B,OAAQg5B,EAAYrjB,KAAMhS,EAAO0rB,UAEpFltB,MAUXwB,EAAOqiC,SAASvhC,UAAUmqF,YAAc,SAAUwC,GAE1CA,aAAgBztF,EAAOy9B,UAEvBgwD,EAAOA,EAAK3wD,QAOhB,IAAIA,EAAS2wD,EAEb,IAAKxnF,MAAMC,QAAQ42B,GACnB,CAKIA,EAAS,IAAI72B,MAAM6oB,UAAU3tB,QAE7B,IAAK,IAAID,EAAI,EAAGA,EAAI47B,EAAO37B,SAAUD,EAEjC47B,EAAO57B,GAAK4tB,UAAU5tB,GAM9B,OAFA1C,KAAK+sF,UAAU,IAAIvrF,EAAOy9B,QAAQX,IAE3Bt+B,MASXwB,EAAOqiC,SAASvhC,UAAUsY,MAAQ,WAY9B,OAVA5a,KAAK+/E,UAAY,EACjB//E,KAAKuuF,SAAU,EAEfvuF,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EACpB/rF,KAAK6mF,YAAa,EAClB7mF,KAAKymD,gBAELzmD,KAAKksF,oBAEElsF,MAeXwB,EAAOqiC,SAASvhC,UAAUqC,gBAAkB,SAAUC,EAAY9G,EAAW0oB,QAEtDjgB,IAAf3B,IAA4BA,EAAa,QAC3B2B,IAAdzI,IAA2BA,EAAYU,KAAKC,WAAWipB,cAC3CnhB,IAAZigB,IAAyBA,EAAU,GAEvC,IAAI1hB,EAAS9E,KAAKkK,YAElBpF,EAAOlH,OAAS4oB,EAChB1hB,EAAOjH,QAAU2oB,EAEjB,IAAI0oE,EAAe,IAAI1wF,KAAKupB,aAAajjB,EAAOlH,MAAQgH,EAAYE,EAAOjH,OAAS+G,GAEhF7G,EAAUS,KAAKqO,QAAQ6d,WAAWwkE,EAAah4E,OAAQpZ,GAU3D,OARAC,EAAQqI,YAAYxB,WAAaA,EAEjCsqF,EAAaphF,QAAQhN,MAAM8D,EAAYA,GAEvCsqF,EAAaphF,QAAQ+tB,WAAW/2B,EAAOf,GAAIe,EAAOd,GAElDxF,KAAK6pB,eAAeq2D,eAAe1+E,KAAMkvF,EAAaphF,SAE/C/P,GAUXyD,EAAOqiC,SAASvhC,UAAUyD,aAAe,SAAUH,GAG/C,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKwH,OAAvD,CAKA,GAAIxH,KAAKoC,eAiBL,OAfIpC,KAAKwR,OAASxR,KAAKisF,qBAEnBjsF,KAAKqF,wBAGLrF,KAAKmvF,4BAELnvF,KAAKisF,mBAAoB,EACzBjsF,KAAKwR,OAAQ,GAGjBxR,KAAK6F,cAAcvE,WAAatB,KAAKsB,gBAErC9C,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAK6F,cAAeD,GAoB5D,GAdAA,EAAcmG,YAAYI,OAC1BvG,EAAcqS,iBAAiBkD,aAAanb,KAAKiI,WAE7CjI,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAG/C5F,KAAKyG,UAELb,EAAcqG,cAAcC,WAAWlM,KAAK+H,cAI5C/H,KAAKiI,YAAcrC,EAAcmG,YAAY8B,iBACjD,CACIjI,EAAcmG,YAAY8B,iBAAmB7N,KAAKiI,UAClD,IAAI4V,EAAiBrf,KAAK4d,gBAAgBxW,EAAcmG,YAAY8B,kBACpEjI,EAAcmG,YAAYpO,GAAGmgB,UAAUD,EAAe,GAAIA,EAAe,IAa7E,GATI7d,KAAKgsF,aAELhsF,KAAKwR,OAAQ,EACbxR,KAAKgsF,YAAa,GAGtBxtF,KAAKwf,cAAc0gE,eAAe1+E,KAAM4F,GAGpC5F,KAAKyC,SAASE,OAClB,CACIiD,EAAcmG,YAAYO,QAG1B,IAAK,IAAI5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlCA,EAAcmG,YAAYI,OAG1BnM,KAAKyG,UAELb,EAAcqG,cAAcO,YAG5BxM,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQvM,KAAKuH,KAAM3B,GAGjDA,EAAcwS,YAEdxS,EAAcmG,YAAYO,UAWlC9K,EAAOqiC,SAASvhC,UAAU0D,cAAgB,SAAUJ,GAGhD,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKwH,OAAvD,CAYA,GANIxH,KAAKovF,YAAcpvF,KAAK+M,OAExB/M,KAAKwR,OAAQ,EACbxR,KAAKovF,UAAYpvF,KAAK+M,MAGtB/M,KAAKoC,eAiBL,OAfIpC,KAAKwR,OAASxR,KAAKisF,qBAEnBjsF,KAAKqF,wBAGLrF,KAAKmvF,4BAELnvF,KAAKisF,mBAAoB,EACzBjsF,KAAKwR,OAAQ,GAGjBxR,KAAK6F,cAAc5E,MAAQjB,KAAKiB,WAEhCzC,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAK6F,cAAeD,GAM7D,IAAIkI,EAAUlI,EAAckI,QACxBsa,EAAYpoB,KAAKuB,eAEjBvB,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtC6F,EAAQC,yBAA2BvP,KAAKwP,iBAAiBpI,EAAciI,mBAGvE7N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnD,IAAIhB,EAAagB,EAAchB,WAC3BtB,EAAM8kB,EAAU9kB,GAAKsC,EAAchB,WAAcgB,EAAc0I,OAC/D/K,EAAM6kB,EAAU7kB,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAEnET,EAAQe,aAAauZ,EAAUllB,EAAI0B,EAC/BwjB,EAAUjlB,EAAIyB,EACdwjB,EAAUhlB,EAAIwB,EACdwjB,EAAU/kB,EAAIuB,EACdtB,EACAC,GAEJ/E,KAAK6pB,eAAeq2D,eAAe1+E,KAAM8N,GAGzC,IAAK,IAAIpL,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,KAgB9CpE,EAAOqiC,SAASvhC,UAAU4H,UAAY,SAAUwD,GAE5C,GAAI1N,KAAKkC,eAEL,OAAOlC,KAAKkC,eAIhB,GAAIlC,KAAKwH,OAEL,OAAOhG,EAAOogC,eAGd5hC,KAAKwR,QAELxR,KAAKksF,oBACLlsF,KAAKgsF,YAAa,EAClBhsF,KAAKisF,mBAAoB,EACzBjsF,KAAKwR,OAAQ,GAGjB,IAAI1M,EAAS9E,KAAK8rF,aAEd5gF,EAAKpG,EAAOf,EACZoH,EAAKrG,EAAOlH,MAAQkH,EAAOf,EAE3BqH,EAAKtG,EAAOd,EACZqH,EAAKvG,EAAOjH,OAASiH,EAAOd,EAE5BzC,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAEvBwH,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,EAExBhL,KAAKgC,QAAQ+B,EAAI6G,EACjB5K,KAAKgC,QAAQpE,MAAQmN,EAAOH,EAE5B5K,KAAKgC,QAAQgC,EAAI8G,EACjB9K,KAAKgC,QAAQnE,OAASmN,EAAOF,EAE7B9K,KAAKkC,eAAiBlC,KAAKgC,QAEpBhC,KAAKkC,gBAShBV,EAAOqiC,SAASvhC,UAAUyC,eAAiB,WAEvC,IAAIwF,EAAcvK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,EAAOgJ,eAE7B,IAAK,IAAI9H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,kBAGrB,IAAIgC,EAAS9E,KAAKkK,YAIlB,IAFAlK,KAAKuB,eAAiBgJ,EAEjB7H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGI,kBAGrB,OAAOgC,GASXtD,EAAOqiC,SAASvhC,UAAUg/B,cAAgB,SAAUlL,EAAOi5D,QAErC9oF,IAAd8oF,IAA2BA,EAAY,IAAI7tF,EAAOX,OAEtDb,KAAKuB,eAAemE,aAAa0wB,EAAOi5D,GAIxC,IAAK,IAFD5oC,EAAezmD,KAAKymD,aAEf/jD,EAAI,EAAGA,EAAI+jD,EAAa9jD,OAAQD,IACzC,CACI,IAAI0R,EAAOqyC,EAAa/jD,GAExB,GAAK0R,EAAKsyC,OAMNtyC,EAAKuyC,OAEDvyC,EAAKuyC,MAAMr8C,SAAS+kF,EAAUtrF,EAAGsrF,EAAUrrF,IAE3C,OAAO,EAKnB,OAAO,GAaXxC,EAAOqiC,SAASvhC,UAAUgtF,gBAAkB,SAAU55D,GAQlD,OANI11B,KAAK+rF,eAEL/rF,KAAKksF,oBACLlsF,KAAK+rF,cAAe,GAGjB/rF,KAAK8rF,aAAa53D,MAAMwB,IAQnCl0B,EAAOqiC,SAASvhC,UAAU4pF,kBAAoB,WAE1C,IAAIthF,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAEZ,GAAI7K,KAAKymD,aAAa9jD,OAIlB,IAAK,IAFDgkD,EAAOroB,EAAQv6B,EAAGC,EAAGqR,EAAGkP,EAEnB7hB,EAAI,EAAGA,EAAI1C,KAAKymD,aAAa9jD,OAAQD,IAC9C,CACI,IAAI0R,EAAOpU,KAAKymD,aAAa/jD,GACzB8Q,EAAOY,EAAKZ,KACZusE,EAAY3rE,EAAK2rE,UAGrB,GAFAp5B,EAAQvyC,EAAKuyC,MAETnzC,IAAShS,EAAOgsB,WAAaha,IAAShS,EAAOosB,iBAE7C7pB,EAAI4iD,EAAM5iD,EAAIg8E,EAAY,EAC1B/7E,EAAI2iD,EAAM3iD,EAAI+7E,EAAY,EAC1B1qE,EAAIsxC,EAAM/oD,MAAQmiF,EAClBx7D,EAAIoiC,EAAM9oD,OAASkiF,EAEnBn1E,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EACtBE,EAAOhH,EAAIugB,EAAIvZ,EAAOhH,EAAIugB,EAAIvZ,OAE7B,GAAIwI,IAAShS,EAAO+rB,OAErBxpB,EAAI4iD,EAAM5iD,EACVC,EAAI2iD,EAAM3iD,EACVqR,EAAIsxC,EAAMxxB,OAAS4qD,EAAY,EAC/Bx7D,EAAIoiC,EAAMxxB,OAAS4qD,EAAY,EAE/Bn1E,EAAO7G,EAAIsR,EAAIzK,EAAO7G,EAAIsR,EAAIzK,EAC9BG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAIugB,EAAIzZ,EAAO9G,EAAIugB,EAAIzZ,EAC9BE,EAAOhH,EAAIugB,EAAIvZ,EAAOhH,EAAIugB,EAAIvZ,OAE7B,GAAIwI,IAAShS,EAAO0rB,QAErBnpB,EAAI4iD,EAAM5iD,EACVC,EAAI2iD,EAAM3iD,EACVqR,EAAIsxC,EAAM/oD,MAAQmiF,EAAY,EAC9Bx7D,EAAIoiC,EAAM9oD,OAASkiF,EAAY,EAE/Bn1E,EAAO7G,EAAIsR,EAAIzK,EAAO7G,EAAIsR,EAAIzK,EAC9BG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAIugB,EAAIzZ,EAAO9G,EAAIugB,EAAIzZ,EAC9BE,EAAOhH,EAAIugB,EAAIvZ,EAAOhH,EAAIugB,EAAIvZ,MAGlC,CAEIszB,EAASqoB,EAAMroB,OAEf,IAAK,IAAIz2B,EAAI,EAAGA,EAAIy2B,EAAO37B,OAAQkF,IAE3By2B,EAAOz2B,aAAcrG,EAAOX,OAE5BkD,EAAIu6B,EAAOz2B,GAAG9D,EACdC,EAAIs6B,EAAOz2B,GAAG7D,IAIdD,EAAIu6B,EAAOz2B,GACX7D,EAAIs6B,EAAOz2B,EAAI,GAEXA,EAAIy2B,EAAO37B,OAAS,GAEpBkF,KAIR+C,EAAO7G,EAAIg8E,EAAYn1E,EAAO7G,EAAIg8E,EAAYn1E,EAC9CG,EAAOhH,EAAIg8E,EAAYh1E,EAAOhH,EAAIg8E,EAAYh1E,EAE9CD,EAAO9G,EAAI+7E,EAAYj1E,EAAO9G,EAAI+7E,EAAYj1E,EAC9CE,EAAOhH,EAAI+7E,EAAY/0E,EAAOhH,EAAI+7E,EAAY/0E,QAO1DJ,EAAO,EACPG,EAAO,EACPD,EAAO,EACPE,EAAO,EAGX,IAAIwb,EAAUxmB,KAAK6rF,cAEnB7rF,KAAK8rF,aAAa/nF,EAAI6G,EAAO4b,EAC7BxmB,KAAK8rF,aAAaluF,MAASmN,EAAOH,EAAkB,EAAV4b,EAE1CxmB,KAAK8rF,aAAa9nF,EAAI8G,EAAO0b,EAC7BxmB,KAAK8rF,aAAajuF,OAAUmN,EAAOF,EAAkB,EAAV0b,GAS/ChlB,EAAOqiC,SAASvhC,UAAU+C,sBAAwB,WAE9C,IAAIP,EAAS9E,KAAK+E,iBAElB,GAAK/E,KAAK6F,cAYN7F,KAAK6F,cAAcqV,OAAO/U,OAAOrB,EAAOlH,MAAOkH,EAAOjH,YAX1D,CACI,IAAIqxF,EAAe,IAAI1wF,KAAKupB,aAAajjB,EAAOlH,MAAOkH,EAAOjH,QAC1DE,EAAUS,KAAKqO,QAAQ6d,WAAWwkE,EAAah4E,QAEnDlX,KAAK6F,cAAgB,IAAIrH,KAAKsH,OAAO/H,GACrCiC,KAAK6F,cAAcqV,OAASg0E,EAE5BlvF,KAAK6F,cAActE,eAAiBvB,KAAKuB,eAQ7CvB,KAAK6F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOlH,MAClDoC,KAAK6F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOjH,OAGlDmC,KAAK6F,cAAcqV,OAAOpN,QAAQ+tB,WAAW/2B,EAAOf,GAAIe,EAAOd,GAG/DhE,KAAKsB,WAAa,EAGlB9C,KAAK6pB,eAAeq2D,eAAe1+E,KAAMA,KAAK6F,cAAcqV,OAAOpN,SACnE9N,KAAK6F,cAAc5E,MAAQjB,KAAKiB,OASpCO,EAAOqiC,SAASvhC,UAAU6sF,0BAA4B,WAElD,IAAII,EAAevvF,KAAK6F,cACpB9H,EAAUwxF,EAAaxxF,QACvBmZ,EAASq4E,EAAar0E,OAAOhE,OAEjCnZ,EAAQqI,YAAYxI,MAAQsZ,EAAOtZ,MACnCG,EAAQqI,YAAYvI,OAASqZ,EAAOrZ,OACpCE,EAAQ6P,KAAKhQ,MAAQG,EAAQsP,MAAMzP,MAAQsZ,EAAOtZ,MAClDG,EAAQ6P,KAAK/P,OAASE,EAAQsP,MAAMxP,OAASqZ,EAAOrZ,OAEpD0xF,EAAa7iF,OAASwK,EAAOtZ,MAC7B2xF,EAAa5iF,QAAUuK,EAAOrZ,OAG9BE,EAAQqI,YAAYoL,SAQxBhQ,EAAOqiC,SAASvhC,UAAUktF,oBAAsB,WAE5CxvF,KAAK6F,cAAc9H,QAAQyE,SAAQ,GACnCxC,KAAK6F,cAAgB,MAUzBrE,EAAOqiC,SAASvhC,UAAUyqF,UAAY,SAAUpmC,GAExC3mD,KAAK4rF,aAGD5rF,KAAK4rF,YAAYjlC,MAAMroB,OAAO37B,QAAU,GAExC3C,KAAKymD,aAAa7lC,MAI1B5gB,KAAK4rF,YAAc,KAGfjlC,aAAiBnlD,EAAOy9B,UAExB0nB,EAAQA,EAAMzyB,SACRqL,UAGV,IAAInrB,EAAO,IAAI5S,EAAOmqF,aAAa3rF,KAAK+/E,UAAW//E,KAAKuqF,UAAWvqF,KAAKwqF,UAAWxqF,KAAKynF,UAAWznF,KAAK0nF,UAAW1nF,KAAKuuF,QAAS5nC,GAajI,OAXA3mD,KAAKymD,aAAa3+C,KAAKsM,GAEnBA,EAAKZ,OAAShS,EAAOsrB,UAErB1Y,EAAKuyC,MAAMvnB,OAASp/B,KAAKuuF,QACzBvuF,KAAK4rF,YAAcx3E,GAGvBpU,KAAKwR,OAAQ,EACbxR,KAAK+rF,cAAe,EAEb33E,GAcXpN,OAAOyF,eAAejL,EAAOqiC,SAASvhC,UAAW,iBAE7C4E,IAAK,WAED,OAAOlH,KAAKoC,gBAGhB+E,IAAK,SAAUC,GAEXpH,KAAKoC,eAAiBgF,EAElBpH,KAAKoC,eAELpC,KAAKqF,wBAILrF,KAAKwvF,sBAGTxvF,KAAKwR,OAAQ,EACbxR,KAAKgsF,YAAa,KAwB1BxqF,EAAOyD,cAAgB,SAAUlC,EAAMnF,EAAOC,EAAQmV,EAAKlV,EAAW8G,EAAYC,EAAU5F,GAiExF,QA/DcsH,IAAV3I,IAAuBA,EAAQ,UACpB2I,IAAX1I,IAAwBA,EAAS,UACzB0I,IAARyM,IAAqBA,EAAM,SACbzM,IAAdzI,IAA2BA,EAAY0D,EAAO/C,WAAWipB,cAC1CnhB,IAAf3B,IAA4BA,EAAa,QAC5B2B,IAAb1B,IAA0BA,EAAWrG,KAAKiY,sBAC1BlQ,IAAhBtH,IAA6BA,EAAc,GAK/Ce,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAKXhT,KAAKwT,KAAOhS,EAAOkrB,cAMnB1sB,KAAKkF,YAAc,IAAI1D,EAAOC,OAE9BzB,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK4E,WAAaA,EAElB5E,KAAKqN,MAAQ,IAAI7L,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAEzF5E,KAAK4N,KAAO5N,KAAKqN,MAAM6mB,QAQvBl0B,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAC5BnqB,KAAKoG,YAAYxI,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAC3C5E,KAAKoG,YAAYvI,OAASmC,KAAKnC,OAASmC,KAAK4E,WAC7C5E,KAAKoG,YAAY6N,eACjBjU,KAAKoG,YAAYxB,WAAa5E,KAAK4E,WAEnC5E,KAAKoG,YAAYtI,UAAYA,EAE7BkC,KAAKoG,YAAY+G,WAAY,EAE7B3O,KAAKqO,QAAQrI,KAAKxE,KAAMA,KAAKoG,YAAapG,KAAKqN,MAAM6mB,SAQrDl0B,KAAK6E,SAAWA,EAEZ7E,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAClC,CACI,IAAIhZ,EAAKqC,KAAK6E,SAASlH,GACvBqC,KAAKoG,YAAYE,aAAerH,EAChCe,KAAKoG,YAAYkP,OAAO3X,EAAGuW,KAAM,EAEjClU,KAAKyvF,cAAgB,IAAIjxF,KAAK+nB,cAAc5oB,EAAIqC,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKoG,YAAYtI,UAAWmB,GACrGe,KAAKoG,YAAY6N,YAAYtW,EAAGuW,IAAMlU,KAAKyvF,cAAc1xF,QAEzDiC,KAAKwX,WAAa,IAAIhW,EAAOX,MAAmB,GAAbb,KAAKpC,MAA4B,IAAdoC,KAAKnC,aAI3DmC,KAAKyvF,cAAgB,IAAIjxF,KAAKupB,aAAa/nB,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAC5F5E,KAAKoG,YAAYgJ,OAASpP,KAAKyvF,cAAcv4E,OAOjDlX,KAAKyN,OAAQ,EAEbzN,KAAK0vF,WAAa,IAAIluF,EAAOC,OAE7BzB,KAAKirB,cAGTzpB,EAAOyD,cAAc3C,UAAY0E,OAAOwB,OAAOhK,KAAKqO,QAAQvK,WAC5Dd,EAAOyD,cAAc3C,UAAUC,YAAcf,EAAOyD,cAepDzD,EAAOyD,cAAc3C,UAAUqtF,SAAW,SAAU10E,EAAelX,EAAGC,EAAG4W,GAErEK,EAAcnY,kBAEd9C,KAAKkF,YAAYmwB,SAASpa,EAAc1Z,gBACxCvB,KAAKkF,YAAY5B,GAAKS,EACtB/D,KAAKkF,YAAY3B,GAAKS,EAElBhE,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAakV,EAAejb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAciV,EAAejb,KAAKkF,YAAa0V,IAiB5DpZ,EAAOyD,cAAc3C,UAAUstF,YAAc,SAAU30E,EAAelX,EAAGC,EAAG4W,GAExE5a,KAAKkF,YAAY+2B,WAAWJ,UAAU93B,EAAGC,GAErChE,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAakV,EAAejb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAciV,EAAejb,KAAKkF,YAAa0V,IAmB5DpZ,EAAOyD,cAAc3C,UAAU6C,OAAS,SAAU8V,EAAevN,EAAQkN,QAEtDrU,IAAXmH,GAAmC,OAAXA,EAExB1N,KAAKkF,YAAYmwB,SAASpa,EAAc1Z,gBAIxCvB,KAAKkF,YAAYmwB,SAAS3nB,GAG1B1N,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAakV,EAAejb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAciV,EAAejb,KAAKkF,YAAa0V,IAY5DpZ,EAAOyD,cAAc3C,UAAU6D,OAAS,SAAUvI,EAAOC,EAAQgyF,GAEzDjyF,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAK5CmC,KAAKyN,MAAS7P,EAAQ,GAAKC,EAAS,EAEpCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKqN,MAAMzP,MAAQoC,KAAK4N,KAAKhQ,MAAQA,EAAQoC,KAAK4E,WAClD5E,KAAKqN,MAAMxP,OAASmC,KAAK4N,KAAK/P,OAASA,EAASmC,KAAK4E,WAEjDirF,IAEA7vF,KAAKoG,YAAYxI,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAC3C5E,KAAKoG,YAAYvI,OAASmC,KAAKnC,OAASmC,KAAK4E,YAG7C5E,KAAK6E,SAAS2O,OAAShS,EAAOmV,QAE9B3W,KAAKwX,WAAWzT,EAAI/D,KAAKpC,MAAQ,EACjCoC,KAAKwX,WAAWxT,GAAKhE,KAAKnC,OAAS,GAGlCmC,KAAKyN,OAKVzN,KAAKyvF,cAActpF,OAAOnG,KAAKpC,MAAOoC,KAAKnC,UAQ/C2D,EAAOyD,cAAc3C,UAAUsY,MAAQ,WAE9B5a,KAAKyN,QAKNzN,KAAK6E,SAAS2O,OAAShS,EAAOmV,OAE9B3W,KAAK6E,SAASlH,GAAG+B,gBAAgBM,KAAK6E,SAASlH,GAAGgC,YAAaK,KAAKyvF,cAAchpE,aAGtFzmB,KAAKyvF,cAAc70E,UAavBpZ,EAAOyD,cAAc3C,UAAUyD,aAAe,SAAUkV,EAAevN,EAAQkN,GAE3E,GAAK5a,KAAKyN,OAAiC,IAAxBwN,EAAcha,MAAjC,CASA,IAAIwC,EAAKwX,EAAc1Z,eACvBkC,EAAGw4B,WACHx4B,EAAGo4B,UAAU,EAAuB,EAApB77B,KAAKwX,WAAWxT,GAE5B0J,GAEAjK,EAAGs4B,OAAOruB,GAGdjK,EAAG3C,MAAM,GAAI,GAGb,IAAK,IAAI4B,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/CuY,EAAcxY,SAASC,GAAGI,kBAI9B,IAAInF,EAAKqC,KAAK6E,SAASlH,GAEvBA,EAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAEnEjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAKyvF,cAAchpE,aAElD7L,GAEA5a,KAAKyvF,cAAc70E,QAGvB5a,KAAK6E,SAASkH,YAAYyF,OAAQ,EAElCxR,KAAK6E,SAASmW,oBAAoBC,EAAejb,KAAKwX,WAAYxX,KAAKyvF,cAAchpE,YAAa/Y,GAElG1N,KAAK6E,SAASkH,YAAYyF,OAAQ,EAElC7T,EAAG+B,gBAAgB/B,EAAGgC,YAAa,QAYvC6B,EAAOyD,cAAc3C,UAAU0D,cAAgB,SAAUiV,EAAevN,EAAQkN,GAE5E,GAAK5a,KAAKyN,OAAiC,IAAxBwN,EAAcha,MAAjC,CASA,IAAIwC,EAAKwX,EAAc1Z,eACvBkC,EAAGw4B,WAECvuB,GAEAjK,EAAGs4B,OAAOruB,GAId,IAAK,IAAIhL,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/CuY,EAAcxY,SAASC,GAAGI,kBAG1B8X,GAEA5a,KAAKyvF,cAAc70E,QAGvB,IAAIk1E,EAAiB9vF,KAAK6E,SAASD,WAEnC5E,KAAK6E,SAASD,WAAa5E,KAAK4E,WAEhC5E,KAAK6E,SAASmW,oBAAoBC,EAAejb,KAAKyvF,cAAc3hF,QAASJ,GAE7E1N,KAAK6E,SAASD,WAAakrF,IAmB/BtuF,EAAOyD,cAAc3C,UAAU4vE,SAAW,SAAU1+D,EAAMioE,EAAgBE,EAAgBC,GAEtF,IAAI1hE,EAAQ,IAAIu5D,MAMhB,OALAv5D,EAAMrK,IAAM7P,KAAKw7E,UAAUhoE,EAAMioE,GAE7BE,IAAkBzhE,EAAM2hE,OAASF,GACjCC,IAAmB1hE,EAAM4hE,QAAUF,GAEhC1hE,GAaX1Y,EAAOyD,cAAc3C,UAAUk5E,UAAY,SAAUhoE,EAAMioE,GAEvD,OAAOz7E,KAAKm+E,YAAYzC,UAAUloE,EAAMioE,IAS5Cj6E,EAAOyD,cAAc3C,UAAU67E,UAAY,WAEvC,GAAIn+E,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAClC,CACI,IAAIhZ,EAAKqC,KAAK6E,SAASlH,GACnBC,EAAQoC,KAAKyvF,cAAc7xF,MAC3BC,EAASmC,KAAKyvF,cAAc5xF,OAE5BkyF,EAAc,IAAIC,WAAW,EAAIpyF,EAAQC,GAE7CF,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAKyvF,cAAchpE,aACtD9oB,EAAGsyF,WAAW,EAAG,EAAGryF,EAAOC,EAAQF,EAAGmB,KAAMnB,EAAGoB,cAAegxF,GAC9DpyF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAEnC,IAAIuwF,EAAa,IAAI1xF,KAAKupB,aAAanqB,EAAOC,GAC1CsyF,EAAaD,EAAWpiF,QAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAK9D,OAJAsyF,EAAW/7E,KAAKjN,IAAI4oF,GAEpBG,EAAWpiF,QAAQub,aAAa8mE,EAAY,EAAG,GAExCD,EAAWh5E,OAIlB,OAAOlX,KAAKyvF,cAAcv4E,QA2ClC1V,EAAOgzE,KAAO,SAAUzxE,EAAMgB,EAAGC,EAAGuwE,EAAMj5D,GAEtCvX,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAILuwE,OAFShuE,IAATguE,GAA+B,OAATA,EAEf,GAIAA,EAAK3rD,WAMhB5oB,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,MAEvCwB,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGxF,KAAKqO,QAAQ6d,WAAW1qB,KAAKkX,SAMlElX,KAAKwT,KAAOhS,EAAO8qB,KAMnBtsB,KAAKuyC,YAAc/wC,EAAO0qB,OAO1BlsB,KAAKwmB,QAAU,IAAIhlB,EAAOX,MAQ1Bb,KAAKowF,WAAa,KAKlBpwF,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAKtCxY,KAAKsiB,UAKLtiB,KAAKqwF,gBAKLrwF,KAAKswF,cAKLtwF,KAAKuwF,eAQLvwF,KAAKwwF,WAAY,EAajBxwF,KAAKywF,iBAAkB,EAQvBzwF,KAAK0wF,YAAc,iBAOnB1wF,KAAK2wF,oBAAsB,EAO3B3wF,KAAK4wF,qBAAuB,GAO5B5wF,KAAK6wF,YAAc,OAMnB7wF,KAAK8wF,KAAO/tF,EAAK8B,SAASD,WAM1B5E,KAAK+wF,MAAQxc,EAMbv0E,KAAKgxF,gBAAkB,KAMvBhxF,KAAKixF,aAAe,EAMpBjxF,KAAKkxF,WAAa,EAMlBlxF,KAAK0M,OAAS,EAMd1M,KAAK2M,QAAU,EAMf3M,KAAKsb,SAELtb,KAAKmxF,SAAS71E,OAED,KAATi5D,GAEAv0E,KAAKoxF,cAIb5vF,EAAOgzE,KAAKlyE,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACpDd,EAAOgzE,KAAKlyE,UAAUC,YAAcf,EAAOgzE,KAQ3ChzE,EAAOgzE,KAAKlyE,UAAUoC,UAAY,WAE9B,SAAK1E,KAAKy2E,oBAAuBz2E,KAAK02E,qBAAwB12E,KAAK22E,qBAK5D32E,KAAK42E,iBAShBp1E,EAAOgzE,KAAKlyE,UAAUwiC,OAAS,aAW/BtjC,EAAOgzE,KAAKlyE,UAAUE,QAAU,SAAU+3C,GAEtCv6C,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOqpE,UAAU8C,QAAQrrE,UAAUE,QAAQgC,KAAKxE,KAAMu6C,IAkB1D/4C,EAAOgzE,KAAKlyE,UAAU+uF,UAAY,SAAUttF,EAAGC,EAAGqS,EAAOuoE,EAAM0S,EAAcC,GAiBzE,YAfUhrF,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV8P,IAAuBA,EAAQ,yBACtB9P,IAATq4E,IAAsBA,EAAO,QACZr4E,IAAjB+qF,IAA8BA,GAAe,QAC9B/qF,IAAfgrF,IAA4BA,GAAa,GAE7CvxF,KAAKsb,MAAMyjE,cAAgBh7E,EAC3B/D,KAAKsb,MAAM0jE,cAAgBh7E,EAC3BhE,KAAKsb,MAAMujE,YAAcxoE,EACzBrW,KAAKsb,MAAMwjE,WAAaF,EACxB5+E,KAAKsb,MAAMg2E,aAAeA,EAC1BtxF,KAAKsb,MAAMi2E,WAAaA,EACxBvxF,KAAKwR,OAAQ,EAENxR,MA2BXwB,EAAOgzE,KAAKlyE,UAAU6uF,SAAW,SAAU71E,EAAOwpB,QAE/Bv+B,IAAXu+B,IAAwBA,GAAS,GAErC,IAAI0sD,EAAWxqF,OAAOiqB,UAAW3V,GACjCk2E,EAASrc,KAAO75D,EAAM65D,MAAQ,kBAC9Bqc,EAAS/hD,gBAAkBn0B,EAAMm0B,iBAAmB,KACpD+hD,EAAS9qC,KAAOprC,EAAMorC,MAAQ,QAC9B8qC,EAAS18C,OAASx5B,EAAMw5B,OAAS,QAAQqZ,cACzCqjC,EAASC,cAAgBn2E,EAAMm2E,cAAgB,QAAQtjC,cACvDqjC,EAASE,cAAgBp2E,EAAMo2E,cAAgB,OAAOvjC,cACtDqjC,EAASvR,OAAS3kE,EAAM2kE,QAAU,QAClCuR,EAASG,gBAAkB9xD,OAAOvkB,EAAMq2E,kBAAoB,EAC5DH,EAASI,SAAWt2E,EAAMs2E,WAAY,EACtCJ,EAASK,cAAgBv2E,EAAMu2E,eAAiB,IAChDL,EAASM,SAAWx2E,EAAMw2E,UAAY,EACtCN,EAASzS,cAAgBzjE,EAAMyjE,eAAiB,EAChDyS,EAASxS,cAAgB1jE,EAAM0jE,eAAiB,EAChDwS,EAAS3S,YAAcvjE,EAAMujE,aAAe,gBAC5C2S,EAAS1S,WAAaxjE,EAAMwjE,YAAc,EAC1C0S,EAASO,KAAOz2E,EAAMy2E,MAAQ,EAE9B,IAAI/lB,EAAahsE,KAAKgyF,iBAAiBR,EAASrc,MAuChD,OArCIqc,EAASS,YAETjmB,EAAWimB,UAAYT,EAASS,WAGhCT,EAASU,cAETlmB,EAAWkmB,YAAcV,EAASU,aAGlCV,EAASW,aAETnmB,EAAWmmB,WAAaX,EAASW,YAGjCX,EAASY,WAEwB,iBAAtBZ,EAASY,WAEhBZ,EAASY,SAAWZ,EAASY,SAAW,MAG5CpmB,EAAWomB,SAAWZ,EAASY,UAGnCpyF,KAAKgxF,gBAAkBhlB,EAEvBwlB,EAASrc,KAAOn1E,KAAKqyF,iBAAiBryF,KAAKgxF,iBAE3ChxF,KAAKsb,MAAQk2E,EACbxxF,KAAKwR,OAAQ,EAETszB,GAEA9kC,KAAKoxF,aAGFpxF,MASXwB,EAAOgzE,KAAKlyE,UAAU8uF,WAAa,WAE/BpxF,KAAKjC,QAAQqI,YAAYxB,WAAa5E,KAAK8wF,KAE3C9wF,KAAK8N,QAAQqnE,KAAOn1E,KAAKsb,MAAM65D,KAE/B,IAAImd,EAAatyF,KAAKu0E,KAElBv0E,KAAK2wF,oBAAsB,GAAK3wF,KAAK2wF,mBAAqB2B,EAAW3vF,SAErE2vF,EAAatyF,KAAKu0E,KAAKge,UAAU,EAAGvyF,KAAK2wF,oBAAsB3wF,KAAK4wF,sBAGpE5wF,KAAKsb,MAAMs2E,WAEXU,EAAatyF,KAAKwyF,YAAYxyF,KAAKu0E,OAIvC,IAAIke,EAAQH,EAAWzgE,MAAM7xB,KAAK0wF,aAG9BqB,EAAO/xF,KAAKsb,MAAMy2E,KAClBW,KACAC,EAAe,EACfC,EAAiB5yF,KAAK6yF,wBAAwB7yF,KAAKsb,MAAM65D,MAEzD2d,EAAaL,EAAM9vF,OAEnB3C,KAAKsb,MAAMw2E,SAAW,GAAK9xF,KAAKsb,MAAMw2E,SAAWW,EAAM9vF,SAEvDmwF,EAAa9yF,KAAKsb,MAAMw2E,UAG5B9xF,KAAKkxF,WAAa,EAElB,IAAK,IAAIxuF,EAAI,EAAGA,EAAIowF,EAAYpwF,IAChC,CACI,GAAa,IAATqvF,EACJ,CAEQhS,EAAY//E,KAAKsb,MAAMq2E,gBAAkB3xF,KAAKwmB,QAAQziB,EAEtD/D,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAKqwF,aAAa1tF,OAAS,GAAK3C,KAAKuwF,YAAY5tF,OAAS,GAAK3C,KAAKswF,WAAW3tF,OAAS,EAElHo9E,GAAa//E,KAAK+yF,YAAYN,EAAM/vF,IAIpCq9E,GAAa//E,KAAK8N,QAAQklF,YAAYP,EAAM/vF,IAAI9E,MAIhDoC,KAAKsb,MAAMs2E,WAEX7R,GAAa//E,KAAK8N,QAAQklF,YAAY,KAAKp1F,WAInD,CAEI,IAAI86B,EAAO+5D,EAAM/vF,GAAGmvB,MAAM,UACtBkuD,EAAY//E,KAAKwmB,QAAQziB,EAAI/D,KAAKsb,MAAMq2E,gBAE5C,GAAIlqF,MAAMC,QAAQqqF,GAId,IAAK,IAFDkB,EAAM,EAED7vF,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IACjC,CACI,IAAI8vF,EAAU,EAIVA,EAFAlzF,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAKqwF,aAAa1tF,OAAS,GAAK3C,KAAKuwF,YAAY5tF,OAAS,GAAK3C,KAAKswF,WAAW3tF,OAAS,EAExG3C,KAAK+yF,YAAYr6D,EAAKt1B,IAItBM,KAAKwC,KAAKlG,KAAK8N,QAAQklF,YAAYt6D,EAAKt1B,IAAIxF,OAGtDwF,EAAI,IAEJ6vF,GAAOlB,EAAK3uF,EAAI,IAGpB28E,EAAYkT,EAAMC,OAKtB,IAAS9vF,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IAGzBpD,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAKqwF,aAAa1tF,OAAS,GAAK3C,KAAKuwF,YAAY5tF,OAAS,GAAK3C,KAAKswF,WAAW3tF,OAAS,EAElHo9E,GAAa//E,KAAK+yF,YAAYr6D,EAAKt1B,IAInC28E,GAAar8E,KAAKwC,KAAKlG,KAAK8N,QAAQklF,YAAYt6D,EAAKt1B,IAAIxF,OAK7DmiF,GAFW//E,KAAK+C,KAAKyiC,KAAK2tD,WAAWpT,EAAWgS,GAAQhS,EAOpE2S,EAAWhwF,GAAKgB,KAAKwC,KAAK65E,GAC1B4S,EAAejvF,KAAKuC,IAAI0sF,EAAcD,EAAWhwF,IAGrD1C,KAAKkX,OAAOtZ,MAAQ+0F,EAAe3yF,KAAK8wF,KAGxC,IAAIsC,EAAaR,EAAeR,SAAWpyF,KAAKsb,MAAMq2E,gBAAkB3xF,KAAKwmB,QAAQxiB,EACjFnG,EAASu1F,EAAaN,EACtBO,EAAcrzF,KAAKixF,aAEnBoC,EAAc,GAAK3vF,KAAKizB,IAAI08D,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,IAEAx1F,GAAWw1F,EAAc,EAAKA,EAAcZ,EAAM9vF,OAAS0wF,GAAeZ,EAAM9vF,OAAS,IAG7F3C,KAAKkX,OAAOrZ,OAASA,EAASmC,KAAK8wF,KAEnC9wF,KAAK8N,QAAQhN,MAAMd,KAAK8wF,KAAM9wF,KAAK8wF,MAE/BnnE,UAAUC,YAEV5pB,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAKkX,OAAOtZ,MAAOoC,KAAKkX,OAAOrZ,QAG5DmC,KAAKsb,MAAMm0B,kBAEXzvC,KAAK8N,QAAQ6a,UAAY3oB,KAAKsb,MAAMm0B,gBACpCzvC,KAAK8N,QAAQgb,SAAS,EAAG,EAAG9oB,KAAKkX,OAAOtZ,MAAOoC,KAAKkX,OAAOrZ,SAG/DmC,KAAK8N,QAAQ6a,UAAY3oB,KAAKsb,MAAMorC,KACpC1mD,KAAK8N,QAAQqnE,KAAOn1E,KAAKsb,MAAM65D,KAC/Bn1E,KAAK8N,QAAQkyE,YAAchgF,KAAKsb,MAAM2kE,OACtCjgF,KAAK8N,QAAQwlF,aAAe,aAE5BtzF,KAAK8N,QAAQiyE,UAAY//E,KAAKsb,MAAMq2E,gBACpC3xF,KAAK8N,QAAQylF,QAAU,QACvBvzF,KAAK8N,QAAQ0lF,SAAW,QAExB,IAAIC,EACAC,EAKJ,IAHA1zF,KAAKkxF,WAAa,EAGbxuF,EAAI,EAAGA,EAAIowF,EAAYpwF,IAIxB+wF,EAAgBzzF,KAAKsb,MAAMq2E,gBAAkB,EAC7C+B,EAAiB1zF,KAAKsb,MAAMq2E,gBAAkB,EAAIjvF,EAAI0wF,EAAcR,EAAee,OAE/EjxF,EAAI,IAEJgxF,GAAkBL,EAAc3wF,GAGX,UAArB1C,KAAKsb,MAAMw5B,MAEX2+C,GAAiBd,EAAeD,EAAWhwF,GAEjB,WAArB1C,KAAKsb,MAAMw5B,QAEhB2+C,IAAkBd,EAAeD,EAAWhwF,IAAM,GAGlD1C,KAAKwwF,YAELiD,EAAgB/vF,KAAK+xB,MAAMg+D,GAC3BC,EAAgBhwF,KAAK+xB,MAAMi+D,IAG3B1zF,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAKqwF,aAAa1tF,OAAS,GAAK3C,KAAKuwF,YAAY5tF,OAAS,GAAK3C,KAAKswF,WAAW3tF,OAAS,EAElH3C,KAAK4zF,WAAWnB,EAAM/vF,GAAI+wF,EAAeC,IAIrC1zF,KAAKsb,MAAM2kE,QAAUjgF,KAAKsb,MAAMq2E,kBAEhC3xF,KAAK6zF,aAAa7zF,KAAKsb,MAAMg2E,cAEhB,IAATS,EAEA/xF,KAAK8N,QAAQgmF,WAAWrB,EAAM/vF,GAAI+wF,EAAeC,GAIjD1zF,KAAK+zF,cAActB,EAAM/vF,GAAI+wF,EAAeC,GAAe,IAI/D1zF,KAAKsb,MAAMorC,OAEX1mD,KAAK6zF,aAAa7zF,KAAKsb,MAAMi2E,YAEhB,IAATQ,EAEA/xF,KAAK8N,QAAQ2xE,SAASgT,EAAM/vF,GAAI+wF,EAAeC,GAI/C1zF,KAAK+zF,cAActB,EAAM/vF,GAAI+wF,EAAeC,GAAe,KAM3E1zF,KAAKwV,gBAELxV,KAAKwR,OAAQ,GAcjBhQ,EAAOgzE,KAAKlyE,UAAUyxF,cAAgB,SAAUr7D,EAAM30B,EAAGC,EAAG0iD,GAExD,IAAI6tB,EAAO77C,EAAK7G,MAAM,UAClBkgE,EAAO/xF,KAAKsb,MAAMy2E,KAClBiC,EAAO,EAEX,GAAIvsF,MAAMC,QAAQqqF,GAId,IAAK,IAFDkB,EAAM,EAED7vF,EAAI,EAAGA,EAAImxE,EAAK5xE,OAAQS,IAEzBA,EAAI,IAEJ6vF,GAAOlB,EAAK3uF,EAAI,IAGpB4wF,EAAOjwF,EAAIkvF,EAEPvsC,EAEA1mD,KAAK8N,QAAQ2xE,SAASlL,EAAKnxE,GAAI4wF,EAAMhwF,GAIrChE,KAAK8N,QAAQgmF,WAAWvf,EAAKnxE,GAAI4wF,EAAMhwF,QAM/C,IAASZ,EAAI,EAAGA,EAAImxE,EAAK5xE,OAAQS,IACjC,CACI,IAAI8vF,EAAUxvF,KAAKwC,KAAKlG,KAAK8N,QAAQklF,YAAYze,EAAKnxE,IAAIxF,OAG1Do2F,EAAOh0F,KAAK+C,KAAKyiC,KAAK2tD,WAAWpvF,EAAGguF,GAEhCrrC,EAEA1mD,KAAK8N,QAAQ2xE,SAASlL,EAAKnxE,GAAI4wF,EAAMhwF,GAIrChE,KAAK8N,QAAQgmF,WAAWvf,EAAKnxE,GAAI4wF,EAAMhwF,GAG3CD,EAAIiwF,EAAOd,IAYvB1xF,EAAOgzE,KAAKlyE,UAAUuxF,aAAe,SAAUvtD,GAEvCA,GAEAtmC,KAAK8N,QAAQixE,cAAgB/+E,KAAKsb,MAAMyjE,cACxC/+E,KAAK8N,QAAQkxE,cAAgBh/E,KAAKsb,MAAM0jE,cACxCh/E,KAAK8N,QAAQ+wE,YAAc7+E,KAAKsb,MAAMujE,YACtC7+E,KAAK8N,QAAQgxE,WAAa9+E,KAAKsb,MAAMwjE,aAIrC9+E,KAAK8N,QAAQixE,cAAgB,EAC7B/+E,KAAK8N,QAAQkxE,cAAgB,EAC7Bh/E,KAAK8N,QAAQ+wE,YAAc,EAC3B7+E,KAAK8N,QAAQgxE,WAAa,IAYlCt9E,EAAOgzE,KAAKlyE,UAAUywF,YAAc,SAAUr6D,GAI1C,IAAK,IAFDu7D,EAAa,EAERvxF,EAAI,EAAGA,EAAIg2B,EAAK/1B,OAAQD,IACjC,CACI,IAAIwxF,EAASx7D,EAAKh2B,GAElB,GAAI1C,KAAKuwF,YAAY5tF,OAAS,GAAK3C,KAAKswF,WAAW3tF,OAAS,EAC5D,CACI,IAAIqpE,EAAahsE,KAAKgyF,iBAAiBhyF,KAAK8N,QAAQqnE,MAEhDn1E,KAAKswF,WAAWtwF,KAAKkxF,cAErBllB,EAAWimB,UAAYjyF,KAAKswF,WAAWtwF,KAAKkxF,aAG5ClxF,KAAKuwF,YAAYvwF,KAAKkxF,cAEtBllB,EAAWmmB,WAAanyF,KAAKuwF,YAAYvwF,KAAKkxF,aAGlDlxF,KAAK8N,QAAQqnE,KAAOn1E,KAAKqyF,iBAAiBrmB,GAG1ChsE,KAAKsb,MAAM2kE,QAAUjgF,KAAKsb,MAAMq2E,kBAE5B3xF,KAAKqwF,aAAarwF,KAAKkxF,cAEvBlxF,KAAK8N,QAAQkyE,YAAchgF,KAAKqwF,aAAarwF,KAAKkxF,aAGtDlxF,KAAK6zF,aAAa7zF,KAAKsb,MAAMg2E,eAG7BtxF,KAAKsb,MAAMorC,OAEP1mD,KAAKsiB,OAAOtiB,KAAKkxF,cAEjBlxF,KAAK8N,QAAQ6a,UAAY3oB,KAAKsiB,OAAOtiB,KAAKkxF,aAG9ClxF,KAAK6zF,aAAa7zF,KAAKsb,MAAMi2E,aAGjC0C,GAAcj0F,KAAK8N,QAAQklF,YAAYkB,GAAQt2F,MAE/CoC,KAAKkxF,aAGT,OAAOxtF,KAAKwC,KAAK+tF,IASrBzyF,EAAOgzE,KAAKlyE,UAAUsxF,WAAa,SAAUl7D,EAAM30B,EAAGC,GAElD,IAAK,IAAItB,EAAI,EAAGA,EAAIg2B,EAAK/1B,OAAQD,IACjC,CACI,IAAIwxF,EAASx7D,EAAKh2B,GAElB,GAAI1C,KAAKuwF,YAAY5tF,OAAS,GAAK3C,KAAKswF,WAAW3tF,OAAS,EAC5D,CACI,IAAIqpE,EAAahsE,KAAKgyF,iBAAiBhyF,KAAK8N,QAAQqnE,MAEhDn1E,KAAKswF,WAAWtwF,KAAKkxF,cAErBllB,EAAWimB,UAAYjyF,KAAKswF,WAAWtwF,KAAKkxF,aAG5ClxF,KAAKuwF,YAAYvwF,KAAKkxF,cAEtBllB,EAAWmmB,WAAanyF,KAAKuwF,YAAYvwF,KAAKkxF,aAGlDlxF,KAAK8N,QAAQqnE,KAAOn1E,KAAKqyF,iBAAiBrmB,GAG1ChsE,KAAKsb,MAAM2kE,QAAUjgF,KAAKsb,MAAMq2E,kBAE5B3xF,KAAKqwF,aAAarwF,KAAKkxF,cAEvBlxF,KAAK8N,QAAQkyE,YAAchgF,KAAKqwF,aAAarwF,KAAKkxF,aAGtDlxF,KAAK6zF,aAAa7zF,KAAKsb,MAAMg2E,cAC7BtxF,KAAK8N,QAAQgmF,WAAWI,EAAQnwF,EAAGC,IAGnChE,KAAKsb,MAAMorC,OAEP1mD,KAAKsiB,OAAOtiB,KAAKkxF,cAEjBlxF,KAAK8N,QAAQ6a,UAAY3oB,KAAKsiB,OAAOtiB,KAAKkxF,aAG9ClxF,KAAK6zF,aAAa7zF,KAAKsb,MAAMi2E,YAC7BvxF,KAAK8N,QAAQ2xE,SAASyU,EAAQnwF,EAAGC,IAGrCD,GAAK/D,KAAK8N,QAAQklF,YAAYkB,GAAQt2F,MAEtCoC,KAAKkxF,eAUb1vF,EAAOgzE,KAAKlyE,UAAU6xF,YAAc,WAMhC,OAJAn0F,KAAKsiB,UACLtiB,KAAKqwF,gBACLrwF,KAAKwR,OAAQ,EAENxR,MASXwB,EAAOgzE,KAAKlyE,UAAU8xF,gBAAkB,WAMpC,OAJAp0F,KAAKswF,cACLtwF,KAAKuwF,eACLvwF,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOgzE,KAAKlyE,UAAU+xF,SAAW,SAAUh+E,EAAOzV,GAK9C,OAHAZ,KAAKsiB,OAAO1hB,GAAYyV,EACxBrW,KAAKwR,OAAQ,EAENxR,MAoBXwB,EAAOgzE,KAAKlyE,UAAUgyF,eAAiB,SAAUj+E,EAAOzV,GAKpD,OAHAZ,KAAKqwF,aAAazvF,GAAYyV,EAC9BrW,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOgzE,KAAKlyE,UAAUiyF,aAAe,SAAUj5E,EAAO1a,GAKlD,OAHAZ,KAAKswF,WAAW1vF,GAAY0a,EAC5Btb,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOgzE,KAAKlyE,UAAUkyF,cAAgB,SAAUC,EAAQ7zF,GAKpD,OAHAZ,KAAKuwF,YAAY3vF,GAAY6zF,EAC7Bz0F,KAAKwR,OAAQ,EAENxR,MAcXwB,EAAOgzE,KAAKlyE,UAAUoyF,qBAAuB,SAAUngB,GAOnD,OALAv0E,KAAKjC,QAAQqI,YAAYxB,WAAa5E,KAAK8wF,KAC3C9wF,KAAK8N,QAAQqnE,KAAOn1E,KAAKsb,MAAM65D,KAEZn1E,KAAKwyF,YAAYje,GAEhB1iD,MAAM,mBAU9BrwB,EAAOgzE,KAAKlyE,UAAUkwF,YAAc,SAAUje,GAE1C,OAAIv0E,KAAKywF,gBAEEzwF,KAAK20F,iBAAiBpgB,GAItBv0E,KAAK40F,cAAcrgB,IAclC/yE,EAAOgzE,KAAKlyE,UAAUqyF,iBAAmB,SAAUpgB,GAiB/C,IAAK,IAfDzmE,EAAU9N,KAAK8N,QACf+jF,EAAgB7xF,KAAKsb,MAAMu2E,cAE3Bn8D,EAAS,GAMT+8D,EAAQle,EACPjgD,QAAQ,OAAQ,KAChBzC,MAAM,WAEPgjE,EAAapC,EAAM9vF,OAEdD,EAAI,EAAGA,EAAImyF,EAAYnyF,IAChC,CACI,IAAIg2B,EAAO+5D,EAAM/vF,GACbuyB,EAAM,GAWV,GARAyD,EAAOA,EAAKpE,QAAQ,aAAc,IAMlBxmB,EAAQklF,YAAYt6D,GAAM96B,MAE1Bi0F,EAEZn8D,GAAUgD,EAAO,SAFrB,CAYA,IAAK,IALDo8D,EAAmBjD,EAGnBkD,EAAQr8D,EAAK7G,MAAM,KAEdhqB,EAAI,EAAGA,EAAIktF,EAAMpyF,OAAQkF,IAClC,CACI,IAAImtF,EAAOD,EAAMltF,GACbotF,EAAgBD,EAAO,IACvBE,EAAYpnF,EAAQklF,YAAYiC,GAAer3F,MAEnD,GAAIs3F,EAAYJ,EAChB,CAEI,GAAU,IAANjtF,EACJ,CAII,IAFA,IAAIstF,EAAUF,EAEPE,EAAQxyF,SAEXwyF,EAAUA,EAAQnlE,MAAM,GAAI,MAC5BklE,EAAYpnF,EAAQklF,YAAYmC,GAASv3F,QAExBk3F,MAUrB,IAAKK,EAAQxyF,OAET,MAAM,IAAIoG,MAAM,sEAIpB,IAAIqsF,EAAaJ,EAAKnsE,OAAOssE,EAAQxyF,QAErCoyF,EAAMltF,GAAKutF,EAGXngE,GAAOkgE,EAIX,IAAI19E,EAAUs9E,EAAMltF,GAAS,OAAIA,EAAIA,EAAI,EAGrCgnF,EAAYkG,EAAM/kE,MAAMvY,GAAQ3H,KAAK,KAGpCwkB,QAAQ,YAAa,IAG1Bm+D,EAAM/vF,EAAI,GAAKmsF,EAAY,KAAO4D,EAAM/vF,EAAI,IAAM,IAClDmyF,EAAapC,EAAM9vF,OAEnB,MAMAsyB,GAAOggE,EACPH,GAAoBI,EAK5Bx/D,GAAUT,EAAIX,QAAQ,YAAa,IAAM,MAM7C,OAFAoB,EAASA,EAAOpB,QAAQ,cAAe,KAY3C9yB,EAAOgzE,KAAKlyE,UAAUsyF,cAAgB,SAAUrgB,GAK5C,IAAK,IAHD37C,EAAS,GACT65D,EAAQle,EAAK1iD,MAAM,MAEdnvB,EAAI,EAAGA,EAAI+vF,EAAM9vF,OAAQD,IAClC,CAII,IAAK,IAHD2yF,EAAYr1F,KAAKsb,MAAMu2E,cACvBkD,EAAQtC,EAAM/vF,GAAGmvB,MAAM,KAElBhqB,EAAI,EAAGA,EAAIktF,EAAMpyF,OAAQkF,IAClC,CACI,IAAIqtF,EAAYl1F,KAAK8N,QAAQklF,YAAY+B,EAAMltF,IAAIjK,MAC/C03F,EAAqBJ,EAAYl1F,KAAK8N,QAAQklF,YAAY,KAAKp1F,MAE/D03F,EAAqBD,GAGjBxtF,EAAI,IAEJ+wB,GAAU,MAEdA,GAAUm8D,EAAMltF,GAAK,IACrBwtF,EAAYr1F,KAAKsb,MAAMu2E,cAAgBqD,IAIvCG,GAAaC,EACb18D,GAAUm8D,EAAMltF,GAAK,KAIzBnF,EAAI+vF,EAAM9vF,OAAS,IAEnBi2B,GAAU,MAIlB,OAAOA,GAUXp3B,EAAOgzE,KAAKlyE,UAAUizF,WAAa,SAAUvpB,GAEzC,IAAImJ,EAAOn1E,KAAKqyF,iBAAiBrmB,GAE7BhsE,KAAKsb,MAAM65D,OAASA,IAEpBn1E,KAAKsb,MAAM65D,KAAOA,EAClBn1E,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,oBAYjBtB,EAAOgzE,KAAKlyE,UAAU0vF,iBAAmB,SAAU7c,GAY/C,IAAI/9C,EAAI+9C,EAAKvK,MAAM,wSAEnB,GAAIxzC,EACJ,CACI,IAAIo+D,EAASp+D,EAAE,GAAGhpB,OAQlB,MALK,2DAA6DqnF,KAAKD,IAAY,QAAUC,KAAKD,KAE9FA,EAAS,IAAOA,EAAS,MAIzBrgB,KAAMA,EACN8c,UAAW76D,EAAE,IAAM,SACnB86D,YAAa96D,EAAE,IAAM,SACrB+6D,WAAY/6D,EAAE,IAAM,SACpBg7D,SAAUh7D,EAAE,IAAM,SAClBs+D,WAAYF,GAOhB,OAFAl1F,QAAQ+Z,KAAK,sCAAwC86D,IAE7CA,KAAMA,IAWtB3zE,EAAOgzE,KAAKlyE,UAAU+vF,iBAAmB,SAAUrmB,GAE/C,IACIxtB,EADAvsB,KAwBJ,OArBAusB,EAAIwtB,EAAWimB,YACA,WAANzzC,GAAkBvsB,EAAMnqB,KAAK02C,IAEtCA,EAAIwtB,EAAWkmB,cACA,WAAN1zC,GAAkBvsB,EAAMnqB,KAAK02C,IAEtCA,EAAIwtB,EAAWmmB,aACA,WAAN3zC,GAAkBvsB,EAAMnqB,KAAK02C,IAEtCA,EAAIwtB,EAAWomB,WACA,WAAN5zC,GAAkBvsB,EAAMnqB,KAAK02C,IAEtCA,EAAIwtB,EAAW0pB,aACNzjE,EAAMnqB,KAAK02C,GAEfvsB,EAAMtvB,QAGPsvB,EAAMnqB,KAAKkkE,EAAWmJ,MAGnBljD,EAAMniB,KAAK,MAkBtBtO,EAAOgzE,KAAKlyE,UAAUqzF,QAAU,SAAUphB,EAAMgJ,GAM5C,YAJkBh3E,IAAdg3E,IAA2BA,GAAY,IAE3ChJ,EAAOA,EAAK3rD,YAAc,MAEb5oB,KAAK+wF,MAEP/wF,MAGXA,KAAKu0E,KAAOA,EAERgJ,EAEAv9E,KAAKoxF,aAILpxF,KAAKwR,OAAQ,EAGVxR,OAwBXwB,EAAOgzE,KAAKlyE,UAAUszF,UAAY,SAAU/7C,GAExC,IAAKpyC,MAAMC,QAAQmyC,GAEf,OAAO75C,KAMP,IAAK,IAFDqE,EAAI,GAEC3B,EAAI,EAAGA,EAAIm3C,EAAKl3C,OAAQD,IAEzB+E,MAAMC,QAAQmyC,EAAKn3C,KAEnB2B,GAAKw1C,EAAKn3C,GAAGoN,KAAK,MAEdpN,EAAIm3C,EAAKl3C,OAAS,IAElB0B,GAAK,QAKTA,GAAKw1C,EAAKn3C,GAENA,EAAIm3C,EAAKl3C,OAAS,IAElB0B,GAAK,OASrB,OAHArE,KAAKu0E,KAAOlwE,EACZrE,KAAKwR,OAAQ,EAENxR,MAkCXwB,EAAOgzE,KAAKlyE,UAAUuzF,cAAgB,SAAU9xF,EAAGC,EAAGpG,EAAOC,GAyBzD,YAvBU0I,IAANxC,EAEA/D,KAAKowF,WAAa,MAIbpwF,KAAKowF,WAMNpwF,KAAKowF,WAAWh7D,MAAMrxB,EAAGC,EAAGpG,EAAOC,GAJnCmC,KAAKowF,WAAa,IAAI5uF,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAOpDmC,KAAKsb,MAAMu2E,cAAgBj0F,IAE3BoC,KAAKsb,MAAMu2E,cAAgBj0F,IAInCoC,KAAKwV,gBAEExV,MASXwB,EAAOgzE,KAAKlyE,UAAUkT,cAAgB,WAElC,IAAI4E,EAAOpa,KAAKjC,QAAQqI,YACpBwH,EAAO5N,KAAKjC,QAAQ6P,KACpBP,EAAQrN,KAAKjC,QAAQsP,MAErBgI,EAAIrV,KAAKkX,OAAOtZ,MAChB2mB,EAAIvkB,KAAKkX,OAAOrZ,OAiBpB,GAfAuc,EAAKxc,MAAQyX,EACb+E,EAAKvc,OAAS0mB,EAEd3W,EAAKhQ,MAAQyX,EACbzH,EAAK/P,OAAS0mB,EAEdlX,EAAMzP,MAAQyX,EACdhI,EAAMxP,OAAS0mB,EAEfvkB,KAAKjC,QAAQH,MAAQyX,EACrBrV,KAAKjC,QAAQF,OAAS0mB,EAEtBvkB,KAAK0M,OAAS2I,EACdrV,KAAK2M,QAAU4X,EAEXvkB,KAAKowF,WACT,CACI,IAAIrsF,EAAI/D,KAAKowF,WAAWrsF,EACpBC,EAAIhE,KAAKowF,WAAWpsF,EAGQ,UAA5BhE,KAAKsb,MAAMm2E,aAEX1tF,GAAK/D,KAAKowF,WAAWxyF,MAAQoC,KAAKkX,OAAOtZ,MAAQoC,KAAK4E,WAErB,WAA5B5E,KAAKsb,MAAMm2E,eAEhB1tF,GAAK/D,KAAKowF,WAAWx5D,UAAa52B,KAAKkX,OAAOtZ,MAAQoC,KAAK4E,WAAa,GAG5C,WAA5B5E,KAAKsb,MAAMo2E,aAEX1tF,GAAKhE,KAAKowF,WAAWvyF,OAASmC,KAAKkX,OAAOrZ,OAASmC,KAAK4E,WAEvB,WAA5B5E,KAAKsb,MAAMo2E,eAEhB1tF,GAAKhE,KAAKowF,WAAWv5D,WAAc72B,KAAKkX,OAAOrZ,OAASmC,KAAK4E,WAAa,GAG9E5E,KAAKe,MAAMgD,GAAKA,EAChB/D,KAAKe,MAAMiD,GAAKA,EAIpBhE,KAAKoB,WAAoB,IAANiU,GAAiB,IAANkP,EAE9BvkB,KAAKjC,QAAQ+Q,gBAAiB,EAE9B9O,KAAKjC,QAAQqI,YAAYoL,SAU7BhQ,EAAOgzE,KAAKlyE,UAAUyD,aAAe,SAAUH,GAEvC5F,KAAKwR,QAELxR,KAAKoxF,aACLpxF,KAAKwR,OAAQ,GAGjBhT,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAM4F,IAUlDpE,EAAOgzE,KAAKlyE,UAAU0D,cAAgB,SAAUJ,GAExC5F,KAAKwR,QAELxR,KAAKoxF,aACLpxF,KAAKwR,OAAQ,GAGjBhT,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAM4F,IAUnDpE,EAAOgzE,KAAKlyE,UAAUuwF,wBAA0B,SAAUZ,GAEtD,IAAI6D,EAAat0F,EAAOgzE,KAAKuhB,oBAAoB9D,GAC7Ce,EAAchzF,KAAKg2F,YAAc,OAErC,IAAKF,EACL,CACIA,KAEA,IAAI5+E,EAAS1V,EAAOgzE,KAAKyhB,qBACrBnoF,EAAUtM,EAAOgzE,KAAK0hB,sBAE1BpoF,EAAQqnE,KAAO8c,EAEf,IAAIr0F,EAAQ8F,KAAKwC,KAAK4H,EAAQklF,YAAYA,GAAap1F,OACnDu4F,EAAWzyF,KAAKwC,KAAK4H,EAAQklF,YAAYA,GAAap1F,OACtDC,EAAS,EAAIs4F,EAgBjB,GAdAA,EAAsB,IAAXA,EAAiB,EAE5Bj/E,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,EAEhBiQ,EAAQ6a,UAAY,OACpB7a,EAAQgb,SAAS,EAAG,EAAGlrB,EAAOC,GAE9BiQ,EAAQqnE,KAAO8c,EAEfnkF,EAAQwlF,aAAe,aACvBxlF,EAAQ6a,UAAY,OACpB7a,EAAQ2xE,SAASuT,EAAa,EAAGmD,IAE5BroF,EAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAQnC,OANAi4F,EAAWnC,OAASwC,EACpBL,EAAWM,QAAUD,EAAW,EAChCL,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWM,QAErD50F,EAAOgzE,KAAKuhB,oBAAoB9D,GAAa6D,EAEtCA,EAGX,IAIIpzF,EAAGmF,EAJHwuF,EAAYvoF,EAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAAQuW,KACtD+U,EAASktE,EAAU1zF,OACnB+1B,EAAe,EAAR96B,EAIP04F,EAAM,EACNnqF,GAAO,EAGX,IAAKzJ,EAAI,EAAGA,EAAIyzF,EAAUzzF,IAC1B,CACI,IAAKmF,EAAI,EAAGA,EAAI6wB,EAAM7wB,GAAK,EAEvB,GAA2B,MAAvBwuF,EAAUC,EAAMzuF,GACpB,CACIsE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAmqF,GAAO59D,EAcf,IANAo9D,EAAWnC,OAASwC,EAAWzzF,EAE/B4zF,EAAMntE,EAASuP,EACfvsB,GAAO,EAGFzJ,EAAI7E,EAAQ6E,EAAIyzF,EAAUzzF,IAC/B,CACI,IAAKmF,EAAI,EAAGA,EAAI6wB,EAAM7wB,GAAK,EAEvB,GAA2B,MAAvBwuF,EAAUC,EAAMzuF,GACpB,CACIsE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAmqF,GAAO59D,EAQfo9D,EAAWM,QAAU1zF,EAAIyzF,EAGzBL,EAAWM,SAAW,EACtBN,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWM,QAErD50F,EAAOgzE,KAAKuhB,oBAAoB9D,GAAa6D,EAGjD,OAAOA,GAWXt0F,EAAOgzE,KAAKlyE,UAAU4H,UAAY,SAAUwD,GAQxC,OANI1N,KAAKwR,QAELxR,KAAKoxF,aACLpxF,KAAKwR,OAAQ,GAGVhT,KAAKsH,OAAOxD,UAAU4H,UAAU1F,KAAKxE,KAAM0N,IAWtDlM,EAAOgzE,KAAKlyE,UAAUi0F,kBAAoB,SAAUC,EAAgBC,GAEhEz2F,KAAK4wF,0BAAmCrqF,IAAXkwF,EAAwB,GAAKA,EAC1Dz2F,KAAK2wF,mBAAqB6F,EAE1Bx2F,KAAKoxF,cAWTpqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAK+wF,OAGhB5pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK+wF,QAEf/wF,KAAK+wF,MAAQ3pF,EAAMwhB,YAAc,GACjC5oB,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,sBAkBrBkE,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,WAEzC4E,IAAK,WAED,OAAOlH,KAAKqyF,iBAAiBryF,KAAKgxF,kBAGtC7pF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,kBACjBpH,KAAKgxF,gBAAkBhxF,KAAKgyF,iBAAiB5qF,GAC7CpH,KAAKu1F,WAAWv1F,KAAKgxF,oBAgB7BhqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKgxF,gBAAgB0E,YAGhCvuF,IAAK,SAAUC,GAGXA,GADAA,EAAQA,GAAS,SACHgH,OAGT,2DAA6DqnF,KAAKruF,IAAW,QAAUquF,KAAKruF,KAE7FA,EAAQ,IAAOA,EAAQ,KAG3BpH,KAAKgxF,gBAAgB0E,WAAatuF,EAClCpH,KAAKu1F,WAAWv1F,KAAKgxF,oBAc7BhqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,YAEzC4E,IAAK,WAED,IAAI4a,EAAO9hB,KAAKgxF,gBAAgBoB,SAEhC,OAAItwE,GAAQ,cAAgB2zE,KAAK3zE,GAEtBqR,SAASrR,EAAM,IAIfA,GAIf3a,IAAK,SAAUC,GAIU,iBAFrBA,EAAQA,GAAS,OAIbA,GAAgB,MAGpBpH,KAAKgxF,gBAAgBoB,SAAWhrF,EAChCpH,KAAKu1F,WAAWv1F,KAAKgxF,oBAU7BhqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKgxF,gBAAgBmB,YAAc,UAG9ChrF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKgxF,gBAAgBmB,WAAa/qF,EAClCpH,KAAKu1F,WAAWv1F,KAAKgxF,oBAU7BhqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,aAEzC4E,IAAK,WAED,OAAOlH,KAAKgxF,gBAAgBiB,WAAa,UAG7C9qF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKgxF,gBAAgBiB,UAAY7qF,EACjCpH,KAAKu1F,WAAWv1F,KAAKgxF,oBAU7BhqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKgxF,gBAAgBkB,aAAe,UAG/C/qF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKgxF,gBAAgBkB,YAAc9qF,EACnCpH,KAAKu1F,WAAWv1F,KAAKgxF,oBAS7BhqF,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMorC,MAGtBv/C,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMorC,OAErB1mD,KAAKsb,MAAMorC,KAAOt/C,EAClBpH,KAAKwR,OAAQ,MAazBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMw5B,OAGtB3tC,IAAK,SAAUC,IAEXA,EAAQA,EAAM+mD,iBACAnuD,KAAKsb,MAAMw5B,QAErB90C,KAAKsb,MAAMw5B,MAAQ1tC,EACnBpH,KAAKwR,OAAQ,MAYzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAK8wF,MAGhB3pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK8wF,OAEf9wF,KAAK8wF,KAAO1pF,EACZpH,KAAKwR,OAAQ,MAezBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMy2E,MAGtB5qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMy2E,OAErB/xF,KAAKsb,MAAMy2E,KAAO3qF,EAClBpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMm2E,cAGtBtqF,IAAK,SAAUC,IAEXA,EAAQA,EAAM+mD,iBACAnuD,KAAKsb,MAAMm2E,eAErBzxF,KAAKsb,MAAMm2E,aAAerqF,EAC1BpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMo2E,cAGtBvqF,IAAK,SAAUC,IAEXA,EAAQA,EAAM+mD,iBACAnuD,KAAKsb,MAAMo2E,eAErB1xF,KAAKsb,MAAMo2E,aAAetqF,EAC1BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM2kE,QAGtB94E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM2kE,SAErBjgF,KAAKsb,MAAM2kE,OAAS74E,EACpBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,mBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMq2E,iBAGtBxqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMq2E,kBAErB3xF,KAAKsb,MAAMq2E,gBAAkB9xD,OAAOz4B,GACpCpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,YAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMs2E,UAGtBzqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMs2E,WAErB5xF,KAAKsb,MAAMs2E,SAAWxqF,EACtBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMu2E,eAGtB1qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMu2E,gBAErB7xF,KAAKsb,MAAMu2E,cAAgBzqF,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKixF,cAGhB9pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKixF,eAEfjxF,KAAKixF,aAAetyD,WAAWv3B,GAC/BpH,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,sBAWrBkE,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMyjE,eAGtB53E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMyjE,gBAErB/+E,KAAKsb,MAAMyjE,cAAgB33E,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM0jE,eAGtB73E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM0jE,gBAErBh/E,KAAKsb,MAAM0jE,cAAgB53E,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMujE,aAGtB13E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMujE,cAErB7+E,KAAKsb,MAAMujE,YAAcz3E,EACzBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMwjE,YAGtB33E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMwjE,aAErB9+E,KAAKsb,MAAMwjE,WAAa13E,EACxBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMg2E,cAGtBnqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMg2E,eAErBtxF,KAAKsb,MAAMg2E,aAAelqF,EAC1BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMi2E,YAGtBpqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMi2E,aAErBvxF,KAAKsb,MAAMi2E,WAAanqF,EACxBpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,SAEzC4E,IAAK,WAQD,OANIlH,KAAKwR,QAELxR,KAAKoxF,aACLpxF,KAAKwR,OAAQ,GAGVxR,KAAKc,MAAMiD,GAAK/D,KAAKjC,QAAQsP,MAAMzP,MAAQoC,KAAK4E,aAG3DuC,IAAK,SAAUC,GAEXpH,KAAKc,MAAMiD,EAAIqD,EAAQpH,KAAKjC,QAAQsP,MAAMzP,MAC1CoC,KAAK0M,OAAStF,KAUtBJ,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,UAEzC4E,IAAK,WAQD,OANIlH,KAAKwR,QAELxR,KAAKoxF,aACLpxF,KAAKwR,OAAQ,GAGVxR,KAAKc,MAAMkD,GAAKhE,KAAKjC,QAAQsP,MAAMxP,OAASmC,KAAK4E,aAG5DuC,IAAK,SAAUC,GAEXpH,KAAKc,MAAMkD,EAAIoD,EAAQpH,KAAKjC,QAAQsP,MAAMxP,OAC1CmC,KAAK2M,QAAUvF,KAUvBJ,OAAOyF,eAAejL,EAAOgzE,KAAKlyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAK6wF,aAGhB1pF,IAAK,SAAUC,GAEXpH,KAAK6wF,YAAczpF,EACnBpH,KAAKoxF,gBAKb5vF,EAAOgzE,KAAKuhB,uBAEZv0F,EAAOgzE,KAAKyhB,qBAAuBjmD,SAAS0mD,cAAc,UAC1Dl1F,EAAOgzE,KAAK0hB,sBAAwB10F,EAAOgzE,KAAKyhB,qBAAqBz9E,WAAW,MAuDhFhX,EAAOysE,WAAa,SAAUlrE,EAAMgB,EAAGC,EAAGmxE,EAAMZ,EAAMzyD,EAAMgzB,GAExD/wC,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTmxE,EAAOA,GAAQ,GACfZ,EAAOA,GAAQ,GACfzyD,EAAOA,GAAQ,GACfgzB,EAAQA,GAAS,OAEjBt2C,KAAK8J,uBAAuB9D,KAAKxE,MAMjCA,KAAKwT,KAAOhS,EAAOgrB,WAMnBxsB,KAAKuyC,YAAc/wC,EAAO0qB,OAM1BlsB,KAAK22F,UAAY,EAMjB32F,KAAK42F,WAAa,EAKlB52F,KAAK2G,OAAS,IAAInF,EAAOX,MAMzBb,KAAK62F,YAAc,IAAIr1F,EAAOX,MAM9Bb,KAAKkuE,WAMLluE,KAAK82F,UAAY,EAMjB92F,KAAK+wF,MAAQxc,EAAK3rD,YAAc,GAMhC5oB,KAAK+2F,MAAQh0F,EAAKiX,MAAMg9E,cAAc7hB,GAMtCn1E,KAAKi3F,MAAQ9hB,EAMbn1E,KAAKk3F,UAAYp1E,EAMjB9hB,KAAKm3F,OAASriD,EAMd90C,KAAKo3F,eAAiB,EAMtBp3F,KAAKq3F,MAAQ,SAEbr3F,KAAKoxF,aAKLpxF,KAAKwR,OAAQ,EAEbhQ,EAAOqpE,UAAUiB,KAAKp6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAG,GAAI,OAG1DxC,EAAOysE,WAAW3rE,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACxEd,EAAOysE,WAAW3rE,UAAUC,YAAcf,EAAOysE,WAEjDzsE,EAAOqpE,UAAUiB,KAAKC,QAAQvnE,KAAKhD,EAAOysE,WAAW3rE,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAOysE,WAAW3rE,UAAUm0E,iBAAmBj1E,EAAOqpE,UAAUsB,YAAYznE,UAC5ElD,EAAOysE,WAAW3rE,UAAUo0E,kBAAoBl1E,EAAOqpE,UAAUuG,SAAS1sE,UAC1ElD,EAAOysE,WAAW3rE,UAAUq0E,iBAAmBn1E,EAAOqpE,UAAUgG,QAAQnsE,UACxElD,EAAOysE,WAAW3rE,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UASlElD,EAAOysE,WAAW3rE,UAAUoC,UAAY,WAEpC,SAAK1E,KAAKy2E,oBAAuBz2E,KAAK02E,qBAAwB12E,KAAK22E,qBAK5D32E,KAAK42E,iBAOhBp1E,EAAOysE,WAAW3rE,UAAUukC,WAAa,WAErCrlC,EAAOqpE,UAAUsB,YAAYtlC,WAAWriC,KAAKxE,MAC7CwB,EAAOqpE,UAAUyB,cAAczlC,WAAWriC,KAAKxE,MAE3CA,KAAK8xC,MAAQ9xC,KAAK8xC,KAAKt+B,OAAShS,EAAO6wC,QAAQC,SAE1CtyC,KAAK22F,YAAc32F,KAAK8xC,KAAKwlD,aAAiBt3F,KAAK42F,aAAe52F,KAAK8xC,KAAKylD,cAE7Ev3F,KAAK8xC,KAAKhM,QAAQ9lC,KAAK22F,UAAW32F,KAAK42F,cAanDp1F,EAAOysE,WAAW3rE,UAAUqzF,QAAU,SAAUphB,GAE5Cv0E,KAAKu0E,KAAOA,GAchB/yE,EAAOysE,WAAW3rE,UAAUk1F,SAAW,SAAUpjF,EAAMtT,EAAOyzE,GAW1D,IAAK,IATDxwE,EAAI,EACJsR,EAAI,EACJoiF,GAAa,EACbC,EAAe,EACfC,EAAe,KACfC,EAAY53F,KAAK82F,UAAY,EAAK92F,KAAK82F,UAAY,KACnDxhB,KAGK5yE,EAAI,EAAGA,EAAI6xE,EAAK5xE,OAAQD,IACjC,CACI,IAAI2Y,EAAO3Y,IAAM6xE,EAAK5xE,OAAS,EAE/B,GAAI,iBAAmBk1F,KAAKtjB,EAAKujB,OAAOp1F,IAEpC,OAAS9E,MAAOyX,EAAGk/D,KAAMA,EAAK1rD,OAAO,EAAGnmB,GAAI2Y,IAAKA,EAAKi6D,MAAOA,GAI7D,IAAI5Q,EAAW6P,EAAK3P,WAAWliE,GAC3Bq1F,EAAW3jF,EAAKkhE,MAAM5Q,GAEtBthE,EAAI,OAMSmD,IAAbwxF,IAEArzB,EAAW,GACXqzB,EAAW3jF,EAAKkhE,MAAM5Q,IAI1B,IAAIszB,EAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,EAalG,GAVI,OAASE,KAAKtjB,EAAKujB,OAAOp1F,MAE1B+0F,EAAY/0F,EACZg1F,EAAeriF,GAInBjS,GAAK40F,EAAUD,EAASh6F,QAAQH,MAAQm6F,EAASriB,SAAW50E,EAGxD82F,GAAcviF,EAAIjS,GAAMw0F,GAAaH,GAAa,EAGlD,OAAS75F,MAAO85F,GAAgBriF,EAAGk/D,KAAMA,EAAK1rD,OAAO,EAAGnmB,GAAKA,EAAI+0F,IAAap8E,KAAK,EAAOi6D,MAAOA,GAIjGjgE,IAAM0iF,EAASE,SAAWD,EAAUh4F,KAAKk4F,eAAiBp3F,EAE1Dw0E,EAAMxtE,KAAK/D,GAAKg0F,EAASriB,QAAUsiB,EAAUh4F,KAAKk4F,eAAiBp3F,GAEnEiD,IAAMg0F,EAASE,SAAWD,EAAUh4F,KAAKk4F,eAAiBp3F,EAE1D62F,EAAejzB,EAK3B,OAAS9mE,MAAOyX,EAAGk/D,KAAMA,EAAMl5D,IAAKA,EAAKi6D,MAAOA,IAcpD9zE,EAAOysE,WAAW3rE,UAAU61F,UAAY,SAAU5jB,EAAMjgD,QAEpC/tB,IAAZ+tB,IAEAA,EAAU,IAGd,IAAIlgB,EAAOpU,KAAK+2F,MAAM5hB,KAEtB,IAAK/gE,EAED,MAAO,GAMX,IAAK,IAHDgkF,EAAK,mBACL3F,EAAQle,EAAKjgD,QAAQ8jE,EAAI,MAAMvmE,MAAM,MAEhCnvB,EAAI,EAAGA,EAAI+vF,EAAM9vF,OAAQD,IAClC,CAII,IAAK,IAHDgzB,EAAS,GACTgD,EAAO+5D,EAAM/vF,GAERU,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IAIzBsyB,EAFAthB,EAAKkhE,MAAM58C,EAAKksC,WAAWxhE,IAElBsyB,EAAOrF,OAAOqI,EAAKt1B,IAInBsyB,EAAOrF,OAAOiE,GAI/Bm+D,EAAM/vF,GAAKgzB,EAGf,OAAO+8D,EAAM3iF,KAAK,OAStBtO,EAAOysE,WAAW3rE,UAAU8uF,WAAa,WAErC,IAAIh9E,EAAOpU,KAAK+2F,MAAM5hB,KAEtB,GAAK/gE,EAAL,CAKA,IAAImgE,EAAOv0E,KAAKu0E,KACZzzE,EAAQd,KAAKk3F,UAAY9iF,EAAK0N,KAC9B2wE,KAEAzuF,EAAI,EAERhE,KAAK22F,UAAY,EAEjB,IAEQj+D,EAAO14B,KAAKw3F,SAASpjF,EAAMtT,EAAOyzE,IAEjCvwE,EAAIA,EAETyuF,EAAM3qF,KAAK4wB,GAEPA,EAAK96B,MAAQoC,KAAK22F,YAElB32F,KAAK22F,UAAYj+D,EAAK96B,OAG1BoG,GAAMoQ,EAAKg/E,WAAatyF,EAExByzE,EAAOA,EAAK1rD,OAAO6P,EAAK67C,KAAK5xE,OAAS,UACpB,IAAb+1B,EAAKrd,KAEdrb,KAAK42F,WAAa5yF,EAOlB,IAAK,IALD6sB,EAAI,EACJikB,EAAQ,EACRkxC,EAAKhmF,KAAK22F,UAAY32F,KAAK2G,OAAO5C,EAClCkiF,EAAKjmF,KAAK42F,WAAa52F,KAAK2G,OAAO3C,EAE9BtB,EAAI,EAAGA,EAAI+vF,EAAM9vF,OAAQD,IAClC,CACI,IAAIg2B,EAAO+5D,EAAM/vF,GAEG,UAAhB1C,KAAKm3F,OAELriD,EAAQ90C,KAAK22F,UAAYj+D,EAAK96B,MAET,WAAhBoC,KAAKm3F,SAEVriD,GAAS90C,KAAK22F,UAAYj+D,EAAK96B,OAAS,GAG5C,IAAK,IAAIwF,EAAI,EAAGA,EAAIs1B,EAAK67C,KAAK5xE,OAAQS,IACtC,CACI,IAAIshE,EAAWhsC,EAAK67C,KAAK3P,WAAWxhE,GAChC20F,EAAW3jF,EAAKkhE,MAAM5Q,QAETn+D,IAAbwxF,IAEArzB,EAAW,GACXqzB,EAAW3jF,EAAKkhE,MAAM5Q,IAG1B,IAAI/pD,EAAI3a,KAAKkuE,QAAQr9C,GAEjBlW,EAGAA,EAAE5c,QAAUg6F,EAASh6F,UAKrB4c,EAAI,IAAInc,KAAKsH,OAAOiyF,EAASh6F,UAC3Bi0B,KAAO0G,EAAK67C,KAAKnxE,GACnBpD,KAAKkuE,QAAQpmE,KAAK6S,IAGtBA,EAAE/Z,SAASmD,EAAK20B,EAAK48C,MAAMlyE,GAAK0xC,EAASkxC,EACzCrrE,EAAE/Z,SAASoD,EAAK00B,EAAK10B,EAAK+zF,EAASpiB,QAAU70E,EAAUmlF,EAEvDtrE,EAAE7Z,MAAMqG,IAAIrG,GACZ6Z,EAAE5N,KAAO/M,KAAK+M,KACd4N,EAAE5c,QAAQ+Q,gBAAiB,EAC3B6L,EAAE3N,WAAa,SAEV2N,EAAEtZ,QAEHrB,KAAKyI,SAASkS,GAGlBkW,KAQR,IAAKnuB,EAAImuB,EAAGnuB,EAAI1C,KAAKkuE,QAAQvrE,OAAQD,IAEjC1C,KAAK6I,YAAY7I,KAAKkuE,QAAQxrE,MAiBtClB,EAAOysE,WAAW3rE,UAAU+1F,YAAc,WAKtC,IAAK,IAHDvnE,EAAM9wB,KAAKkuE,QAAQvrE,OACnB21F,KAEK51F,EAAI,EAAGA,EAAI1C,KAAKkuE,QAAQvrE,OAAQD,IAEjC1C,KAAKkuE,QAAQxrE,GAAGrB,SAAWrB,KAE3BA,KAAKkuE,QAAQxrE,GAAGF,UAIhB81F,EAAKxwF,KAAK9H,KAAKkuE,QAAQxrE,IAS/B,OALA1C,KAAKkuE,WACLluE,KAAKkuE,QAAUoqB,EAEft4F,KAAKoxF,aAEEtgE,EAAMwnE,EAAK31F,QAStBnB,EAAOysE,WAAW3rE,UAAUQ,gBAAkB,YAEtC9C,KAAKwR,OAAUxR,KAAK2G,OAAO4vB,OAAOv2B,KAAK62F,eAEvC72F,KAAKoxF,aACLpxF,KAAKwR,OAAQ,EACbxR,KAAK62F,YAAYxhE,SAASr1B,KAAK2G,SAGnCnI,KAAK8J,uBAAuBhG,UAAUQ,gBAAgB0B,KAAKxE,OAO/DgH,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,iBAE/C4E,IAAK,WAED,OAAOlH,KAAKo3F,gBAGhBjwF,IAAK,SAAUC,GAEW,iBAAZ,IAENpH,KAAKo3F,eAAiBhwF,EACtBpH,KAAKoxF,iBAUjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,SAE/C4E,IAAK,WAED,OAAOlH,KAAKm3F,QAGhBhwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKm3F,QAAqB,SAAV/vF,GAA8B,WAAVA,GAAgC,UAAVA,IAEpEpH,KAAKm3F,OAAS/vF,EACdpH,KAAKoxF,iBAUjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKq3F,OAGhBlwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKq3F,QAEfr3F,KAAKq3F,MAAQjwF,EACbpH,KAAKoxF,iBAUjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKi3F,OAGhB9vF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKi3F,QAEfj3F,KAAKi3F,MAAQ7vF,EAAMgH,OACnBpO,KAAK+2F,MAAQ/2F,KAAK+C,KAAKiX,MAAMg9E,cAAch3F,KAAKi3F,OAChDj3F,KAAKoxF,iBAUjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,YAE/C4E,IAAK,WAED,OAAOlH,KAAKk3F,WAGhB/vF,IAAK,SAAUC,IAEXA,EAAQ+rB,SAAS/rB,EAAO,OAEVpH,KAAKk3F,WAAa9vF,EAAQ,IAEpCpH,KAAKk3F,UAAY9vF,EACjBpH,KAAKoxF,iBAUjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAK+wF,OAGhB5pF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK+wF,QAEf/wF,KAAK+wF,MAAQ3pF,EAAMwhB,YAAc,GACjC5oB,KAAKoxF,iBAmBjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,YAE/C4E,IAAK,WAED,OAAOlH,KAAK82F,WAGhB3vF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK82F,YAEf92F,KAAK82F,UAAY1vF,EACjBpH,KAAKoxF,iBAgBjBpqF,OAAOyF,eAAejL,EAAOysE,WAAW3rE,UAAW,YAE/C4E,IAAK,WAED,OAAQlH,KAAK+2F,MAAM38E,KAAKtc,WAG5BqJ,IAAK,SAAUC,GAIPpH,KAAK+2F,MAAM38E,KAAKtc,UAFhBsJ,EAE4B,EAIA,EAEhCpH,KAAK+2F,MAAM38E,KAAK5I,WA6BxBhQ,EAAOo0E,UAAY,SAAU7yE,EAAMiQ,EAAKoiE,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAK5yE,EAAKiX,MAAMu+E,cAAcvlF,GAE1B,OAAO,OAGSzM,IAAhBgvE,GAA6C,OAAhBA,IAE7BA,EAAcxyE,EAAKiX,MAAMk4D,SAASl/D,GAAKpV,MAAQw3E,GAMnDp1E,KAAKo1E,eAAiBA,EAKtBp1E,KAAKq1E,gBAAkBA,EAKvBr1E,KAAKw4F,kBAAoBhjB,GAAY,EAKrCx1E,KAAKy4F,kBAAoBhjB,GAAY,EAKrCz1E,KAAK04F,gBAAkBnjB,EAMvBv1E,KAAK0kB,QAAUgxD,GAAW,EAM1B11E,KAAK2kB,QAAUgxD,GAAW,EAK1B31E,KAAK80C,MAAQ,OAMb90C,KAAK24F,WAAY,EAMjB34F,KAAK44F,eAAgB,EAMrB54F,KAAK64F,eAAiB,EAMtB74F,KAAK84F,eAAiB,EAOtB94F,KAAK+4F,WAAa,EAKlB/4F,KAAKg5F,QAAUj2F,EAAKiX,MAAMk4D,SAASl/D,GAMnChT,KAAK+wF,MAAQ,GAMb/wF,KAAKi5F,YAKLj5F,KAAK8xE,UAAY,IAAItwE,EAAO04E,UAO5B,IAAK,IAJDgf,EAAWl5F,KAAK0kB,QAChBy0E,EAAWn5F,KAAK2kB,QAChBzgB,EAAI,EAECd,EAAI,EAAGA,EAAIkyE,EAAM3yE,OAAQS,IAClC,CACI,IAAIiK,EAAQrN,KAAK8xE,UAAUsI,SAAS,IAAI54E,EAAO64E,MAAMj3E,EAAG81F,EAAUC,EAAUn5F,KAAKo1E,eAAgBp1E,KAAKq1E,kBAEtGr1E,KAAKi5F,SAAS3jB,EAAM1Q,WAAWxhE,IAAMiK,EAAMzE,QAE3C1E,IAEUlE,KAAK04F,iBAEXx0F,EAAI,EACJg1F,EAAWl5F,KAAK0kB,QAChBy0E,GAAYn5F,KAAKq1E,gBAAkBr1E,KAAKy4F,mBAIxCS,GAAYl5F,KAAKo1E,eAAiBp1E,KAAKw4F,kBAI/Cz1F,EAAKiX,MAAMo/E,gBAAgBpmF,EAAKhT,KAAK8xE,WAMrC9xE,KAAKq5F,MAAQ,IAAI73F,EAAOiyE,MAAM1wE,EAAM,EAAG,EAAGiQ,EAAK,GAE/CxR,EAAOyD,cAAcT,KAAKxE,KAAM+C,EAAM,IAAK,IAAK,GAAIvB,EAAO/C,WAAWE,SAKtEqB,KAAKwT,KAAOhS,EAAO4rB,WAGvB5rB,EAAOo0E,UAAUtzE,UAAY0E,OAAOwB,OAAOhH,EAAOyD,cAAc3C,WAChEd,EAAOo0E,UAAUtzE,UAAUC,YAAcf,EAAOo0E,UAOhDp0E,EAAOo0E,UAAU0jB,WAAa,OAO9B93F,EAAOo0E,UAAU2jB,YAAc,QAO/B/3F,EAAOo0E,UAAU4jB,aAAe,SAOhCh4F,EAAOo0E,UAAU6jB,UAAY,oGAO7Bj4F,EAAOo0E,UAAU8jB,UAAY,+DAO7Bl4F,EAAOo0E,UAAU+jB,UAAY,wCAO7Bn4F,EAAOo0E,UAAUgkB,UAAY,wCAO7Bp4F,EAAOo0E,UAAUikB,UAAY,mDAO7Br4F,EAAOo0E,UAAUkkB,UAAY,oDAO7Bt4F,EAAOo0E,UAAUmkB,UAAY,oDAO7Bv4F,EAAOo0E,UAAUokB,UAAY,yCAO7Bx4F,EAAOo0E,UAAUqkB,UAAY,kDAO7Bz4F,EAAOo0E,UAAUskB,WAAa,6BAO9B14F,EAAOo0E,UAAUukB,WAAa,oDAW9B34F,EAAOo0E,UAAUtzE,UAAU83F,cAAgB,SAAUx8F,EAAOy8F,QAElC9zF,IAAlB8zF,IAA+BA,EAAgB,QAEnDr6F,KAAK+4F,WAAan7F,EAClBoC,KAAK80C,MAAQulD,GAejB74F,EAAOo0E,UAAUtzE,UAAUqzF,QAAU,SAAU2E,EAAS3B,EAAW4B,EAAkBlH,EAAagH,EAAeG,GAE7Gx6F,KAAK24F,UAAYA,IAAa,EAC9B34F,KAAK64F,eAAiB0B,GAAoB,EAC1Cv6F,KAAK84F,eAAiBzF,GAAe,EACrCrzF,KAAK80C,MAAQulD,GAAiB,OAI1Br6F,KAAK44F,eAFL4B,EASAF,EAAQ33F,OAAS,IAEjB3C,KAAKu0E,KAAO+lB,IAUpB94F,EAAOo0E,UAAUtzE,UAAUm4F,mBAAqB,WAE5C,IAAIvrF,EAAK,EACLC,EAAK,EAKT,GAFAnP,KAAK4a,QAED5a,KAAK24F,UACT,CACI,IAAIlG,EAAQzyF,KAAK+wF,MAAMl/D,MAAM,MAEzB7xB,KAAK+4F,WAAa,EAElB/4F,KAAKmG,OAAOnG,KAAK+4F,WAAatG,EAAM9vF,QAAU3C,KAAKq1E,gBAAkBr1E,KAAK84F,gBAAmB94F,KAAK84F,gBAAgB,GAIlH94F,KAAKmG,OAAOnG,KAAK06F,kBAAoB16F,KAAKo1E,eAAiBp1E,KAAK64F,gBAAkBpG,EAAM9vF,QAAU3C,KAAKq1E,gBAAkBr1E,KAAK84F,gBAAmB94F,KAAK84F,gBAAgB,GAI1K,IAAK,IAAIp2F,EAAI,EAAGA,EAAI+vF,EAAM9vF,OAAQD,IAG9BwM,EAAK,EAGDlP,KAAK80C,QAAUtzC,EAAOo0E,UAAU2jB,YAEhCrqF,EAAKlP,KAAKpC,MAAS60F,EAAM/vF,GAAGC,QAAU3C,KAAKo1E,eAAiBp1E,KAAK64F,gBAE5D74F,KAAK80C,QAAUtzC,EAAOo0E,UAAU4jB,eAErCtqF,EAAMlP,KAAKpC,MAAQ,EAAO60F,EAAM/vF,GAAGC,QAAU3C,KAAKo1E,eAAiBp1E,KAAK64F,gBAAmB,EAC3F3pF,GAAMlP,KAAK64F,eAAiB,GAI5B3pF,EAAK,IAELA,EAAK,GAGTlP,KAAK26F,UAAUlI,EAAM/vF,GAAIwM,EAAIC,EAAInP,KAAK64F,gBAEtC1pF,GAAMnP,KAAKq1E,gBAAkBr1E,KAAK84F,oBAKlC94F,KAAK+4F,WAAa,EAElB/4F,KAAKmG,OAAOnG,KAAK+4F,WAAY/4F,KAAKq1E,iBAAiB,GAInDr1E,KAAKmG,OAAOnG,KAAK+wF,MAAMpuF,QAAU3C,KAAKo1E,eAAiBp1E,KAAK64F,gBAAiB74F,KAAKq1E,iBAAiB,GAIvGnmE,EAAK,EAEDlP,KAAK80C,QAAUtzC,EAAOo0E,UAAU2jB,YAEhCrqF,EAAKlP,KAAKpC,MAASoC,KAAK+wF,MAAMpuF,QAAU3C,KAAKo1E,eAAiBp1E,KAAK64F,gBAE9D74F,KAAK80C,QAAUtzC,EAAOo0E,UAAU4jB,eAErCtqF,EAAMlP,KAAKpC,MAAQ,EAAOoC,KAAK+wF,MAAMpuF,QAAU3C,KAAKo1E,eAAiBp1E,KAAK64F,gBAAmB,EAC7F3pF,GAAMlP,KAAK64F,eAAiB,GAI5B3pF,EAAK,IAELA,EAAK,GAGTlP,KAAK26F,UAAU36F,KAAK+wF,MAAO7hF,EAAI,EAAGlP,KAAK64F,gBAG3C74F,KAAK8O,gBAAiB,GAc1BtN,EAAOo0E,UAAUtzE,UAAUq4F,UAAY,SAAUjiE,EAAM30B,EAAGC,EAAG60F,GAEzD,IAAK,IAAIz1F,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IAG7B,GAAuB,MAAnBs1B,EAAKo/D,OAAO10F,GAEZW,GAAK/D,KAAKo1E,eAAiByjB,OAK3B,GAAI74F,KAAKi5F,SAASvgE,EAAKksC,WAAWxhE,KAAO,IAErCpD,KAAKq5F,MAAMhsF,MAAQrN,KAAKi5F,SAASvgE,EAAKksC,WAAWxhE,IACjDpD,KAAK2vF,SAAS3vF,KAAKq5F,MAAOt1F,EAAGC,GAAG,IAEhCD,GAAK/D,KAAKo1E,eAAiByjB,GAEnB74F,KAAKpC,OAET,OAcpB4D,EAAOo0E,UAAUtzE,UAAUo4F,eAAiB,WAExC,IAAIE,EAAc,EAElB,GAAI56F,KAAK+wF,MAAMpuF,OAAS,EAIpB,IAAK,IAFD8vF,EAAQzyF,KAAK+wF,MAAMl/D,MAAM,MAEpBnvB,EAAI,EAAGA,EAAI+vF,EAAM9vF,OAAQD,IAE1B+vF,EAAM/vF,GAAGC,OAASi4F,IAElBA,EAAcnI,EAAM/vF,GAAGC,QAKnC,OAAOi4F,GAYXp5F,EAAOo0E,UAAUtzE,UAAUu4F,4BAA8B,SAAUC,GAI/D,IAAK,IAFDC,EAAY,GAEP33F,EAAI,EAAGA,EAAIpD,KAAK+wF,MAAMpuF,OAAQS,IACvC,CACI,IAAI43F,EAAQh7F,KAAK+wF,MAAM3tF,GACnB63F,EAAOD,EAAMp2B,WAAW,IAExB5kE,KAAKi5F,SAASgC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAU1qE,OAAO2qE,IAIrC,OAAOD,GAaXv5F,EAAOo0E,UAAUtzE,UAAU44F,aAAe,SAAUn3F,EAAGC,GAEnD,GAAIhE,KAAK0kB,UAAY3gB,GAAK/D,KAAK2kB,UAAY3gB,EAA3C,CAWA,IANA,IAAIm3F,EAAQp3F,EAAI/D,KAAK0kB,QACjB02E,EAAQp3F,EAAIhE,KAAK2kB,QAEjB02E,EAASr7F,KAAK+C,KAAKiX,MAAM63D,aAAa7xE,KAAKq5F,MAAMrmF,KAAKsoF,YACtD54F,EAAI24F,EAAO14F,OAERD,KAEH24F,EAAO34F,GAAGqB,GAAKo3F,EACfE,EAAO34F,GAAGsB,GAAKo3F,EAGnBp7F,KAAKy6F,uBAOTzzF,OAAOyF,eAAejL,EAAOo0E,UAAUtzE,UAAW,QAE9C4E,IAAK,WAED,OAAOlH,KAAK+wF,OAGhB5pF,IAAK,SAAUC,GAEX,IAAIm0F,GAIAA,EAFAv7F,KAAK44F,cAEKxxF,EAAMo0F,cAINp0F,KAGEpH,KAAK+wF,QAEjB/wF,KAAK+wF,MAAQwK,EAEbv7F,KAAK66F,4BAA4B76F,KAAK24F,WAEtC34F,KAAKy6F,yBAUjBzzF,OAAOyF,eAAejL,EAAOo0E,UAAUtzE,UAAW,YAE9C4E,IAAK,WAED,OAAOlH,KAAKq5F,MAAMl6C,UAGtBh4C,IAAK,SAAUC,GAEXpH,KAAKq5F,MAAMl6C,SAAW/3C,EACtBpH,KAAKy6F,wBAgDbj5F,EAAO8yE,KAAO,SAAUvxE,EAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOixB,GAE5Ct+B,KAAKs+B,OAASA,MACdt+B,KAAKy7F,qBAAsB,EAC3Bz7F,KAAK07F,yBAA2B,KAChC33F,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO8rB,KAEnB9uB,KAAK8J,uBAAuB9D,KAAKxE,MAEjCA,KAAKjC,QAAUyD,EAAO8sC,MAAM5mB,QAG5B1nB,KAAKujB,IAAM,IAAIlB,cAAe,EAAG,EAC7B,EAAG,EACH,EAAG,EACH,EAAG,IAEPriB,KAAKkiB,SAAW,IAAIG,cAAe,EAAG,EAClC,IAAK,EACL,IAAK,IACL,EAAG,MAEPriB,KAAKsiB,OAAS,IAAID,cAAe,EAAG,EAAG,EAAG,IAE1CriB,KAAK4S,QAAU,IAAI4P,aAAc,EAAG,EAAG,EAAG,IAEtC8b,IAEAt+B,KAAKkiB,SAAW,IAAIG,aAA6B,EAAhBic,EAAO37B,QACxC3C,KAAKujB,IAAM,IAAIlB,aAA6B,EAAhBic,EAAO37B,QACnC3C,KAAKsiB,OAAS,IAAID,aAA6B,EAAhBic,EAAO37B,QACtC3C,KAAK4S,QAAU,IAAI4P,YAA4B,EAAhB8b,EAAO37B,SAS1C3C,KAAKwR,OAAQ,EAQbxR,KAAK27F,cAAgB,EAErB37F,KAAK47F,SAAWp6F,EAAO8yE,KAAK30D,eAE5Bne,EAAOqpE,UAAUiB,KAAKp6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEvDrN,KAAKwpB,WAGThoB,EAAO8yE,KAAKhyE,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WAClEd,EAAO8yE,KAAKhyE,UAAUC,YAAcf,EAAO8yE,KAE3C9yE,EAAOqpE,UAAUiB,KAAKC,QAAQvnE,KAAKhD,EAAO8yE,KAAKhyE,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAO8yE,KAAKhyE,UAAUm0E,iBAAmBj1E,EAAOqpE,UAAUsB,YAAYznE,UACtElD,EAAO8yE,KAAKhyE,UAAUo0E,kBAAoBl1E,EAAOqpE,UAAUuG,SAAS1sE,UACpElD,EAAO8yE,KAAKhyE,UAAUq0E,iBAAmBn1E,EAAOqpE,UAAUgG,QAAQnsE,UAClElD,EAAO8yE,KAAKhyE,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UAE5DlD,EAAO8yE,KAAK30D,eAAiB,EAC7Bne,EAAO8yE,KAAK3uD,UAAY,EAQxBnkB,EAAO8yE,KAAKhyE,UAAUoC,UAAY,WAE9B,SAAK1E,KAAKy2E,oBAAuBz2E,KAAK02E,qBAAwB12E,KAAK22E,qBAK5D32E,KAAK42E,iBAShBp1E,EAAO8yE,KAAKhyE,UAAUwiC,OAAS,WAEvB9kC,KAAKy7F,qBAELz7F,KAAK67F,gBAAgBr3F,KAAKxE,OAelCwB,EAAO8yE,KAAKhyE,UAAUyjC,MAAQ,SAAUhiC,EAAGC,GAIvC,OAFAxC,EAAOqpE,UAAUgI,MAAMvwE,UAAUyjC,MAAMvhC,KAAKxE,KAAM+D,EAAGC,GAE9ChE,MASXwB,EAAO8yE,KAAKhyE,UAAUknB,QAAU,WAE5B,IAAI8U,EAASt+B,KAAKs+B,OAElB,KAAIA,EAAO37B,OAAS,GAApB,CAKA,IAAI4gB,EAAMvjB,KAAKujB,IAEX3Q,EAAU5S,KAAK4S,QACf0P,EAAStiB,KAAKsiB,OAElBtiB,KAAKue,OAAS,GAMd,IAAK,IAJDo6B,EAAQra,EAAO37B,OACfiG,EAAQ,EACRguC,EAAS,EAEJl0C,EAAI,EAAGA,EAAIi2C,EAAOj2C,IAKvBk0C,EAASl0C,GAAKi2C,EAAQ,GAEtBp1B,EALA3a,EAAY,EAAJlG,GAKKk0C,EACbrzB,EAAI3a,EAAQ,GAAK,EACjB2a,EAAI3a,EAAQ,GAAKguC,EACjBrzB,EAAI3a,EAAQ,GAAK,EAGjB0Z,EADA1Z,EAAY,EAAJlG,GACQ,EAChB4f,EAAO1Z,EAAQ,GAAK,EAGpBgK,EADAhK,EAAY,EAAJlG,GACSkG,EACjBgK,EAAQhK,EAAQ,GAAKA,EAAQ,IAUrCpH,EAAO8yE,KAAKhyE,UAAUQ,gBAAkB,WAEpC,IAAIw7B,EAASt+B,KAAKs+B,OAElB,KAAIA,EAAO37B,OAAS,GAApB,CAKA,IACIm5F,EADA1S,EAAY9qD,EAAO,GAEnBV,GAAS75B,EAAG,EAAGC,EAAG,GAEtBhE,KAAKue,OAAS,GAUd,IAAK,IAND6X,EACAxtB,EACAmzF,EACAC,EALA95E,EAAWliB,KAAKkiB,SAChBy2B,EAAQra,EAAO37B,OAKfk0B,EAAa72B,KAAKjC,QAAQF,OAAS,EAE9B6E,EAAI,EAAGA,EAAIi2C,EAAOj2C,IAEvB0zB,EAAQkI,EAAO57B,GACfkG,EAAY,EAAJlG,EAIJo5F,EAFDp5F,EAAIi2C,EAAQ,EAECra,EAAO57B,EAAI,GAIX0zB,EAGhBwH,EAAK55B,IAAM83F,EAAU/3F,EAAIqlF,EAAUrlF,GACnC65B,EAAK75B,EAAI+3F,EAAU93F,EAAIolF,EAAUplF,EAEjC+3F,EAAar4F,KAAKS,KAAMy5B,EAAK75B,EAAI65B,EAAK75B,EAAM65B,EAAK55B,EAAI45B,EAAK55B,GAC1Dg4F,EAAMnlE,EACN+G,EAAK75B,GAAKg4F,EACVn+D,EAAK55B,GAAK+3F,EAEVn+D,EAAK75B,GAAKi4F,EACVp+D,EAAK55B,GAAKg4F,EAEV95E,EAAStZ,GAASwtB,EAAMryB,EAAI65B,EAAK75B,EACjCme,EAAStZ,EAAQ,GAAKwtB,EAAMpyB,EAAI45B,EAAK55B,EACrCke,EAAStZ,EAAQ,GAAKwtB,EAAMryB,EAAI65B,EAAK75B,EACrCme,EAAStZ,EAAQ,GAAKwtB,EAAMpyB,EAAI45B,EAAK55B,EAErColF,EAAYhzD,EAGhB53B,KAAK8J,uBAAuBhG,UAAUQ,gBAAgB0B,KAAKxE,QAU/DwB,EAAO8yE,KAAKhyE,UAAUgL,WAAa,SAAUvP,GAEzCiC,KAAKjC,QAAUA,GAUnByD,EAAO8yE,KAAKhyE,UAAUyD,aAAe,SAAUH,IAEtC5F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAKnC2E,EAAcmG,YAAYI,OAErBnM,KAAKi8F,eAENj8F,KAAKk8F,WAAWt2F,GAGpBA,EAAc8R,cAAcoI,UAAUla,EAAc8R,cAAcyJ,aAElEnhB,KAAKm8F,aAAav2F,GAElBA,EAAcmG,YAAYO,UAU9B9K,EAAO8yE,KAAKhyE,UAAU45F,WAAa,SAAUt2F,GAGzC,IAAIjI,EAAKiI,EAAcjI,GAEvBqC,KAAKi8F,cAAgBt+F,EAAGulB,eACxBljB,KAAKo8F,aAAez+F,EAAGulB,eACvBljB,KAAKq8F,UAAY1+F,EAAGulB,eACpBljB,KAAKs8F,aAAe3+F,EAAGulB,eAEvBvlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKi8F,eACpCt+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAG0lB,cAEjD1lB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKq8F,WACpC1+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKujB,IAAK5lB,EAAGylB,aAE5CzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKs8F,cACpC3+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKsiB,OAAQ3kB,EAAGylB,aAE/CzlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAKo8F,cAC5Cz+F,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,cAU5D5hB,EAAO8yE,KAAKhyE,UAAU65F,aAAe,SAAUv2F,GAE3C,IAAIjI,EAAKiI,EAAcjI,GACnB6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OACvBxK,EAASrH,EAAc8R,cAAcyJ,YAErCy6E,EAAY57F,KAAK47F,WAAap6F,EAAO8yE,KAAK30D,eAAkBhiB,EAAGgiB,eAAiBhiB,EAAGgoB,UAEvF/f,EAAcqS,iBAAiBkD,aAAanb,KAAKiI,WAGjDtK,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOhW,KAAKuB,eAAeye,SAAQ,IACjFriB,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GACrDrG,EAAGoiB,UAAU9S,EAAOhM,MAAOjB,KAAKsB,YAE3BtB,KAAKwR,OA2BNxR,KAAKwR,OAAQ,EAEb7T,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKi8F,eACpCt+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAGylB,aACjDzlB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAG,GAGtE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKq8F,WACpC1+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKujB,IAAK5lB,EAAGylB,aAC5CzlB,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAO,EAAG,GAEpE7iB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQqI,YAAYkP,OAAO3X,EAAGuW,IAEnCtO,EAAcf,SAAS2Q,cAAcxV,KAAKjC,QAAQqI,aAIlDzI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQqI,YAAY6N,YAAYtW,EAAGuW,KAG1EvW,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAKo8F,cAC5Cz+F,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,eAjDxDzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKi8F,eACpCt+F,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAKkiB,UAC1CvkB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAG,GAGtE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKq8F,WACpC1+F,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAO,EAAG,GAEpE7iB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQqI,YAAYkP,OAAO3X,EAAGuW,IAEnCtO,EAAcf,SAAS2Q,cAAcxV,KAAKjC,QAAQqI,aAKlDzI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQqI,YAAY6N,YAAYtW,EAAGuW,KAG1EvW,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAKo8F,eA+BhDz+F,EAAG0hB,aAAau8E,EAAU57F,KAAK4S,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,IAUtE/d,EAAO8yE,KAAKhyE,UAAU0D,cAAgB,SAAUJ,GAE5C,IAAIkI,EAAUlI,EAAckI,QAExBsa,EAAYpoB,KAAKuB,eAEjB+B,EAAM8kB,EAAU9kB,GAAKsC,EAAchB,WAAcgB,EAAc0I,OAC/D/K,EAAM6kB,EAAU7kB,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAE/D3I,EAAcgJ,YAEdd,EAAQe,aAAauZ,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,EAAGglB,EAAU/kB,EAAQ,EAALC,EAAa,EAALC,GAIjFuK,EAAQe,aAAauZ,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,EAAGglB,EAAU/kB,EAAGC,EAAIC,GAG7EvD,KAAK47F,WAAap6F,EAAO8yE,KAAK30D,eAE9B3f,KAAKu8F,2BAA2BzuF,GAIhC9N,KAAKw8F,uBAAuB1uF,IAWpCtM,EAAO8yE,KAAKhyE,UAAUi6F,2BAA6B,SAAUzuF,GAGzD,IAAIoU,EAAWliB,KAAKkiB,SAChBqB,EAAMvjB,KAAKujB,IAEX5gB,EAASuf,EAASvf,OAAS,EAE/B3C,KAAKue,QAEL,IAAK,IAAI7b,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CACI,IAAIkG,EAAY,EAAJlG,EACZ1C,KAAKy8F,0BAA0B3uF,EAASoU,EAAUqB,EAAK3a,EAAQA,EAAQ,EAAKA,EAAQ,KAW5FpH,EAAO8yE,KAAKhyE,UAAUk6F,uBAAyB,SAAU1uF,GAErD,IAAIoU,EAAWliB,KAAKkiB,SAChBqB,EAAMvjB,KAAKujB,IACX3Q,EAAU5S,KAAK4S,QAEfjQ,EAASiQ,EAAQjQ,OAErB3C,KAAKue,QAEL,IAAK,IAAI7b,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EACjC,CACI,IAAIg6F,EAAsB,EAAb9pF,EAAQlQ,GACjBwG,EAA0B,EAAjB0J,EAAQlQ,EAAI,GACrB0G,EAA0B,EAAjBwJ,EAAQlQ,EAAI,GAEzB1C,KAAKy8F,0BAA0B3uF,EAASoU,EAAUqB,EAAKm5E,EAAQxzF,EAAQE,KAW/E5H,EAAO8yE,KAAKhyE,UAAUm6F,0BAA4B,SAAU3uF,EAASoU,EAAUqB,EAAKm5E,EAAQxzF,EAAQE,GAEhG,IAAIuzF,EAAgB38F,KAAKjC,QAAQqI,YAAYgJ,OACzCwtF,EAAe58F,KAAKjC,QAAQH,MAC5Bi/F,EAAgB78F,KAAKjC,QAAQF,OAE7BqmB,EAAKhC,EAASw6E,GACdpxF,EAAK4W,EAAShZ,GACdsC,EAAK0W,EAAS9Y,GACd+a,EAAKjC,EAASw6E,EAAS,GACvBnxF,EAAK2W,EAAShZ,EAAS,GACvBuC,EAAKyW,EAAS9Y,EAAS,GAEvB0zF,EAAKv5E,EAAIm5E,GAAUE,EACnBG,EAAKx5E,EAAIra,GAAU0zF,EACnBI,EAAKz5E,EAAIna,GAAUwzF,EACnBK,EAAK15E,EAAIm5E,EAAS,GAAKG,EACvBK,EAAK35E,EAAIra,EAAS,GAAK2zF,EACvBM,EAAK55E,EAAIna,EAAS,GAAKyzF,EAE3B,GAAI78F,KAAK27F,cAAgB,EACzB,CACI,IAAIyB,EAAWp9F,KAAK27F,cAAgB37F,KAAKuB,eAAe2B,EACpDm6F,EAAWr9F,KAAK27F,cAAgB37F,KAAKuB,eAAe8B,EACpDw0B,GAAW3T,EAAK5Y,EAAKE,GAAM,EAC3BssB,GAAW3T,EAAK5Y,EAAKE,GAAM,EAE3B6xF,EAAQp5E,EAAK2T,EACb0lE,EAAQp5E,EAAK2T,EAEbsyD,EAAO1mF,KAAKS,KAAMm5F,EAAQA,EAAUC,EAAQA,GAChDr5E,EAAK2T,EAAWylE,EAAQlT,GAASA,EAAOgT,GACxCj5E,EAAK2T,EAAWylE,EAAQnT,GAASA,EAAOiT,GAGxCE,EAAQhyF,EAAKusB,EAGbxsB,EAAKusB,GAJLylE,EAAQhyF,EAAKusB,IAGbuyD,EAAO1mF,KAAKS,KAAMm5F,EAAQA,EAAUC,EAAQA,KACXnT,EAAOgT,GACxC7xF,EAAKusB,EAAWylE,EAAQnT,GAASA,EAAOiT,GAGxCE,EAAQ9xF,EAAKqsB,EAGbtsB,EAAKqsB,GAJLylE,EAAQ9xF,EAAKqsB,IAGbuyD,EAAO1mF,KAAKS,KAAMm5F,EAAQA,EAAUC,EAAQA,KACXnT,EAAOgT,GACxC3xF,EAAKqsB,EAAWylE,EAAQnT,GAASA,EAAOiT,GAG5CvvF,EAAQoa,OACRpa,EAAQ4xE,YAER5xE,EAAQ+xE,OAAO37D,EAAIC,GACnBrW,EAAQgyE,OAAOx0E,EAAIC,GACnBuC,EAAQgyE,OAAOt0E,EAAIC,GAEnBqC,EAAQ8xE,YAER9xE,EAAQya,OAGR,IAAIugC,EAASg0C,EAAKI,EAAOD,EAAKD,EAAOD,EAAKI,EAAOD,EAAKF,EAAOC,EAAKF,EAAOD,EAAKK,EAC1EK,EAAUt5E,EAAKg5E,EAAOD,EAAKzxF,EAAOF,EAAK6xF,EAAOD,EAAK1xF,EAAOyxF,EAAK3xF,EAAO4Y,EAAKi5E,EAC3EM,EAAUX,EAAKxxF,EAAO4Y,EAAK84E,EAAOD,EAAKvxF,EAAOF,EAAK0xF,EAAO94E,EAAK64E,EAAOD,EAAKtxF,EAC3EkyF,EAAUZ,EAAKI,EAAK1xF,EAAOyxF,EAAK3xF,EAAK0xF,EAAO94E,EAAK64E,EAAKI,EAAOj5E,EAAKg5E,EAAKF,EAAOC,EAAKF,EAAKvxF,EAAOsxF,EAAKxxF,EAAK6xF,EACzGQ,EAAUx5E,EAAK+4E,EAAOD,EAAKxxF,EAAOF,EAAK4xF,EAAOD,EAAKzxF,EAAOwxF,EAAK1xF,EAAO4Y,EAAKg5E,EAC3ES,EAAUd,EAAKvxF,EAAO4Y,EAAK64E,EAAOD,EAAKtxF,EAAOF,EAAKyxF,EAAO74E,EAAK44E,EAAOD,EAAKrxF,EAC3EoyF,EAAUf,EAAKI,EAAKzxF,EAAOwxF,EAAK1xF,EAAKyxF,EAAO74E,EAAK44E,EAAKI,EAAOh5E,EAAK+4E,EAAKF,EAAOC,EAAKF,EAAKtxF,EAAOqxF,EAAKvxF,EAAK4xF,EAE7GrvF,EAAQsa,UACJo1E,EAAS10C,EACT60C,EAAS70C,EACT20C,EAAS30C,EACT80C,EAAS90C,EACT40C,EAAS50C,EACT+0C,EAAS/0C,GAEbh7C,EAAQmB,UAAU0tF,EAAe,EAAG,GACpC7uF,EAAQ0a,WASZhnB,EAAO8yE,KAAKhyE,UAAUw7F,gBAAkB,SAAUC,GAE9C,IAAIjwF,EAAU9N,KAAK8N,QACfoU,EAAW67E,EAAM77E,SAEjBvf,EAASuf,EAASvf,OAAS,EAE/B3C,KAAKue,QAELzQ,EAAQ4xE,YAER,IAAK,IAAIh9E,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CAEI,IAAIkG,EAAY,EAAJlG,EAERwhB,EAAKhC,EAAStZ,GACd0C,EAAK4W,EAAStZ,EAAQ,GACtB4C,EAAK0W,EAAStZ,EAAQ,GACtBub,EAAKjC,EAAStZ,EAAQ,GACtB2C,EAAK2W,EAAStZ,EAAQ,GACtB6C,EAAKyW,EAAStZ,EAAQ,GAE1BkF,EAAQ+xE,OAAO37D,EAAIC,GACnBrW,EAAQgyE,OAAOx0E,EAAIC,GACnBuC,EAAQgyE,OAAOt0E,EAAIC,GAGvBqC,EAAQ6a,UAAY,UACpB7a,EAAQ44C,OACR54C,EAAQ8xE,aAWZp+E,EAAO8yE,KAAKhyE,UAAU4H,UAAY,SAAUwD,GAmBxC,IAAK,IAjBDnM,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPqX,EAAWliB,KAAKkiB,SAEXxf,EAAI,EAAGA,EAAIwf,EAASvf,OAAQD,GAAK,EAC1C,CACI,IAAIs7F,EAAO97E,EAASxf,GAChBu7F,EAAO/7E,EAASxf,EAAI,GACpBqB,EAAKb,EAAI86F,EAAS56F,EAAI66F,EAAQ36F,EAC9BU,EAAKX,EAAI46F,EAAS96F,EAAI66F,EAAQz6F,EAElCqH,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBE,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EAEtBC,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EACtBC,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAG1B,GAAIJ,KAAUC,EAAAA,GAAYG,IAASH,EAAAA,EAE/B,OAAOrJ,EAAOogC,eAGlB,IAAI98B,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXkC,OAAOyF,eAAejL,EAAO8yE,KAAKhyE,UAAW,mBAEzC4E,IAAK,WAED,OAAOlH,KAAKk+F,kBAGhB/2F,IAAK,SAAUC,GAEPA,GAA0B,mBAAVA,GAEhBpH,KAAKy7F,qBAAsB,EAC3Bz7F,KAAKk+F,iBAAmB92F,IAIxBpH,KAAKy7F,qBAAsB,EAC3Bz7F,KAAKk+F,iBAAmB,SAYpCl3F,OAAOyF,eAAejL,EAAO8yE,KAAKhyE,UAAW,YAEzC4E,IAAK,WAKD,IAAK,IAFD0B,EAAO0C,EAAIC,EAAIC,EAAIC,EAAI7N,EAAOC,EAAQ+8B,EADtCszD,KAGKxrF,EAAI,EAAGA,EAAI1C,KAAKs+B,OAAO37B,OAAQD,IAEpCkG,EAAY,EAAJlG,EAER4I,EAAKtL,KAAKkiB,SAAStZ,GAAS5I,KAAKc,MAAMiD,EACvCwH,EAAKvL,KAAKkiB,SAAStZ,EAAQ,GAAK5I,KAAKc,MAAMkD,EAC3CwH,EAAKxL,KAAKkiB,SAAStZ,EAAQ,GAAK5I,KAAKc,MAAMiD,EAC3C0H,EAAKzL,KAAKkiB,SAAStZ,EAAQ,GAAK5I,KAAKc,MAAMkD,EAE3CpG,EAAQ4D,EAAOkC,KAAKy6F,WAAW7yF,EAAIE,GACnC3N,EAAS2D,EAAOkC,KAAKy6F,WAAW5yF,EAAIE,GAEpCH,GAAMtL,KAAKiD,MAAMc,EACjBwH,GAAMvL,KAAKiD,MAAMe,EACjB42B,EAAO,IAAIp5B,EAAOS,UAAUqJ,EAAIC,EAAI3N,EAAOC,GAC3CqwF,EAASpmF,KAAK8yB,GAGlB,OAAOszD,KA+Df1sF,EAAOglD,WAAa,SAAUzjD,EAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,GAE1DtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnBmV,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAEjB7O,KAAKsH,OAAOtB,KAAKxE,KAAM,IAAIxB,KAAKqO,QAAQrL,EAAO8sC,MAAM5mB,QAAQthB,aAAcxI,EAAOC,GAMlFmC,KAAKwT,KAAOhS,EAAO+qB,WAMnBvsB,KAAKuyC,YAAc/wC,EAAO0qB,OAM1BlsB,KAAKo+F,QAAU,IAAI58F,EAAOX,MAK1Bb,KAAK6kB,UAAY,IAAIrjB,EAAOX,MAAM,EAAG,GAKrCb,KAAKykB,gBAAkB,IAAIjjB,EAAOX,MAAM,EAAG,GAK3Cb,KAAKwkB,aAAe,IAAIhjB,EAAOX,MAQ/Bb,KAAKq+F,cAAe,EAOpBr+F,KAAKkvF,aAAe,KAOpBlvF,KAAKqkB,cAAgB,KAOrBrkB,KAAKs+F,YAAc,KAQnBt+F,KAAKwyE,gBAAiB,EAEtBxyE,KAAKu+F,WAAa,EAClBv+F,KAAKw+F,YAAc,EAEnBx+F,KAAK0M,OAAS9O,EACdoC,KAAK2M,QAAU9O,EAEf2D,EAAOqpE,UAAUiB,KAAKp6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOglD,WAAWlkD,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACxDd,EAAOglD,WAAWlkD,UAAUC,YAAcf,EAAOglD,WAEjDhlD,EAAOqpE,UAAUiB,KAAKC,QAAQvnE,KAAKhD,EAAOglD,WAAWlkD,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJd,EAAOglD,WAAWlkD,UAAUm0E,iBAAmBj1E,EAAOqpE,UAAUsB,YAAYznE,UAC5ElD,EAAOglD,WAAWlkD,UAAUo0E,kBAAoBl1E,EAAOqpE,UAAUuG,SAAS1sE,UAC1ElD,EAAOglD,WAAWlkD,UAAUq0E,iBAAmBn1E,EAAOqpE,UAAUgG,QAAQnsE,UACxElD,EAAOglD,WAAWlkD,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UASlElD,EAAOglD,WAAWlkD,UAAUoC,UAAY,WAYpC,OAVuB,IAAnB1E,KAAKo+F,QAAQr6F,IAEb/D,KAAKwkB,aAAazgB,GAAK/D,KAAKo+F,QAAQr6F,EAAI/D,KAAK+C,KAAKmiC,KAAKu5D,gBAGpC,IAAnBz+F,KAAKo+F,QAAQp6F,IAEbhE,KAAKwkB,aAAaxgB,GAAKhE,KAAKo+F,QAAQp6F,EAAIhE,KAAK+C,KAAKmiC,KAAKu5D,mBAGtDz+F,KAAKy2E,oBAAuBz2E,KAAK02E,qBAAwB12E,KAAK22E,qBAK5D32E,KAAK42E,iBAehBp1E,EAAOglD,WAAWlkD,UAAUo8F,WAAa,SAAU36F,EAAGC,GAIlD,OAFAhE,KAAKo+F,QAAQj3F,IAAIpD,EAAGC,GAEbhE,MAUXwB,EAAOglD,WAAWlkD,UAAUq8F,WAAa,WAIrC,OAFA3+F,KAAKo+F,QAAQj3F,IAAI,EAAG,GAEbnH,MAWXwB,EAAOglD,WAAWlkD,UAAUE,QAAU,SAAU+3C,GAE5C/4C,EAAOqpE,UAAU8C,QAAQrrE,UAAUE,QAAQgC,KAAKxE,KAAMu6C,GAEtD/7C,KAAKsH,OAAOxD,UAAUE,QAAQgC,KAAKxE,MAE/BA,KAAKkvF,eAELlvF,KAAKkvF,aAAa1sF,UAClBxC,KAAKkvF,aAAe,MAGxBlvF,KAAK6kB,UAAY,KACjB7kB,KAAKykB,gBAAkB,KACvBzkB,KAAKwkB,aAAe,KAEhBxkB,KAAKqkB,gBAELrkB,KAAKqkB,cAAc7hB,SAAQ,GAC3BxC,KAAKqkB,cAAgB,OAe7B7iB,EAAOglD,WAAWlkD,UAAUyjC,MAAQ,SAAUhiC,EAAGC,GAO7C,OALAxC,EAAOqpE,UAAUgI,MAAMvwE,UAAUyjC,MAAMvhC,KAAKxE,KAAM+D,EAAGC,GAErDhE,KAAKwkB,aAAazgB,EAAI,EACtB/D,KAAKwkB,aAAaxgB,EAAI,EAEfhE,MAYXwB,EAAOglD,WAAWlkD,UAAUgL,WAAa,SAAUvP,GAS/C,OAPIiC,KAAKjC,UAAYA,IAEjBiC,KAAKjC,QAAUA,EACfiC,KAAKwyE,gBAAiB,EACtBxyE,KAAKgN,WAAa,UAGfhN,MAWXwB,EAAOglD,WAAWlkD,UAAUyD,aAAe,SAAUH,GAEjD,GAAK5F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAkBA,GAbIjB,KAAKmC,QAELyD,EAAcmG,YAAYI,OAC1BvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CA,EAAcmG,YAAYO,SAG1BtM,KAAKyG,WAELb,EAAcmG,YAAYC,QAC1BpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKwyE,eACT,CAGI,GAFAxyE,KAAK4+F,uBAAsB,EAAMh5F,IAE7B5F,KAAKqkB,cAWL,OATIrkB,KAAKqkB,cAAcw6E,cAEnB7+F,KAAKqkB,cAAcje,YAAYE,aAAetG,KAAKjC,QAAQqI,YAAYE,aACvEV,EAAcf,SAAS2Q,cAAcxV,KAAKqkB,cAAcje,aACxDpG,KAAKqkB,cAAcw6E,aAAc,GAS7Cj5F,EAAcmG,YAAYqY,mBAAmBpkB,MAE7C,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlC,IAAIk5F,GAAe,EAEf9+F,KAAKyG,WAELq4F,GAAe,EACfl5F,EAAcmG,YAAYI,OAC1BvG,EAAcqG,cAAcO,aAG5BxM,KAAKmC,QAEA28F,GAEDl5F,EAAcmG,YAAYI,OAG9BvG,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,IAG9Ck5F,GAEAl5F,EAAcmG,YAAYO,UAYlC9K,EAAOglD,WAAWlkD,UAAU0D,cAAgB,SAAUJ,GAElD,GAAK5F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAKA,IAAI6M,EAAUlI,EAAckI,QAExB9N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnDkI,EAAQG,YAAcjO,KAAKsB,WAE3B,IAAImC,EAAKzD,KAAKuB,eACVqD,EAAagB,EAAchB,WAC3BtB,EAAMG,EAAGH,GAAKsB,EAAcgB,EAAc0I,OAC1C/K,EAAME,EAAGF,GAAKqB,EAAcgB,EAAc2I,OAa9C,GAXAT,EAAQe,aAAapL,EAAGP,EAAI0B,EAAYnB,EAAGN,EAAIyB,EAAYnB,EAAGL,EAAIwB,EAAYnB,EAAGJ,EAAIuB,EAAYtB,EAAIC,GAEnF,WAAdvD,KAAK+M,OAAsB/M,KAAKjC,QAAQ+Q,gBAAkB9O,KAAKgN,aAAehN,KAAK+M,OAEnF/M,KAAK4G,cAAgBpI,KAAKuQ,aAAaC,iBAAiBhP,KAAMA,KAAK+M,MAEnE/M,KAAKgN,WAAahN,KAAK+M,KACvB/M,KAAKjC,QAAQ+Q,gBAAiB,EAC9B9O,KAAKwyE,gBAAiB,GAGtBxyE,KAAKwyE,eACT,CAGI,GAFAxyE,KAAK4+F,uBAAsB,EAAOh5F,IAE9B5F,KAAKqkB,cAML,OAJArkB,KAAKs+F,YAAcxwF,EAAQsyE,cAAcpgF,KAAKqkB,cAAcje,YAAYgJ,OAAQ,UAQxF,IAAI2vF,EAAmBn5F,EAAciI,iBAGjC7N,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtC6F,EAAQC,yBAA2BvP,KAAKwP,iBAAiBpI,EAAciI,mBAG3E,IAAI2W,EAAexkB,KAAKwkB,aACpBK,EAAY7kB,KAAK6kB,UAErBL,EAAazgB,GAAK/D,KAAKqkB,cAAcje,YAAYxI,MACjD4mB,EAAaxgB,GAAKhE,KAAKqkB,cAAcje,YAAYvI,OAGjDiQ,EAAQhN,MAAM+jB,EAAU9gB,EAAG8gB,EAAU7gB,GACrC8J,EAAQ+tB,UAAUrX,EAAazgB,EAAK/D,KAAK2G,OAAO5C,GAAK/D,KAAK0M,OAAS8X,EAAaxgB,EAAKhE,KAAK2G,OAAO3C,GAAKhE,KAAK2M,SAE3GmB,EAAQ6a,UAAY3oB,KAAKs+F,YAEzBh7F,GAAMkhB,EAAazgB,EACnBR,GAAMihB,EAAaxgB,EAEnB,IAAIknB,EAAKlrB,KAAK0M,OAASmY,EAAU9gB,EAC7BonB,EAAKnrB,KAAK2M,QAAUkY,EAAU7gB,EAG9B4B,EAAcgJ,cAEdtL,GAAM,EACNC,GAAM,EACN2nB,GAAM,EACNC,GAAM,GAGVrd,EAAQgb,SAASxlB,EAAIC,EAAI2nB,EAAIC,GAG7Brd,EAAQhN,MAAM,EAAI+jB,EAAU9gB,EAAG,EAAI8gB,EAAU7gB,GAC7C8J,EAAQ+tB,WAAWrX,EAAazgB,EAAK/D,KAAK2G,OAAO5C,EAAI/D,KAAK0M,QAAU8X,EAAaxgB,EAAKhE,KAAK2G,OAAO3C,EAAIhE,KAAK2M,SAEvG3M,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,GAGtC,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAI/Bm5F,IAAqB/+F,KAAKiI,YAE1BrC,EAAciI,iBAAmBkxF,EACjCjxF,EAAQC,yBAA2BvP,KAAKwP,iBAAiB+wF,MAWjEv9F,EAAOglD,WAAWlkD,UAAU8K,gBAAkB,aAc9C5L,EAAOglD,WAAWlkD,UAAUs8F,sBAAwB,SAAUI,GAE1D,GAAKh/F,KAAKjC,QAAQqI,YAAY+G,UAA9B,CAKA,IAAIpP,EAAUiC,KAAKjC,QACfsP,EAAQtP,EAAQsP,MAEhB4xF,EAAcj/F,KAAKutE,OAAO+E,aAAetyE,KAAKutE,OAAO3vE,MACrDshG,EAAel/F,KAAKutE,OAAOgF,aAAevyE,KAAKutE,OAAO1vE,OAEtDsQ,EAAK,EACLE,EAAK,EAELrO,KAAKutE,OAAO4E,UAEZhkE,EAAKnO,KAAKutE,OAAO6E,kBACjB/jE,EAAKrO,KAAKutE,OAAO8E,mBAGjB2sB,IAEAC,EAAcz9F,EAAOkC,KAAKy7F,kBAAkBF,GAC5CC,EAAe19F,EAAOkC,KAAKy7F,kBAAkBD,IAG7Cl/F,KAAKkvF,cAELlvF,KAAKkvF,aAAa/oF,OAAO84F,EAAaC,GACtCl/F,KAAKqkB,cAAcje,YAAYxI,MAAQqhG,EACvCj/F,KAAKqkB,cAAcje,YAAYvI,OAASqhG,EACxCl/F,KAAKqkB,cAAcw6E,aAAc,IAIjC7+F,KAAKkvF,aAAe,IAAI1wF,KAAKupB,aAAak3E,EAAaC,GACvDl/F,KAAKqkB,cAAgB7lB,KAAKqO,QAAQ6d,WAAW1qB,KAAKkvF,aAAah4E,QAC/DlX,KAAKqkB,cAAcwG,UAAW,EAC9B7qB,KAAKqkB,cAAcw6E,aAAc,GAGjC7+F,KAAKq+F,eAELr+F,KAAKkvF,aAAaphF,QAAQkyE,YAAc,UACxChgF,KAAKkvF,aAAaphF,QAAQg9E,WAAW,EAAG,EAAGmU,EAAaC,IAI5D,IAAI7pF,EAAItX,EAAQ6P,KAAKhQ,MACjB2mB,EAAIxmB,EAAQ6P,KAAK/P,OAEjBwX,IAAM4pF,GAAe16E,IAAM26E,IAE3B7pF,EAAI4pF,EACJ16E,EAAI26E,GAGR,IAAIz+F,EAAgBT,KAAK4G,cAAgB5G,KAAK4G,cAAgB7I,EAAQqI,YAAYgJ,OAElFpP,KAAKkvF,aAAaphF,QAAQmB,UACtBxO,EACA1C,EAAQ6P,KAAK7J,EACbhG,EAAQ6P,KAAK5J,EACbjG,EAAQ6P,KAAKhQ,MACbG,EAAQ6P,KAAK/P,OACbsQ,EACAE,EACAgH,EACAkP,GAGJvkB,KAAKykB,gBAAgB1gB,EAAIsJ,EAAMzP,MAAQqhG,EACvCj/F,KAAKykB,gBAAgBzgB,EAAIqJ,EAAMxP,OAASqhG,EAExCl/F,KAAKwyE,gBAAiB,EAEtBxyE,KAAKqkB,cAAcje,YAAY4V,WAAY,IAU/Cxa,EAAOglD,WAAWlkD,UAAU4H,UAAY,WAEpC,IAAItM,EAAQoC,KAAK0M,OACb7O,EAASmC,KAAK2M,QAEdzB,EAAKtN,GAAS,EAAIoC,KAAK2G,OAAO5C,GAC9BoH,EAAKvN,GAASoC,KAAK2G,OAAO5C,EAE1BqH,EAAKvN,GAAU,EAAImC,KAAK2G,OAAO3C,GAC/BqH,EAAKxN,GAAUmC,KAAK2G,OAAO3C,EAE3BzC,EAAiBvB,KAAKuB,eAEtB2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAMpI,EAAIiI,EAAO/H,EAAIiI,EAAM/H,EAC3BiI,EAAMlI,EAAIgI,EAAOlI,EAAIgI,EAAM5H,EAE3BiI,EAAMtI,EAAIgI,EAAO9H,EAAIiI,EAAM/H,EAC3BmI,EAAMpI,EAAIgI,EAAOlI,EAAI+H,EAAM3H,EAE3BmI,EAAMxI,EAAIgI,EAAO9H,EAAIgI,EAAM9H,EAC3BqI,EAAMtI,EAAI+H,EAAOjI,EAAI+H,EAAM3H,EAE3BqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAEvBwH,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,IAAIlG,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXkC,OAAOyF,eAAejL,EAAOglD,WAAWlkD,UAAW,SAE/C4E,IAAK,WAED,OAAOlH,KAAK0M,QAGhBvF,IAAK,SAAUC,GAEXpH,KAAK0M,OAAStF,KAWtBJ,OAAOyF,eAAejL,EAAOglD,WAAWlkD,UAAW,UAE/C4E,IAAK,WAED,OAAOlH,KAAK2M,SAGhBxF,IAAK,SAAUC,GAEXpH,KAAK2M,QAAUvF,KAiBvB5F,EAAOqF,YAYH2B,OAAQ,SAAUnH,EAAQzD,EAAOC,GAE7B,IACIqZ,EADAo/E,EAAM90F,EAAOqF,WAAWivC,WAG5B,IAAa,IAATwgD,EACJ,CACI,IAAI3qB,GACAtqE,OAAQA,EACR6V,OAAQ84B,SAAS0mD,cAAc,WAGnCl1F,EAAOqF,WAAWu4F,KAAKt3F,KAAK6jE,GAE5Bz0D,EAASy0D,EAAUz0D,YAInB1V,EAAOqF,WAAWu4F,KAAK9I,GAAKj1F,OAASA,EAErC6V,EAAS1V,EAAOqF,WAAWu4F,KAAK9I,GAAKp/E,OASzC,YANc3Q,IAAV3I,IAEAsZ,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,GAGbqZ,GAUX4+B,SAAU,WAIN,IAAK,IAFDspD,EAAO59F,EAAOqF,WAAWu4F,KAEpB18F,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAE7B,IAAK08F,EAAK18F,GAAGrB,OAET,OAAOqB,EAIf,OAAQ,GAWZyZ,OAAQ,SAAU9a,GAId,IAAK,IAFD+9F,EAAO59F,EAAOqF,WAAWu4F,KAEpB18F,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAEzB08F,EAAK18F,GAAGrB,SAAWA,IAEnB+9F,EAAK18F,GAAGrB,OAAS,KACjB+9F,EAAK18F,GAAGwU,OAAOtZ,MAAQ,EACvBwhG,EAAK18F,GAAGwU,OAAOrZ,OAAS,IAapCiJ,eAAgB,SAAUoQ,GAItB,IAAK,IAFDkoF,EAAO59F,EAAOqF,WAAWu4F,KAEpB18F,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAEzB08F,EAAK18F,GAAGwU,SAAWA,IAEnBkoF,EAAK18F,GAAGrB,OAAS,KACjB+9F,EAAK18F,GAAGwU,OAAOtZ,MAAQ,EACvBwhG,EAAK18F,GAAGwU,OAAOrZ,OAAS,IAYpCwhG,SAAU,WAKN,IAAK,IAHDD,EAAO59F,EAAOqF,WAAWu4F,KACzBh8F,EAAI,EAECV,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAEzB08F,EAAK18F,GAAGrB,QAER+B,IAIR,OAAOA,GAUXk8F,QAAS,WAKL,IAAK,IAHDF,EAAO59F,EAAOqF,WAAWu4F,KACzBh8F,EAAI,EAECV,EAAI,EAAGA,EAAI08F,EAAKz8F,OAAQD,IAExB08F,EAAK18F,GAAGrB,QAET+B,IAIR,OAAOA,GAUXiN,IAAK,WAED/P,QAAQ+P,IACJ,yCACA7O,EAAOqF,WAAWw4F,WAClB79F,EAAOqF,WAAWy4F,UAClB99F,EAAOqF,WAAWu4F,KAAKz8F,UAanCnB,EAAOqF,WAAWu4F,QAWlBp4F,OAAOyF,eAAejL,EAAOqF,WAAY,UACrCK,IAAK,WAED,OAAOlH,KAAKo/F,KAAKz8F,UA6CzBnB,EAAO85C,OAAS,WAOZt7C,KAAKu/F,cAAgB,EAOrBv/F,KAAKw/F,aAAc,EAQnBx/F,KAAKy/F,SAAU,EAMfz/F,KAAKsgD,KAAM,EAMXtgD,KAAK0/F,WAAa,EAMlB1/F,KAAKk/C,UAAW,EAMhBl/C,KAAKgxC,aAAc,EAMnBhxC,KAAKqgD,SAAU,EAMfrgD,KAAK2/F,MAAO,EAMZ3/F,KAAK4/F,YAAa,EAMlB5/F,KAAK6/F,UAAW,EAMhB7/F,KAAK8/F,QAAS,EAMd9/F,KAAK+/F,WAAY,EAMjB//F,KAAKggG,SAAU,EAMfhgG,KAAKigG,UAAW,EAMhBjgG,KAAKkgG,OAAQ,EAMblgG,KAAKmgG,OAAQ,EAMbngG,KAAKogG,SAAU,EAMfpgG,KAAKqgG,cAAe,EAQpBrgG,KAAKkX,QAAS,EAMdlX,KAAKsgG,kBAAoB,KAOzBtgG,KAAKopB,gBAAiB,EAUtBppB,KAAKkqB,gBAAiB,EAOtBlqB,KAAK++C,OAAQ,EAMb/+C,KAAKugG,MAAO,EAMZvgG,KAAKwgG,YAAa,EAMlBxgG,KAAKygG,cAAe,EAMpBzgG,KAAK0gG,QAAS,EAMd1gG,KAAK2gG,OAAQ,EAMb3gG,KAAKwkD,aAAc,EAMnBxkD,KAAK4gG,YAAa,EAMlB5gG,KAAK6gG,WAAY,EAMjB7gG,KAAK8gG,cAAe,EAMpB9gG,KAAK+gG,YAAa,EAQlB/gG,KAAK6iD,OAAQ,EAMb7iD,KAAK8iD,WAAY,EAOjB9iD,KAAKgpD,WAAa,KAQlBhpD,KAAKghG,OAAQ,EAMbhhG,KAAKihG,QAAS,EAMdjhG,KAAKkhG,cAAgB,EAMrBlhG,KAAKmhG,UAAW,EAMhBnhG,KAAKohG,SAAU,EAMfphG,KAAKqhG,eAAiB,EAMtBrhG,KAAK0+C,IAAK,EAMV1+C,KAAKshG,UAAY,EAMjBthG,KAAKuhG,SAAU,EAMfvhG,KAAKwhG,eAAiB,EAMtBxhG,KAAKu7B,MAAO,EAMZv7B,KAAKyhG,cAAe,EAMpBzhG,KAAK0hG,QAAS,EAMd1hG,KAAK2hG,OAAQ,EAMb3hG,KAAK4hG,QAAS,EAMd5hG,KAAK6hG,cAAgB,EAMrB7hG,KAAK8hG,QAAS,EAMd9hG,KAAK+hG,MAAO,EAQZ/hG,KAAKgiG,WAAY,EAOjBhiG,KAAKy+C,UAAW,EAMhBz+C,KAAKiiG,KAAM,EAMXjiG,KAAKkiG,MAAO,EAMZliG,KAAKmiG,KAAM,EAMXniG,KAAKoiG,KAAM,EAOXpiG,KAAKqiG,KAAM,EAMXriG,KAAKsiG,MAAO,EAMZtiG,KAAKuiG,OAAQ,EAQbviG,KAAKwiG,UAAW,EAMhBxiG,KAAKyiG,WAAY,EAMjBziG,KAAK0iG,UAAW,EAMhB1iG,KAAK2iG,WAAY,EAMjB3iG,KAAK4iG,UAAW,EAMhB5iG,KAAK6iG,UAAW,EAQhB7iG,KAAK8iG,QAAS,EAMd9iG,KAAK+iG,SAAU,EAMf/iG,KAAKgjG,MAAO,EAQZhjG,KAAKijG,WAAa,EAMlBjjG,KAAKkjG,cAAe,EAMpBljG,KAAKw9E,eAAgB,EAMrBx9E,KAAKmjG,cAAe,EAMpBnjG,KAAKojG,YAAa,EAMlBpjG,KAAKqjG,kBAAoB,GAMzBrjG,KAAKsjG,iBAAmB,GAMxBtjG,KAAKujG,oBAAqB,GAO9B/hG,EAAO85C,OAAS,IAAI95C,EAAO85C,OAc3B95C,EAAO85C,OAAOkoD,cAAgB,IAAIhiG,EAAO6gC,OAgBzC7gC,EAAO85C,OAAOwB,UAAY,SAAUnI,EAAU7mC,EAAS21F,GAEnD,IAAIC,EAAa1jG,KAAK2jG,YAEtB,GAAI3jG,KAAKu/F,gBAAkBmE,EAEvB/uD,EAASnwC,KAAKsJ,EAAS9N,WAEtB,GAAI0jG,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO/7F,MAAO6sC,EAAU7mC,QAGvC,CACI41F,EAAWE,SAAWF,EAAW3zE,KAAK/vB,MACtC0jG,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO/7F,MAAO6sC,EAAU7mC,IAEnC,IAAIuyC,OAAoC,IAAnBjwC,OAAOiwC,QACxBnB,EAAWv1B,UAAUC,WAEG,aAAxBomB,SAAS8zD,YAAqD,gBAAxB9zD,SAAS8zD,WAG/C1zF,OAAO2zF,WAAWL,EAAWE,SAAU,GAElCvjD,IAAYnB,EAMjBlP,SAASW,iBAAiB,cAAe+yD,EAAWE,UAAU,IAI9D5zD,SAASW,iBAAiB,mBAAoB+yD,EAAWE,UAAU,GACnExzF,OAAOugC,iBAAiB,OAAQ+yD,EAAWE,UAAU,MAYjEpiG,EAAO85C,OAAOqoD,YAAc,WAExB,IAAID,EAAa1jG,KAAK2jG,YAEtB,GAAK3zD,SAAS8B,MAIT,IAAK9xC,KAAKu/F,cACf,CACIv/F,KAAKu/F,cAAgBtyD,KAAK4P,MAE1B7M,SAAS4B,oBAAoB,cAAe8xD,EAAWE,UACvD5zD,SAAS4B,oBAAoB,mBAAoB8xD,EAAWE,UAC5DxzF,OAAOwhC,oBAAoB,OAAQ8xD,EAAWE,UAE9C5jG,KAAKgkG,cACLhkG,KAAKw/F,aAAc,EAEnBx/F,KAAKwjG,cAAcp+D,SAASplC,MAG5B,IADA,IAAIsH,EACIA,EAAOo8F,EAAWG,OAAOr1C,SACjC,CACI,IAAI7Z,EAAWrtC,EAAK,GAChBwG,EAAUxG,EAAK,GACnBqtC,EAASnwC,KAAKsJ,EAAS9N,MAI3BA,KAAK2jG,YAAc,KACnB3jG,KAAKgkG,YAAc,KACnBhkG,KAAKwjG,cAAgB,WA1BrBpzF,OAAO2zF,WAAWL,EAAWE,SAAU,KAqC/CpiG,EAAO85C,OAAO0oD,YAAc,WA0gBxB,SAASC,IAEL,IAAI/gG,EAAI,IAAIif,YAAY,GACpBhf,EAAI,IAAI6sF,WAAW9sF,GACnBE,EAAI,IAAImf,YAAYrf,GAOxB,OALAC,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEM,aAATC,EAAE,IAKO,aAATA,EAAE,IAOK,KASf,SAAS8gG,IAEL,QAA0B39F,IAAtB49F,kBAEA,OAAO,EAGX,IACInqB,EADOx4E,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GAC9BwY,WAAW,MAE1B,IAAKwhE,EAED,OAAO,EAGX,IAAI9/D,EAAQ8/D,EAAIoqB,gBAAgB,EAAG,GAInC,OAFA5iG,EAAOqF,WAAWsV,OAAOnc,MAElBka,EAAM9F,gBAAgB+vF,kBA3jBjC,IAAIl6E,EAASjqB,MAKb,WAEI,IAAI06B,EAAK/Q,UAAU0wC,UAEf,mBAAqBw9B,KAAKn9D,GAE1BzQ,EAAOo6E,MAAO,EAET,SAAWxM,KAAKn9D,IAAO,kBAAoBm9D,KAAKn9D,IAAO,sBAAwBm9D,KAAKn9D,GAEzFzQ,EAAOq6E,QAAS,EAOX,UAAYzM,KAAKn9D,GAEtBzQ,EAAO+1E,SAAU,EAEZ,OAASnI,KAAKn9D,GAEnBzQ,EAAOg2E,UAAW,EAEb,kBAAoBpI,KAAKn9D,IAE9BzQ,EAAOq2B,KAAM,EACZ32B,UAAoB,WAAEihD,MAAM,YAC7B3gD,EAAOy1E,WAAavsE,SAASoxE,OAAOC,GAAI,KAEnC,QAAU3M,KAAKn9D,GAEpBzQ,EAAOi2E,OAAQ,EAEV,SAAWrI,KAAKn9D,GAErBzQ,EAAOk2E,OAAQ,EAEV,UAAYtI,KAAKn9D,KAEtBzQ,EAAOm2E,SAAU,IAGjB,iBAAmBvI,KAAKn9D,IAAO,YAAcm9D,KAAKn9D,MAElDzQ,EAAO+1E,SAAU,EACjB/1E,EAAOq2B,KAAM,EACbr2B,EAAOk2E,OAAQ,EACfl2E,EAAOm2E,SAAU,EACjBn2E,EAAOo2E,cAAe,GAG1B,IAAI0B,EAAO,OAASlK,KAAKn9D,IAErBzQ,EAAOm2E,SAAWn2E,EAAOk2E,OAAUl2E,EAAOi2E,QAAU6B,GAAS93E,EAAOg2E,YAEpEh2E,EAAOw1E,SAAU,IAIjBx1E,EAAOo2E,cAAkB,cAAgBxI,KAAKn9D,IAAS,SAAWm9D,KAAKn9D,MAEvEzQ,EAAOw1E,SAAU,GA6jBzBgF,GAvWA,WAEI,IAAI/pE,EAAK/Q,UAAU0wC,UA4FnB,GA1FI,QAAUw9B,KAAKn9D,GAEfzQ,EAAO+2E,OAAQ,EAEV,YAAcnJ,KAAKn9D,GAExBzQ,EAAOsR,MAAO,EAET,gBAAkBs8D,KAAKn9D,KAAQzQ,EAAOo2E,cAE3Cp2E,EAAOg3E,QAAS,EAChBh3E,EAAOi3E,cAAgB/tE,SAASoxE,OAAOC,GAAI,KAEtC,WAAa3M,KAAKn9D,GAEvBzQ,EAAOk3E,UAAW,EAEb,kBAAoBtJ,KAAKn9D,IAE9BzQ,EAAOm3E,SAAU,EACjBn3E,EAAOo3E,eAAiBluE,SAASoxE,OAAOC,GAAI,KAEvC,cAAgB3M,KAAKn9D,IAAOzQ,EAAOq2B,IAExCr2B,EAAOw3E,cAAe,EAEjB,mBAAqB5J,KAAKn9D,IAE/BzQ,EAAOy0B,IAAK,EACZz0B,EAAOq3E,UAAYnuE,SAASoxE,OAAOC,GAAI,KAElC,SAAW3M,KAAKn9D,GAErBzQ,EAAOy3E,QAAS,EAEX,QAAU7J,KAAKn9D,GAEpBzQ,EAAO03E,OAAQ,EAEV,gBAAkB9J,KAAKn9D,KAAQzQ,EAAOo2E,cAE3Cp2E,EAAO23E,QAAS,EAEZ,mBAAqB/J,KAAKn9D,KAE1BzQ,EAAO43E,cAAgB1uE,SAASoxE,OAAOC,GAAI,MAG1C,uCAAyC3M,KAAKn9D,KAEnDzQ,EAAOy0B,IAAK,EACZz0B,EAAOs3E,SAAU,EACjBt3E,EAAOu3E,eAAiBruE,SAASoxE,OAAOC,GAAI,IAC5Cv6E,EAAOq3E,UAAYnuE,SAASoxE,OAAOG,GAAI,KAIvC,OAAS7M,KAAKn9D,KAEdzQ,EAAO83E,MAAO,GAIdp4E,UAAUg7E,aAEV16E,EAAO63E,QAAS,QAGU,IAAnB1xF,OAAOiwC,UAEdp2B,EAAOo2B,SAAU,GAGE,oBAAZukD,SAA8C,oBAAZC,UAEzC56E,EAAO01E,MAAO,GAGd11E,EAAO01E,MAAoC,iBAArBiF,QAAQE,WAE9B76E,EAAO21E,aAAegF,QAAQE,SAAS,eAEvC76E,EAAO41E,WAAa+E,QAAQE,SAASjF,UAGrCl2E,UAAUC,aAEVK,EAAOi1B,UAAW,GAGlBj1B,EAAOi1B,SAEP,IAEIj1B,EAAO+mB,YAAmC,oBAAbC,SAEjC,MAAM1wC,GAEF0pB,EAAO+mB,aAAc,OAIA,IAAlB5gC,OAAO0vF,SAEd71E,EAAO61E,QAAS,GAGhB,YAAcjI,KAAKn9D,KAEnBzQ,EAAO81E,WAAY,GAuP3BgF,GAtMA,WAEI96E,EAAO+3E,YAAe5xF,OAAY,MAClC6Z,EAAOw0B,YAAcruC,OAAO40F,eAAgB50F,OAAO60F,oBACnD,IAAIC,EAAel1D,SAAS0mD,cAAc,SAE1C,IAEI,GAAIwO,EAAaC,cAETD,EAAaC,YAAY,8BAA8B7wE,QAAQ,OAAQ,MAEvErK,EAAOg4E,KAAM,IAGbiD,EAAaC,YAAY,4BAA4B7wE,QAAQ,OAAQ,KAAO4wE,EAAaC,YAAY,eAAe7wE,QAAQ,OAAQ,OAEpIrK,EAAOi4E,MAAO,GAGdgD,EAAaC,YAAY,eAAe7wE,QAAQ,OAAQ,MAExDrK,EAAOk4E,KAAM,GAQb+C,EAAaC,YAAY,yBAAyB7wE,QAAQ,OAAQ,MAElErK,EAAOm4E,KAAM,IAGb8C,EAAaC,YAAY,iBAAmBD,EAAaC,YAAY,cAAc7wE,QAAQ,OAAQ,OAEnGrK,EAAOo4E,KAAM,GAGb6C,EAAaC,YAAY,+BAA+B7wE,QAAQ,OAAQ,MAExErK,EAAOq4E,MAAO,GAG0C,KAAxD4C,EAAaC,YAAY,4BAEzB,GAAIl7E,EAAOsR,KAEPtR,EAAOs4E,OAAQ,OAEd,GAAIt4E,EAAO23E,QAAU33E,EAAO43E,eAAiB,GAE1C,uBAAyBhK,KAAKluE,UAAU0wC,WAC5C,CACI,IAAI+qC,EAAQjyE,SAASoxE,OAAOC,GAAI,IAC5Ba,EAAQlyE,SAASoxE,OAAOe,GAAI,KAEjB,KAAVF,GAAgBC,GAAS,IAAOD,EAAQ,MAEzCn7E,EAAOs4E,OAAQ,IAOvC,MAAO5zF,KAoIX42F,GAjPA,WAEI,IAAIC,EAAex1D,SAAS0mD,cAAc,SAE1C,IAEQ8O,EAAaL,cAETK,EAAaL,YAAY,8BAA8B7wE,QAAQ,OAAQ,MAEvErK,EAAOu4E,UAAW,GAGlBgD,EAAaL,YAAY,mCAAmC7wE,QAAQ,OAAQ,MAG5ErK,EAAOw4E,WAAY,EACnBx4E,EAAOy4E,UAAW,GAGlB8C,EAAaL,YAAY,oCAAoC7wE,QAAQ,OAAQ,MAE7ErK,EAAO04E,WAAY,GAGnB6C,EAAaL,YAAY,4BAA4B7wE,QAAQ,OAAQ,MAErErK,EAAO24E,UAAW,GAGlB4C,EAAaL,YAAY,+CAA+C7wE,QAAQ,OAAQ,MAExFrK,EAAO44E,UAAW,IAI9B,MAAOl0F,KA8MX82F,GAhCA,WAEI,IACIC,EADAC,EAAK31D,SAAS0mD,cAAc,KAE5BkP,GACAC,gBAAiB,oBACjBC,WAAY,eACZC,YAAa,gBACbC,aAAc,iBACd59E,UAAW,aAIf4nB,SAAS8B,KAAKm0D,aAAaN,EAAI,MAE/B,IAAK,IAAI90E,KAAK+0E,OAEUr/F,IAAhBo/F,EAAGrqF,MAAMuV,KAET80E,EAAGrqF,MAAMuV,GAAK,2BACd60E,EAAQt1F,OAAO81F,iBAAiBP,GAAIQ,iBAAiBP,EAAW/0E,KAIxEmf,SAAS8B,KAAKjpC,YAAY88F,GAC1B17E,EAAO02E,WAAmBp6F,IAAVm/F,GAAuBA,EAAM/iG,OAAS,GAAe,SAAV+iG,EAQ/DU,GAlEIn8E,EAAOg5E,WAAa7yF,OAAOi2F,kBAAoB,EAC/Cp8E,EAAO64E,QAAkE,IAAzDn5E,UAAU0wC,UAAUlM,cAAc9kD,QAAQ,UAC1D4gB,EAAO84E,QAAiC,IAAtB94E,EAAOg5E,YAAoBh5E,EAAO64E,OACpD74E,EAAO+4E,MAA8D,IAAvDr5E,UAAU0wC,UAAUlM,cAAc9kD,QAAQ,QAE/B,oBAAdi9F,UAEPr8E,EAAO22E,YAAa,EAIpB32E,EAAO22E,YAAa,EAGG,oBAAhBz+E,aAAqD,oBAAf6tE,YAAqD,oBAAhBztE,cAElF0H,EAAOi5E,aAAee,IACtBh6E,EAAOuzD,cAAgBvzD,EAAOi5E,cAGlCj5E,EAAOk5E,aAAuC,oBAAhBhhF,aAA4D,oBAAtBgiF,mBAA2D,oBAAfoC,YAAsD,OAAxBt8E,EAAOi5E,cAAyBgB,IAE9Kv6E,UAAU68E,QAAU78E,UAAU68E,SAAW78E,UAAU88E,eAAiB98E,UAAU+8E,YAAc/8E,UAAUg9E,UAElGh9E,UAAU68E,UAEVv8E,EAAO42E,WAAY,GAte3B,WAEI52E,EAAO/S,SAAW9G,OAAOw2F,0BAA4B38E,EAAOi1B,SAE5D,IAEIj1B,EAAOw2E,eAAiBA,aAAaoG,QAEzC,MAAOtmG,GAEH0pB,EAAOw2E,cAAe,EAG1Bx2E,EAAOs2E,QAASnwF,OAAO02F,MAAU12F,OAAO22F,YAAgB32F,OAAO42F,UAAc52F,OAAO62F,MACpFh9E,EAAOu2E,aAAepwF,OAAO82F,kBAE7Bj9E,EAAO80B,QAAU3uC,OAAO+2F,sBAExBl9E,EAAOy2E,SAAWtwF,OAAOg3F,OAEzBn9E,EAAOmvC,mBAAuB,uBAAwBppB,UAAa,sBAC7D,0BAA2BA,UAAa,yBACxC,6BAA8BA,UAAa,2BAEjD/lB,EAAOovC,kBAAsB,wBAAyBrpB,UAAa,qBAC7D,2BAA4BA,UAAa,wBACzC,8BAA+BA,UAAa,0BAElD/lB,EAAOqvC,iBAAqB,uBAAwBtpB,UAAa,oBAC3D,0BAA2BA,UAAa,uBACxC,6BAA8BA,UAAa,yBAEjD/lB,EAAOu6B,cAAgBv6B,EAAOmvC,mBAE9BnvC,EAAO82E,WAAsC,eAAxB/wD,SAASq3D,WAE9B19E,UAAUm3E,aAAen3E,UAAUm3E,cAAgBn3E,UAAU29E,oBAAsB39E,UAAU49E,iBAAmB59E,UAAU69E,gBAAkB79E,UAAU89E,cAEtJr3F,OAAOs3F,IAAMt3F,OAAOs3F,KAAOt3F,OAAOu3F,WAAav3F,OAAOw3F,QAAUx3F,OAAOy3F,MAEvE59E,EAAO62E,aAAe72E,EAAO62E,gBAAkBn3E,UAAUm3E,gBAAkB1wF,OAAOs3F,IAG9Ez9E,EAAOm3E,SAAWn3E,EAAOo3E,eAAiB,KAE1Cp3E,EAAO62E,cAAe,IASrB72E,EAAOq2B,MAAQr2B,EAAOy0B,IAAMz0B,EAAOm3E,SAAWn3E,EAAOg3E,UAEtDh3E,EAAOq2E,mBAAoB,IAI3Br2E,EAAO23E,QAAU33E,EAAOw3E,gBAExBx3E,EAAOq2E,mBAAoB,GAkdnCwH,GA1jBA,WAEI,IAAI5wF,EAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GAC3C8N,EAAUoJ,EAAOsB,WAAW,MAEhC1K,EAAQ6a,UAAY,wBAGpB7a,EAAQgb,SAAS,EAAG,EAAG,EAAG,GAG1B,IAAIi/E,EAAKj6F,EAAQob,aAAa,EAAG,EAAG,EAAG,GAEvC,GAAI6+E,EACJ,CAEIj6F,EAAQub,aAAa0+E,EAAI,EAAG,GAG5B,IAAIC,EAAKl6F,EAAQob,aAAa,EAAG,EAAG,EAAG,GAGvCe,EAAOb,eACH4+E,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,IACvB4zF,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,IACvB4zF,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,IACvB4zF,EAAG5zF,KAAK,KAAO2zF,EAAG3zF,KAAK,GAK/BtG,EAAQC,yBAA2B,WACnCkc,EAAOC,eAAuD,aAArCpc,EAAQC,yBAEjCvM,EAAOqF,WAAWC,eAAeoQ,GAEjC1Y,KAAKuQ,aAAa0Z,WAAcwB,EAAqB,eAAIzrB,KAAKuQ,aAAa2Z,iBAAmBlqB,KAAKuQ,aAAaga,iBAuhBpHk/E,GAxaA,WAeI,IAAK,IAbDC,GACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGAr/C,EAAU7Y,SAAS0mD,cAAc,OAE5Bh0F,EAAI,EAAGA,EAAIwlG,EAAGvlG,OAAQD,IAE3B,GAAImmD,EAAQq/C,EAAGxlG,IACf,CACIunB,EAAOm5E,YAAa,EACpBn5E,EAAOo5E,kBAAoB6E,EAAGxlG,GAC9B,MAIR,IAAIylG,GACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,qBAGJ,GAAIl+E,EAAOm5E,WAEP,IAAS1gG,EAAI,EAAGA,EAAIylG,EAAIxlG,OAAQD,IAE5B,GAAIstC,SAASm4D,EAAIzlG,IACjB,CACIunB,EAAOq5E,iBAAmB6E,EAAIzlG,GAC9B,MAMR0N,OAAOg4F,SAAWA,QAAQC,uBAE1Bp+E,EAAOs5E,oBAAqB,GAsXpC+E,IA3cQ,iBAAkBt4D,SAASu4D,iBAAoBn4F,OAAOuZ,UAAU6+E,gBAAkBp4F,OAAOuZ,UAAU6+E,gBAAkB,KAErHv+E,EAAO44B,OAAQ,IAGfzyC,OAAOq4F,cAAgBr4F,OAAOs4F,gBAAkBt4F,OAAOuZ,UAAUg/E,kBAAoBv4F,OAAOuZ,UAAUi/E,kBAEtG3+E,EAAO64B,WAAY,GAGlB74B,EAAOi1B,WAGJ,YAAa9uC,QAAW6Z,EAAOy0B,IAAM,eAAgBtuC,OAGrD6Z,EAAO++B,WAAa,QAEf,iBAAkB54C,OAGvB6Z,EAAO++B,WAAa,aAEf/+B,EAAOm3E,SAAW,qBAAsBhxF,SAG7C6Z,EAAO++B,WAAa,oBA6bpCxnD,EAAO85C,OAAOutD,aAAe,SAAUr1F,GAEnC,QAAa,QAATA,IAAkBxT,KAAKmiG,SAIT,QAAT3uF,IAAmBxT,KAAKiiG,MAAOjiG,KAAKkiG,UAI3B,QAAT1uF,IAAkBxT,KAAKqiG,SAId,SAAT7uF,IAAmBxT,KAAKkiG,UAIf,QAAT1uF,IAAkBxT,KAAKoiG,SAId,SAAT5uF,IAAmBxT,KAAKsiG,SAIf,QAAT9uF,IAAkBxT,KAAKuiG,aAgBpC/gG,EAAO85C,OAAOwtD,aAAe,SAAUt1F,GAEnC,QAAa,SAATA,IAAoBxT,KAAK2iG,YAAa3iG,KAAK4iG,cAI7B,QAATpvF,IAAmBxT,KAAK0iG,WAAY1iG,KAAKyiG,eAI/B,QAATjvF,GAA2B,QAATA,IAAmBxT,KAAKwiG,aAIlC,SAAThvF,IAAmBxT,KAAK6iG,aAerCrhG,EAAO85C,OAAOytD,iBAAmB,WAE7B,UAAW/oG,KAAKk/C,WAAal/C,KAAKsgD,KAAOtgD,KAAKggG,UAAa5vF,OAAOkuC,cAAgBluC,OAAOkuC,aAAa0qD,mBAe1GxnG,EAAO85C,OAAOyM,sBAAwB,WAElC,IAAIkhD,EAAU74F,OAAOuZ,UAAU0wC,UAAUuQ,MAAM,kCAC/C,OAAOq+B,GAAWA,EAAQ,GAAK,KAgBnCznG,EAAOioB,QAaHjhB,OAAQ,SAAUnH,EAAQzD,EAAOC,EAAQqW,EAAI6lE,GAEzCn8E,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEnB,IAAIqZ,EAAS,EAAa84B,SAAS0mD,cAAc,UAAYl1F,EAAOqF,WAAW2B,OAAOnH,EAAQzD,EAAOC,GAWrG,MATkB,iBAAPqW,GAA0B,KAAPA,IAE1BgD,EAAOhD,GAAKA,GAGhBgD,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,EAChBqZ,EAAOoE,MAAM4tF,QAAU,QAEhBhyF,GAWXw4B,mBAAoB,SAAUx4B,EAAQb,GAMlC,OAJAA,EAAQA,GAAS,aAEjBa,EAAOoE,MAAMm0B,gBAAkBp5B,EAExBa,GAWX44B,eAAgB,SAAU54B,EAAQ9P,GAQ9B,OANAA,EAAQA,GAAS,OAEjB8P,EAAOoE,MAAM6tF,cAAgB/hG,EAC7B8P,EAAOoE,MAAM,mBAAqBlU,EAClC8P,EAAOoE,MAAM,gBAAkBlU,EAExB8P,GAWX24B,cAAe,SAAU34B,EAAQ9P,GAY7B,OAVAA,EAAQA,GAAS,OAEjB8P,EAAOoE,MAAM,yBAA2BlU,EACxC8P,EAAOoE,MAAM,uBAAyBlU,EACtC8P,EAAOoE,MAAM,sBAAwBlU,EACrC8P,EAAOoE,MAAM,oBAAsBlU,EACnC8P,EAAOoE,MAAM,mBAAqBlU,EAClC8P,EAAOoE,MAAM,eAAiBlU,EAC9B8P,EAAOoE,MAAM,+BAAiC,mBAEvCpE,GAaXkoC,SAAU,SAAUloC,EAAQ7V,EAAQ+nG,GAEhC,IAAIphG,EA+BJ,YA7BuBzB,IAAnB6iG,IAAgCA,GAAiB,GAEjD/nG,IAEsB,iBAAXA,EAGP2G,EAASgoC,SAASq5D,eAAehoG,GAEV,iBAAXA,GAA2C,IAApBA,EAAOwyB,WAG1C7rB,EAAS3G,IAKZ2G,IAEDA,EAASgoC,SAAS8B,MAGlBs3D,GAAkBphG,EAAOsT,QAEzBtT,EAAOsT,MAAMguF,SAAW,UAG5BthG,EAAOuhG,YAAYryF,GAEZA,GASXgpC,cAAe,SAAUhpC,GAEjBA,EAAOsyF,YAEPtyF,EAAOsyF,WAAW3gG,YAAYqO,IAiBtCrI,aAAc,SAAUf,EAASo0E,EAAYC,EAAYv9D,EAAQE,EAAQs9D,EAAOC,GAI5E,OAFAv0E,EAAQe,aAAa+V,EAAQw9D,EAAOC,EAAOv9D,EAAQo9D,EAAYC,GAExDr0E,GAeXk0E,oBAAqB,SAAUl0E,EAAS1G,GAEpC,IAAI/C,EAAI7C,EAAOioB,OAAOC,mBAAmB5b,GAOzC,OALIzJ,IAEAyJ,EAAQzJ,GAAK+C,GAGV0G,GAUX4b,mBAAoB,SAAU5b,GAE1B,IAAI27F,GAAW,IAAK,UAAW,MAAO,OAAQ,MAE9C,IAAK,IAAIC,KAAUD,EACnB,CACI,IAAIplG,EAAIolG,EAAOC,GAAU,uBAEzB,GAAIrlG,KAAKyJ,EAEL,OAAOzJ,EAIf,OAAO,MAUX09E,oBAAqB,SAAUj0E,GAE3B,IAAIzJ,EAAI7C,EAAOioB,OAAOC,mBAAmB5b,GAEzC,GAAIzJ,EAEA,OAAOyJ,EAAQzJ,IAgBvBy6C,uBAAwB,SAAU5nC,GAI9B,IAAK,IAFDyyF,GAAU,4BAA6B,mBAAoB,cAAe,aAErEjnG,EAAI,EAAGA,EAAIinG,EAAMhnG,OAAQD,IAE9BwU,EAAOoE,MAAM,mBAAqBquF,EAAMjnG,GAK5C,OAFAwU,EAAOoE,MAAMsuF,oBAAsB,mBAE5B1yF,GAWX2yF,yBAA0B,SAAU3yF,GAKhC,OAHAA,EAAOoE,MAAM,mBAAqB,OAClCpE,EAAOoE,MAAMsuF,oBAAsB,UAE5B1yF,IAmBf1V,EAAOy8C,sBAAwB,SAAUl7C,EAAMi7C,QAEnBz3C,IAApBy3C,IAAiCA,GAAkB,GAKvDh+C,KAAK+C,KAAOA,EAMZ/C,KAAKm7C,WAAY,EAKjBn7C,KAAKg+C,gBAAkBA,EASvB,IAAK,IAPD8rD,GACA,KACA,MACA,SACA,KAGK/lG,EAAI,EAAGA,EAAI+lG,EAAQnnG,SAAWyN,OAAO25F,sBAAuBhmG,IAEjEqM,OAAO25F,sBAAwB35F,OAAO05F,EAAQ/lG,GAAK,yBACnDqM,OAAO45F,qBAAuB55F,OAAO05F,EAAQ/lG,GAAK,yBAA2BqM,OAAO05F,EAAQ/lG,GAAK,+BAOrG/D,KAAKiqG,eAAgB,EAMrBjqG,KAAKkqG,QAAU,KAMflqG,KAAKmqG,WAAa,MAGtB3oG,EAAOy8C,sBAAsB37C,WAMzBgK,MAAO,WAEHtM,KAAKm7C,WAAY,EAEjB,IAAI9O,EAAQrsC,MAEPoQ,OAAO25F,uBAAyB/pG,KAAKg+C,iBAEtCh+C,KAAKiqG,eAAgB,EAErBjqG,KAAKkqG,QAAU,WAEX,OAAO79D,EAAM+9D,oBAGjBpqG,KAAKmqG,WAAa/5F,OAAO2zF,WAAW/jG,KAAKkqG,QAAS,KAIlDlqG,KAAKiqG,eAAgB,EAErBjqG,KAAKkqG,QAAU,SAAUhlE,GAErB,OAAOmH,EAAMg+D,UAAUnlE,IAG3BllC,KAAKmqG,WAAa/5F,OAAO25F,sBAAsB/pG,KAAKkqG,WAQ5DG,UAAW,SAAUC,GAEbtqG,KAAKm7C,YAGLn7C,KAAK+C,KAAK+hC,OAAOphC,KAAKmsB,MAAMy6E,IAE5BtqG,KAAKmqG,WAAa/5F,OAAO25F,sBAAsB/pG,KAAKkqG,WAQ5DE,iBAAkB,WAEVpqG,KAAKm7C,YAELn7C,KAAK+C,KAAK+hC,OAAOmI,KAAK4P,OAEtB78C,KAAKmqG,WAAa/5F,OAAO2zF,WAAW/jG,KAAKkqG,QAASlqG,KAAK+C,KAAKmiC,KAAKqlE,cAQzEp+F,KAAM,WAEEnM,KAAKiqG,cAELO,aAAaxqG,KAAKmqG,YAIlB/5F,OAAO45F,qBAAqBhqG,KAAKmqG,YAGrCnqG,KAAKm7C,WAAY,GAQrBsvD,aAAc,WAEV,OAAOzqG,KAAKiqG,eAQhBS,MAAO,WAEH,OAA+B,IAAvB1qG,KAAKiqG,gBAKrBzoG,EAAOy8C,sBAAsB37C,UAAUC,YAAcf,EAAOy8C,sBAkB5Dz8C,EAAOkC,MAOHC,IAAe,EAAVD,KAAKsxB,GAOV1wB,QAAmB,GAAVZ,KAAKsxB,GAMd21E,WAAYjnG,KAAKsxB,GAAK,IAMtB41E,WAAY,IAAMlnG,KAAKsxB,GASvByB,SAAU,SAAUo0E,GAEhB,OAAOA,EAAUrpG,EAAOkC,KAAKinG,YAUjC3tE,SAAU,SAAU8tE,GAEhB,OAAOA,EAAUtpG,EAAOkC,KAAKknG,YAWjCzL,kBAAmB,SAAU/3F,GAEzB,GAAIA,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,GAG/B,OAAOA,EAMP,IAFA,IAAIwxB,EAAS,EAENA,EAASxxB,GAEZwxB,IAAW,EAGf,OAAOA,GAYfhd,aAAc,SAAUhe,EAAOC,GAE3B,OAAQD,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,IAA3BA,EAAUA,EAAS,IAY1F80B,OAAQ,SAAU2G,EAAKrzB,GAKnB,QAHYM,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,GAE3BqzB,IAAQrzB,EAER,OAAOqzB,EAGX,GAAIA,EAAMrzB,EACV,CACI,IAAI0H,EAAO2rB,EACXA,EAAMrzB,EACNA,EAAM0H,EAGV,OAAQjK,KAAKivB,UAAY1sB,EAAMqzB,GAAOA,GAY1CyhB,QAAS,SAAUzhB,EAAKrzB,GAKpB,QAHYM,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,GAE3BqzB,IAAQrzB,EAER,OAAOqzB,EAGX,GAAIA,EAAMrzB,EACV,CACI,IAAI0H,EAAO2rB,EACXA,EAAMrzB,EACNA,EAAM0H,EAMV,OAHA2rB,EAAM51B,KAAKwC,KAAKozB,GAChBrzB,EAAMvC,KAAKmsB,MAAM5pB,GAEVvC,KAAKmsB,MAAMnsB,KAAKivB,UAAY1sB,EAAMqzB,EAAM,IAAMA,GAYzDF,WAAY,SAAUl2B,EAAGC,EAAGg2B,GAIxB,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCz1B,KAAKizB,IAAIzzB,EAAIC,GAAKg2B,GAY7B4xE,cAAe,SAAU7nG,EAAGC,EAAGg2B,GAI3B,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCj2B,EAAIC,EAAIg2B,GAYnB6xE,iBAAkB,SAAU9nG,EAAGC,EAAGg2B,GAI9B,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCj2B,EAAIC,EAAIg2B,GAWnB8xE,UAAW,SAAU14E,EAAK4G,GAItB,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCz1B,KAAKwC,KAAKqsB,EAAM4G,IAW3B+xE,WAAY,SAAU34E,EAAK4G,GAIvB,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCz1B,KAAKmsB,MAAM0C,EAAM4G,IAU5BgyE,QAAS,WAKL,IAAK,IAHDhoB,EAAM,EACNryD,EAAMR,UAAU3tB,OAEXD,EAAI,EAAGA,EAAIouB,EAAKpuB,IAErBygF,IAAS7yD,UAAU5tB,GAGvB,OAAOygF,EAAMryD,GAQjBs6E,MAAO,SAAU/zE,GAEb,OAAOA,EAAI,GAcfg0E,OAAQ,SAAUllE,EAAOmlE,EAAKh/F,GAI1B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARg/F,EAEOnlE,GAGXA,GAAS75B,EACT65B,EAAQmlE,EAAM5nG,KAAK+xB,MAAM0Q,EAAQmlE,GAE1Bh/F,EAAQ65B,IAenBolE,YAAa,SAAUplE,EAAOmlE,EAAKh/F,GAI/B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARg/F,EAEOnlE,GAGXA,GAAS75B,EACT65B,EAAQmlE,EAAM5nG,KAAKmsB,MAAMsW,EAAQmlE,GAE1Bh/F,EAAQ65B,IAenBgtD,WAAY,SAAUhtD,EAAOmlE,EAAKh/F,GAI9B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARg/F,EAEOnlE,GAGXA,GAAS75B,EACT65B,EAAQmlE,EAAM5nG,KAAKwC,KAAKigC,EAAQmlE,GAEzBh/F,EAAQ65B,IAsCnBqlE,QAAS,SAAUpkG,EAAOqkG,EAAOrxF,QAEf7T,IAAVklG,IAAuBA,EAAQ,QACtBllG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKgoG,IAAItxF,GAAOqxF,GAExB,OAAO/nG,KAAK+xB,MAAMruB,EAAQpE,GAAKA,GAanC2oG,QAAS,SAAUvkG,EAAOqkG,EAAOrxF,QAEf7T,IAAVklG,IAAuBA,EAAQ,QACtBllG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKgoG,IAAItxF,GAAOqxF,GAExB,OAAO/nG,KAAKmsB,MAAMzoB,EAAQpE,GAAKA,GAanC4oG,OAAQ,SAAUxkG,EAAOqkG,EAAOrxF,QAEd7T,IAAVklG,IAAuBA,EAAQ,QACtBllG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKgoG,IAAItxF,GAAOqxF,GAExB,OAAO/nG,KAAKwC,KAAKkB,EAAQpE,GAAKA,GAWlC4sB,MAAO,SAAUxoB,GAEb,OAAKykG,SAASzkG,GAKNA,EAAQA,EAAQ,IAAOA,EAAQ,GAAK,EAAc,IAAVA,EAAcA,EAAQ,GAH3DA,GAgBf0kG,cAAe,SAAUC,EAAcC,EAAa7pE,GAIhD,YAFa57B,IAAT47B,IAAsBA,EAAO,KAE7B4pE,IAAiBC,EAEVD,GAGProG,KAAKizB,IAAIq1E,EAAcD,IAAiB5pE,GAAQz+B,KAAKizB,IAAIq1E,EAAcD,IAAkBvqG,EAAOkC,KAAKC,IAAMw+B,EAE3G4pE,EAAeC,GAIXtoG,KAAKizB,IAAIq1E,EAAcD,GAAgBroG,KAAKsxB,KAExCg3E,EAAcD,EAEdC,GAAexqG,EAAOkC,KAAKC,IAI3BqoG,GAAexqG,EAAOkC,KAAKC,KAI/BqoG,EAAcD,EAEdA,GAAgB5pE,EAEX6pE,EAAcD,IAEnBA,GAAgB5pE,IAIjB4pE,IAkBXE,iBAAkB,SAAUC,EAAQC,GAEhC,IAAIhO,EAAagO,EAASD,EAE1B,OAAmB,IAAf/N,EAEO,EAKJA,EAAsB,IAFjBz6F,KAAKmsB,OAAOsuE,IAAe,KAAQ,MAenDiO,aAAc,SAAU9gG,EAAIC,EAAIC,EAAIC,GAEhC,OAAO/H,KAAKq5B,MAAMtxB,EAAKF,EAAIC,EAAKF,IAgBpC+gG,cAAe,SAAU/gG,EAAIC,EAAIC,EAAIC,GAEjC,OAAO/H,KAAKq5B,MAAMvxB,EAAKF,EAAIG,EAAKF,IAWpC+gG,mBAAoB,SAAU3f,EAAQC,GAElC,OAAOlpF,KAAKq5B,MAAM6vD,EAAO5oF,EAAI2oF,EAAO3oF,EAAG4oF,EAAO7oF,EAAI4oF,EAAO5oF,IAU7DwoG,oBAAqB,SAAU5f,EAAQC,GAEnC,OAAOlpF,KAAKq5B,MAAM6vD,EAAO7oF,EAAI4oF,EAAO5oF,EAAG6oF,EAAO5oF,EAAI2oF,EAAO3oF,IAS7DwoG,aAAc,SAAUC,GAEpB,OAAOzsG,KAAK0sG,eAAeD,EAAW/oG,KAAKsxB,IAAI,IASnD03E,eAAgB,SAAUD,GAGtB,OADAA,GAAuB,EAAI/oG,KAAKsxB,KACb,EAAIy3E,EAAWA,EAAW,EAAI/oG,KAAKsxB,IAY1D23E,OAAQ,SAAUvlG,EAAOwvC,EAAQ3wC,GAE7B,OAAOvC,KAAK41B,IAAIlyB,EAAQwvC,EAAQ3wC,IAYpC2mG,OAAQ,SAAUxlG,EAAOwvC,EAAQtd,GAE7B,OAAO51B,KAAKuC,IAAImB,EAAQwvC,EAAQtd,IAcpCW,KAAM,SAAU7yB,EAAOkyB,EAAKrzB,GAExB,IAAI8D,EAAQ9D,EAAMqzB,EAElB,GAAIvvB,GAAS,EAET,OAAO,EAGX,IAAI6uB,GAAUxxB,EAAQkyB,GAAOvvB,EAO7B,OALI6uB,EAAS,IAETA,GAAU7uB,GAGP6uB,EAASU,GAcpBuzE,UAAW,SAAUzlG,EAAOwvC,EAAQ3wC,GAQhC,OALAmB,EAAQ1D,KAAKizB,IAAIvvB,GACjBwvC,EAASlzC,KAAKizB,IAAIigB,GAClB3wC,EAAMvC,KAAKizB,IAAI1wB,IACPmB,EAAQwvC,GAAU3wC,GAY9B6mG,MAAO,SAAUz1E,GAGb,SAAc,EAAJA,IAUd01E,OAAQ,SAAU11E,GAGd,QAAa,EAAJA,IAYbiC,IAAK,WAED,GAAyB,IAArBhJ,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAGf,IAAK,IAAI5tB,EAAI,EAAG42B,EAAM,EAAGxI,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAK0R,EAAKklB,KAEfA,EAAM52B,GAId,OAAO0R,EAAKklB,IAYhBrzB,IAAK,WAED,GAAyB,IAArBqqB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAGf,IAAK,IAAI5tB,EAAI,EAAGuD,EAAM,EAAG6qB,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAK0R,EAAKnO,KAEfA,EAAMvD,GAId,OAAO0R,EAAKnO,IAUhB+mG,YAAa,SAAUr2D,GAEnB,GAAyB,IAArBrmB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAAUN,MAAM,GAG/B,IAAK,IAAIttB,EAAI,EAAG42B,EAAM,EAAGxI,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAGi0C,GAAYviC,EAAKklB,GAAKqd,KAE9Brd,EAAM52B,GAId,OAAO0R,EAAKklB,GAAKqd,IAUrBs2D,YAAa,SAAUt2D,GAEnB,GAAyB,IAArBrmB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAAUN,MAAM,GAG/B,IAAK,IAAIttB,EAAI,EAAGuD,EAAM,EAAG6qB,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAGi0C,GAAYviC,EAAKnO,GAAK0wC,KAE9B1wC,EAAMvD,GAId,OAAO0R,EAAKnO,GAAK0wC,IAWrBo0B,UAAW,SAAUn1C,EAAOk1E,GAExB,OAAOA,EAAU9qG,KAAKi6B,KAAKrE,GAAQlyB,KAAKsxB,GAAItxB,KAAKsxB,IAAMh1B,KAAKi6B,KAAKrE,GAAQ,IAAK,MAWlFs3E,oBAAqB,SAAU1uD,EAAGrnB,GAE9B,IAAIC,EAAIonB,EAAE77C,OAAS,EACfswB,EAAImE,EAAID,EACRz0B,EAAIgB,KAAKmsB,MAAMoD,GAEnB,OAAIkE,EAAI,EAEGn3B,KAAKk2B,OAAOsoB,EAAE,GAAIA,EAAE,GAAIvrB,GAG/BkE,EAAI,EAEGn3B,KAAKk2B,OAAOsoB,EAAEpnB,GAAIonB,EAAEpnB,EAAI,GAAIA,EAAInE,GAGpCjzB,KAAKk2B,OAAOsoB,EAAE97C,GAAI87C,EAAE97C,EAAI,EAAI00B,EAAIA,EAAI10B,EAAI,GAAIuwB,EAAIvwB,IAW3DyqG,oBAAqB,SAAU3uD,EAAGrnB,GAK9B,IAAK,IAHDh0B,EAAI,EACJk0B,EAAImnB,EAAE77C,OAAS,EAEVD,EAAI,EAAGA,GAAK20B,EAAG30B,IAEpBS,GAAKO,KAAKgoG,IAAI,EAAIv0E,EAAGE,EAAI30B,GAAKgB,KAAKgoG,IAAIv0E,EAAGz0B,GAAK87C,EAAE97C,GAAK1C,KAAKotG,UAAU/1E,EAAG30B,GAG5E,OAAOS,GAWXkqG,wBAAyB,SAAU7uD,EAAGrnB,GAElC,IAAIC,EAAIonB,EAAE77C,OAAS,EACfswB,EAAImE,EAAID,EACRz0B,EAAIgB,KAAKmsB,MAAMoD,GAEnB,OAAIurB,EAAE,KAAOA,EAAEpnB,IAEPD,EAAI,IAEJz0B,EAAIgB,KAAKmsB,MAAMoD,EAAImE,GAAK,EAAID,KAGzBn3B,KAAKstG,WAAW9uD,GAAG97C,EAAI,EAAI00B,GAAKA,GAAIonB,EAAE97C,GAAI87C,GAAG97C,EAAI,GAAK00B,GAAIonB,GAAG97C,EAAI,GAAK00B,GAAInE,EAAIvwB,IAIjFy0B,EAAI,EAEGqnB,EAAE,IAAMx+C,KAAKstG,WAAW9uD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAKvrB,GAAKurB,EAAE,IAG/DrnB,EAAI,EAEGqnB,EAAEpnB,IAAMp3B,KAAKstG,WAAW9uD,EAAEpnB,GAAIonB,EAAEpnB,GAAIonB,EAAEpnB,EAAI,GAAIonB,EAAEpnB,EAAI,GAAInE,EAAImE,GAAKonB,EAAEpnB,IAGvEp3B,KAAKstG,WAAW9uD,EAAE97C,EAAIA,EAAI,EAAI,GAAI87C,EAAE97C,GAAI87C,EAAEpnB,EAAI10B,EAAI,EAAI00B,EAAI10B,EAAI,GAAI87C,EAAEpnB,EAAI10B,EAAI,EAAI00B,EAAI10B,EAAI,GAAIuwB,EAAIvwB,IAa/GwzB,OAAQ,SAAUqB,EAAIC,EAAI3G,GAEtB,OAAQ2G,EAAKD,GAAM1G,EAAI0G,GAU3B61E,UAAW,SAAU/1E,EAAG30B,GAEpB,OAAO1C,KAAKutG,UAAUl2E,GAAKr3B,KAAKutG,UAAU7qG,GAAK1C,KAAKutG,UAAUl2E,EAAI30B,IAQtE6qG,UAAW,SAAUnmG,GAEjB,GAAc,IAAVA,EAEA,OAAO,EAKX,IAFA,IAAIomG,EAAMpmG,IAEFA,GAEJomG,GAAOpmG,EAGX,OAAOomG,GAeXF,WAAY,SAAU/1E,EAAIC,EAAIwI,EAAIytE,EAAI58E,GAElC,IAAIosE,EAAiB,IAAXj9D,EAAKzI,GACX2lE,EAAiB,IAAXuQ,EAAKj2E,GACX61D,EAAKx8D,EAAIA,EAGb,OAAQ,EAAI2G,EAAK,EAAIwI,EAAKi9D,EAAKC,IAFtBrsE,EAAIw8D,KAE+B,EAAI71D,EAAK,EAAIwI,EAAK,EAAIi9D,EAAKC,GAAM7P,EAAK4P,EAAKpsE,EAAI2G,GAW/F2mE,WAAY,SAAUj7F,EAAGC,GAErB,OAAOO,KAAKizB,IAAIzzB,EAAIC,IAUxBuqG,kBAAmB,SAAUtmG,GAGzB,OAAQA,EAAQ,EAAK1D,KAAKwC,KAAKkB,GAAS1D,KAAKmsB,MAAMzoB,IAgBvDumG,gBAAiB,SAAUhrG,EAAQirG,EAAcC,EAAcC,QAEtCvnG,IAAjBqnG,IAA8BA,EAAe,QAC5BrnG,IAAjBsnG,IAA8BA,EAAe,QAC/BtnG,IAAdunG,IAA2BA,EAAY,GAS3C,IAAK,IAPDjqG,EAAM+pG,EACN9pG,EAAM+pG,EACNE,EAAMD,EAAYpqG,KAAKsxB,GAAKryB,EAE5BqrG,KACAC,KAEK7qG,EAAI,EAAGA,EAAIT,EAAQS,IAGxBS,IADAC,GAAOD,EAAMkqG,GACAA,EAEbC,EAAS5qG,GAAKU,EACdmqG,EAAS7qG,GAAKS,EAGlB,OAASA,IAAKoqG,EAAUnqG,IAAKkqG,EAAUrrG,OAAQA,IAWnDurG,MAAO,SAAUhrG,EAAGC,GAEhB,OAAOO,KAAKS,KAAKjB,EAAIA,EAAIC,EAAIA,IAajCqyB,SAAU,SAAUlqB,EAAIC,EAAIC,EAAIC,GAE5B,IAAI0C,EAAK7C,EAAKE,EACV6C,EAAK9C,EAAKE,EAEd,OAAO/H,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAcpC8/F,WAAY,SAAU7iG,EAAIC,EAAIC,EAAIC,GAE9B,IAAI0C,EAAK7C,EAAKE,EACV6C,EAAK9C,EAAKE,EAEd,OAAO0C,EAAKA,EAAKE,EAAKA,GAc1B+/F,YAAa,SAAU9iG,EAAIC,EAAIC,EAAIC,EAAIigG,GAInC,YAFYnlG,IAARmlG,IAAqBA,EAAM,GAExBhoG,KAAKS,KAAKT,KAAKgoG,IAAIlgG,EAAKF,EAAIogG,GAAOhoG,KAAKgoG,IAAIjgG,EAAKF,EAAImgG,KAYhEjvE,MAAO,SAAU+hB,EAAGllB,EAAKrzB,GAErB,OAAIu4C,EAAIllB,EAEGA,EAEFrzB,EAAMu4C,EAEJv4C,EAIAu4C,GAaf6vD,YAAa,SAAUtqG,EAAGb,GAEtB,OAAOa,EAAIb,EAAIA,EAAIa,GAavBuqG,OAAQ,SAAUprG,EAAGC,EAAGs9B,GAEpB,OAAQ/8B,KAAKizB,IAAIzzB,EAAIC,IAAMs9B,GAc/B8tE,UAAW,SAAUxqG,EAAGm2B,EAAIC,EAAIC,EAAIC,GAEhC,OAAOD,GAAMr2B,EAAIm2B,IAAOG,EAAKD,IAAOD,EAAKD,IAY7Cs0E,WAAY,SAAUzqG,EAAGu1B,EAAKrzB,GAM1B,OAHAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK41B,IAAI,GAAIv1B,EAAIu1B,IAAQrzB,EAAMqzB,MAGpCv1B,GAAK,EAAI,EAAIA,IAY5B0qG,aAAc,SAAU1qG,EAAGu1B,EAAKrzB,GAI5B,OAFAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK41B,IAAI,GAAIv1B,EAAIu1B,IAAQrzB,EAAMqzB,MAEpCv1B,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAY3C2qG,KAAM,SAAU3qG,GAEZ,OAAQA,EAAI,GAAM,EAAMA,EAAI,EAAK,EAAI,GAYzC4qG,QAAS,SAAUzrG,EAAGC,EAAGiX,GAIrB,YAFa7T,IAAT6T,IAAsBA,EAAO,GAE7BlX,EAAIC,GAAKiX,EAAOjX,EAET,EAEFD,EAAIkX,GAAQA,EAAOlX,EAEjB,GAICA,EAAIkX,GAAQjX,IA4BhC3B,EAAOo7C,oBAAsB,SAAUgyD,QAErBroG,IAAVqoG,IAAuBA,MAM3B5uG,KAAKoD,EAAI,EAMTpD,KAAK6uG,GAAK,EAMV7uG,KAAK+nG,GAAK,EAMV/nG,KAAKgoG,GAAK,EAEW,iBAAV4G,EAEP5uG,KAAKsmC,MAAMsoE,GAIX5uG,KAAK8uG,IAAIF,IAIjBptG,EAAOo7C,oBAAoBt6C,WASvB+iC,IAAK,WAED,IAAIxU,EAAI,QAAU7wB,KAAK6uG,GAAc,uBAAT7uG,KAAKoD,EAOjC,OALApD,KAAKoD,EAAQ,EAAJytB,EACT7wB,KAAK6uG,GAAK7uG,KAAK+nG,GACf/nG,KAAK+nG,GAAK/nG,KAAKgoG,GACfhoG,KAAKgoG,GAAKn3E,EAAI7wB,KAAKoD,EAEZpD,KAAKgoG,IAWhB8G,IAAK,SAAUF,GAQX,GALA5uG,KAAK6uG,GAAK7uG,KAAK+xC,KAAK,KACpB/xC,KAAK+nG,GAAK/nG,KAAK+xC,KAAK/xC,KAAK6uG,IACzB7uG,KAAKgoG,GAAKhoG,KAAK+xC,KAAK/xC,KAAK+nG,IACzB/nG,KAAKoD,EAAI,EAEJwrG,EAML,IAAK,IAAIlsG,EAAI,EAAGA,EAAIksG,EAAMjsG,QAAuB,MAAZisG,EAAMlsG,GAAaA,IACxD,CACI,IAAIq6C,EAAO6xD,EAAMlsG,GAEjB1C,KAAK6uG,IAAM7uG,KAAK+xC,KAAKgL,GACrB/8C,KAAK6uG,OAAS7uG,KAAK6uG,GAAK,GACxB7uG,KAAK+nG,IAAM/nG,KAAK+xC,KAAKgL,GACrB/8C,KAAK+nG,OAAS/nG,KAAK+nG,GAAK,GACxB/nG,KAAKgoG,IAAMhoG,KAAK+xC,KAAKgL,GACrB/8C,KAAKgoG,OAAShoG,KAAKgoG,GAAK,KAYhCj2D,KAAM,SAAU39B,GAEZ,IAAImQ,EAAG7hB,EAAG20B,EAIV,IAHAA,EAAI,WACJjjB,EAAOA,EAAKwU,WAEPlmB,EAAI,EAAGA,EAAI0R,EAAKzR,OAAQD,IAGzB6hB,EAAI,oBADJ8S,GAAKjjB,EAAKwwD,WAAWliE,IAGrB6hB,GADA8S,EAAI9S,IAAM,EAGV8S,GADA9S,GAAK8S,KACK,EAEVA,GAAS,YADT9S,GAAK8S,GAIT,OAAmB,wBAAXA,IAAM,IASlB03E,QAAS,WAEL,OAA8B,WAAvB/uG,KAAKqlC,IAAI9/B,MAAMvF,OAS1BslC,KAAM,WAEF,OAAOtlC,KAAKqlC,IAAI9/B,MAAMvF,MAAgD,wBAAhB,QAAvBA,KAAKqlC,IAAI9/B,MAAMvF,MAAmB,IASrEgvG,KAAM,WAEF,OAAOhvG,KAAK+uG,UAAY/uG,KAAKslC,QAWjC2pE,eAAgB,SAAU31E,EAAKrzB,GAE3B,OAAOvC,KAAKmsB,MAAM7vB,KAAKkvG,YAAY,EAAGjpG,EAAMqzB,EAAM,GAAKA,IAY3DyhB,QAAS,SAAUzhB,EAAKrzB,GAEpB,OAAOjG,KAAKivG,eAAe31E,EAAKrzB,IAWpCipG,YAAa,SAAU51E,EAAKrzB,GAExB,OAAOjG,KAAKslC,QAAUr/B,EAAMqzB,GAAOA,GASvC61E,OAAQ,WAEJ,OAAO,EAAI,EAAInvG,KAAKslC,QASxB4wC,KAAM,WAEF,IAAIhzE,EAAI,GACJC,EAAI,GAER,IAAKA,EAAID,EAAI,GAAIA,IAAM,GAAIC,IAAMD,EAAI,EAAQ,EAAJA,EAAQ,GAAS,GAAJA,EAAS,EAAIlD,KAAKslC,QAAc,GAAJpiC,EAAS,GAAK,GAAK,GAAG0lB,SAAS,IAAM,KAGvH,OAAOzlB,GAUX42C,KAAM,SAAUq1D,GAEZ,OAAOA,EAAIpvG,KAAKivG,eAAe,EAAGG,EAAIzsG,OAAS,KASnD+rG,KAAM,WAEF,OAAO1uG,KAAK+5C,OAAQ,EAAG,KAU3Bs1D,aAAc,SAAUD,GAEpB,OAAOA,KAAO1rG,KAAKgoG,IAAI1rG,KAAKslC,OAAQ,IAAM8pE,EAAIzsG,OAAS,GAAK,MAWhEg/D,UAAW,SAAUroC,EAAKrzB,GAEtB,OAAOjG,KAAKkvG,YAAY51E,GAAO,UAAcrzB,GAAO,YASxD2vB,MAAO,WAEH,OAAO51B,KAAKivG,gBAAgB,IAAK,MAoBrC3oE,MAAO,SAAUA,GAYb,MAVqB,iBAAVA,GAAsBA,EAAMskC,MAAM,WAEzCtkC,EAAQA,EAAMzU,MAAM,KAEpB7xB,KAAKoD,EAAIu7B,WAAW2H,EAAM,IAC1BtmC,KAAK6uG,GAAKlwE,WAAW2H,EAAM,IAC3BtmC,KAAK+nG,GAAKppE,WAAW2H,EAAM,IAC3BtmC,KAAKgoG,GAAKrpE,WAAW2H,EAAM,MAGtB,OAAQtmC,KAAKoD,EAAGpD,KAAK6uG,GAAI7uG,KAAK+nG,GAAI/nG,KAAKgoG,IAAKl4F,KAAK,OAKlEtO,EAAOo7C,oBAAoBt6C,UAAUC,YAAcf,EAAOo7C,oBAwB1Dp7C,EAAO8tG,SAAW,SAAUvrG,EAAGC,EAAGpG,EAAOC,EAAQ0xG,EAAYC,EAAW3wF,GAMpE7e,KAAKuvG,WAAa,GAMlBvvG,KAAKwvG,UAAY,EAKjBxvG,KAAK6e,MAAQ,EAKb7e,KAAK8E,UAKL9E,KAAKyvG,WAKLzvG,KAAK0vG,SAML1vG,KAAK2vG,UAEL3vG,KAAK+lC,MAAMhiC,EAAGC,EAAGpG,EAAOC,EAAQ0xG,EAAYC,EAAW3wF,IAG3Drd,EAAO8tG,SAAShtG,WAcZyjC,MAAO,SAAUhiC,EAAGC,EAAGpG,EAAOC,EAAQ0xG,EAAYC,EAAW3wF,GAEzD7e,KAAKuvG,WAAaA,GAAc,GAChCvvG,KAAKwvG,UAAYA,GAAa,EAC9BxvG,KAAK6e,MAAQA,GAAS,EAEtB7e,KAAK8E,QACDf,EAAGL,KAAK+xB,MAAM1xB,GACdC,EAAGN,KAAK+xB,MAAMzxB,GACdpG,MAAOA,EACPC,OAAQA,EACR+xG,SAAUlsG,KAAKmsB,MAAMjyB,EAAQ,GAC7BiyG,UAAWnsG,KAAKmsB,MAAMhyB,EAAS,GAC/B61B,MAAOhwB,KAAK+xB,MAAM1xB,GAAKL,KAAKmsB,MAAMjyB,EAAQ,GAC1C04B,OAAQ5yB,KAAK+xB,MAAMzxB,GAAKN,KAAKmsB,MAAMhyB,EAAS,IAGhDmC,KAAKyvG,QAAQ9sG,OAAS,EACtB3C,KAAK0vG,MAAM/sG,OAAS,GASxBmtG,SAAU,SAAU51D,GAEhBA,EAAMvpB,QAAQ3wB,KAAK+vG,gBAAiB/vG,MAAM,IAS9C+vG,gBAAiB,SAAUzsF,GAEnBA,EAAOwuB,MAAQxuB,EAAOpW,QAEtBlN,KAAKgwG,OAAO1sF,EAAOwuB,OAS3BjgB,MAAO,WAGH7xB,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAO4uB,MAAO1zB,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK6e,MAAQ,GAGlK7e,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK6e,MAAQ,GAG9J7e,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOwxB,OAAQt2B,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK6e,MAAQ,GAGnK7e,KAAK0vG,MAAM,GAAK,IAAIluG,EAAO8tG,SAAStvG,KAAK8E,OAAO4uB,MAAO1zB,KAAK8E,OAAOwxB,OAAQt2B,KAAK8E,OAAO8qG,SAAU5vG,KAAK8E,OAAO+qG,UAAW7vG,KAAKuvG,WAAYvvG,KAAKwvG,UAAYxvG,KAAK6e,MAAQ,IAS3KmxF,OAAQ,SAAUl+D,GAEd,IACIlpC,EADAlG,EAAI,EAIR,GAAqB,MAAjB1C,KAAK0vG,MAAM,KAII,KAFf9mG,EAAQ5I,KAAKw1C,SAAS1D,KAW1B,GAFA9xC,KAAKyvG,QAAQ3nG,KAAKgqC,GAEd9xC,KAAKyvG,QAAQ9sG,OAAS3C,KAAKuvG,YAAcvvG,KAAK6e,MAAQ7e,KAAKwvG,UAS3D,IANqB,MAAjBxvG,KAAK0vG,MAAM,IAEX1vG,KAAK6xB,QAIFnvB,EAAI1C,KAAKyvG,QAAQ9sG,SAIL,KAFfiG,EAAQ5I,KAAKw1C,SAASx1C,KAAKyvG,QAAQ/sG,KAK/B1C,KAAK0vG,MAAM9mG,GAAOonG,OAAOhwG,KAAKyvG,QAAQ3mG,OAAOpG,EAAG,GAAG,IAInDA,SA3BJ1C,KAAK0vG,MAAM9mG,GAAOonG,OAAOl+D,IAwCrC0D,SAAU,SAAU5a,GAGhB,IAAIhyB,GAAS,EA8Bb,OA5BIgyB,EAAK72B,EAAI/D,KAAK8E,OAAO4uB,OAASkH,EAAKlH,MAAQ1zB,KAAK8E,OAAO4uB,MAEnDkH,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,QAAUsE,EAAKtE,OAASt2B,KAAK8E,OAAOwxB,OAGzD1tB,EAAQ,EAEHgyB,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,SAG1B1tB,EAAQ,GAGPgyB,EAAK72B,EAAI/D,KAAK8E,OAAO4uB,QAGtBkH,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,QAAUsE,EAAKtE,OAASt2B,KAAK8E,OAAOwxB,OAGzD1tB,EAAQ,EAEHgyB,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,SAG1B1tB,EAAQ,IAITA,GAUXqnG,SAAU,SAAU7gG,GAEhB,GAAIA,aAAkB5N,EAAOS,UAEzB,IAAIiuG,EAAgBlwG,KAAKyvG,QAErB7mG,EAAQ5I,KAAKw1C,SAASpmC,OAG9B,CACI,IAAKA,EAAO0iC,KAER,OAAO9xC,KAAK2vG,OAGhB,IAAIO,EAAgBlwG,KAAKyvG,QAErB7mG,EAAQ5I,KAAKw1C,SAASpmC,EAAO0iC,MAoBrC,OAjBI9xC,KAAK0vG,MAAM,KAKPQ,GAFW,IAAXtnG,EAEgBsnG,EAAc7/E,OAAOrwB,KAAK0vG,MAAM9mG,GAAOqnG,SAAS7gG,KAOhE8gG,GADAA,GADAA,EAAgBA,EAAc7/E,OAAOrwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAC9BihB,OAAOrwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAC9BihB,OAAOrwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAC9BihB,OAAOrwB,KAAK0vG,MAAM,GAAGO,SAAS7gG,KAI7D8gG,GAOXt1F,MAAO,WAEH5a,KAAKyvG,QAAQ9sG,OAAS,EAItB,IAFA,IAAID,EAAI1C,KAAK0vG,MAAM/sG,OAEZD,KAEH1C,KAAK0vG,MAAMhtG,GAAGkY,QACd5a,KAAK0vG,MAAM5mG,OAAOpG,EAAG,GAGzB1C,KAAK0vG,MAAM/sG,OAAS,IAK5BnB,EAAO8tG,SAAShtG,UAAUC,YAAcf,EAAO8tG,SAmD/C9tG,EAAOm8C,IAAM,SAAU56C,GAEnB/C,KAAK+C,KAAOA,GAGhBvB,EAAOm8C,IAAIr7C,WAQP6tG,YAAa,WAET,OAAI//F,OAAOggG,UAAYhgG,OAAOggG,SAASC,SAE5BjgG,OAAOggG,SAASC,SAGpB,MAaXC,gBAAiB,SAAUC,GAEvB,OAAqD,IAA9CngG,OAAOggG,SAASC,SAAShnG,QAAQknG,IAgB5CC,kBAAmB,SAAUx9F,EAAK5L,EAAOqpG,EAAUp6B,QAE9B9vE,IAAbkqG,IAA0BA,GAAW,QAC7BlqG,IAAR8vE,GAA6B,KAARA,IAAcA,EAAMjmE,OAAOggG,SAASM,MAE7D,IAAIh7E,EAAS,GACT0iE,EAAK,IAAImM,OAAO,UAAYvxF,EAAM,kBAAmB,MAEzD,GAAIolF,EAAGP,KAAKxhB,GAIJ3gD,OAFiB,IAAVtuB,GAAmC,OAAVA,EAEvBivE,EAAI/hD,QAAQ8jE,EAAI,KAAOplF,EAAM,IAAM5L,EAAQ,QAI3CivE,EAAI/hD,QAAQ8jE,EAAI,QAAQ9jE,QAAQ,UAAW,SAI5D,QAAqB,IAAVltB,GAAmC,OAAVA,EACpC,CACI,IAAIupG,GAAkC,IAAtBt6B,EAAIhtE,QAAQ,KAAc,IAAM,IAC5C0oC,EAAOskC,EAAIxkD,MAAM,KACrBwkD,EAAMtkC,EAAK,GAAK4+D,EAAY39F,EAAM,IAAM5L,EAEpC2qC,EAAK,KAELskC,GAAO,IAAMtkC,EAAK,IAGtBrc,EAAS2gD,OAIT3gD,EAAS2gD,EAGb,IAAIo6B,EAMA,OAAO/6E,EAJPtlB,OAAOggG,SAASM,KAAOh7E,GAgB/Bk7E,eAAgB,SAAUC,QAEJtqG,IAAdsqG,IAA2BA,EAAY,IAE3C,IAAIn7E,KACAo7E,EAAYV,SAASW,OAAOxe,UAAU,GAAG1gE,MAAM,KAEnD,IAAK,IAAInvB,KAAKouG,EACd,CACI,IAAI99F,EAAM89F,EAAUpuG,GAAGmvB,MAAM,KAE7B,GAAI7e,EAAIrQ,OAAS,EACjB,CACI,GAAIkuG,GAAaA,IAAc7wG,KAAKgxG,UAAUh+F,EAAI,IAE9C,OAAOhT,KAAKgxG,UAAUh+F,EAAI,IAI1B0iB,EAAO11B,KAAKgxG,UAAUh+F,EAAI,KAAOhT,KAAKgxG,UAAUh+F,EAAI,KAKhE,OAAO0iB,GAWXs7E,UAAW,SAAU5pG,GAEjB,OAAO6pG,mBAAmB7pG,EAAMktB,QAAQ,MAAO,QAKvD9yB,EAAOm8C,IAAIr7C,UAAUC,YAAcf,EAAOm8C,IAqB1Cn8C,EAAO87C,aAAe,SAAUv6C,GAK5B/C,KAAK+C,KAAOA,EAaZ/C,KAAKkxG,YAAa,EAMlBlxG,KAAKmxG,WAMLnxG,KAAKoxG,QAELpxG,KAAKqxG,SAEDC,OAAQ9vG,EAAO+vG,OAAOD,OACtBE,OAAQhwG,EAAO+vG,OAAOC,OACtBC,OAAQjwG,EAAO+vG,OAAOE,OACtBC,OAAQlwG,EAAO+vG,OAAOG,OACtBC,OAAQnwG,EAAO+vG,OAAOI,OAEtBC,OAAQpwG,EAAO+vG,OAAOK,OAAOC,KAC7BC,KAAMtwG,EAAO+vG,OAAOQ,UAAUC,IAC9BC,MAAOzwG,EAAO+vG,OAAOU,MAAMD,IAC3BE,MAAO1wG,EAAO+vG,OAAOY,QAAQH,IAC7BI,MAAO5wG,EAAO+vG,OAAOc,QAAQL,IAC7BM,KAAM9wG,EAAO+vG,OAAOgB,WAAWP,IAC/BQ,KAAMhxG,EAAO+vG,OAAOkB,YAAYT,IAChCU,KAAMlxG,EAAO+vG,OAAOoB,SAASX,IAC7BY,QAASpxG,EAAO+vG,OAAOqB,QAAQZ,IAC/Ba,KAAMrxG,EAAO+vG,OAAOsB,KAAKb,IACzBc,OAAQtxG,EAAO+vG,OAAOuB,OAAOd,IAE7Be,cAAevxG,EAAO+vG,OAAOQ,UAAUiB,GACvCC,eAAgBzxG,EAAO+vG,OAAOU,MAAMe,GACpCE,eAAgB1xG,EAAO+vG,OAAOY,QAAQa,GACtCG,eAAgB3xG,EAAO+vG,OAAOc,QAAQW,GACtCI,cAAe5xG,EAAO+vG,OAAOgB,WAAWS,GACxCK,cAAe7xG,EAAO+vG,OAAOkB,YAAYO,GACzCM,cAAe9xG,EAAO+vG,OAAOoB,SAASK,GACtCO,iBAAkB/xG,EAAO+vG,OAAOqB,QAAQI,GACxCQ,cAAehyG,EAAO+vG,OAAOsB,KAAKG,GAClCS,gBAAiBjyG,EAAO+vG,OAAOuB,OAAOE,GAEtCU,eAAgBlyG,EAAO+vG,OAAOQ,UAAUC,IACxC2B,gBAAiBnyG,EAAO+vG,OAAOU,MAAMD,IACrC4B,gBAAiBpyG,EAAO+vG,OAAOY,QAAQH,IACvC6B,gBAAiBryG,EAAO+vG,OAAOc,QAAQL,IACvC8B,eAAgBtyG,EAAO+vG,OAAOgB,WAAWP,IACzC+B,eAAgBvyG,EAAO+vG,OAAOkB,YAAYT,IAC1CgC,eAAgBxyG,EAAO+vG,OAAOoB,SAASX,IACvCiC,kBAAmBzyG,EAAO+vG,OAAOqB,QAAQZ,IACzCkC,eAAgB1yG,EAAO+vG,OAAOsB,KAAKb,IACnCmC,iBAAkB3yG,EAAO+vG,OAAOuB,OAAOd,IAEvCoC,iBAAkB5yG,EAAO+vG,OAAOQ,UAAUsC,MAC1CC,kBAAmB9yG,EAAO+vG,OAAOU,MAAMoC,MACvCE,kBAAmB/yG,EAAO+vG,OAAOY,QAAQkC,MACzCG,kBAAmBhzG,EAAO+vG,OAAOc,QAAQgC,MACzCI,iBAAkBjzG,EAAO+vG,OAAOgB,WAAW8B,MAC3CK,iBAAkBlzG,EAAO+vG,OAAOkB,YAAY4B,MAC5CM,iBAAkBnzG,EAAO+vG,OAAOoB,SAAS0B,MACzCO,oBAAqBpzG,EAAO+vG,OAAOqB,QAAQyB,MAC3CQ,iBAAkBrzG,EAAO+vG,OAAOsB,KAAKwB,MACrCS,mBAAoBtzG,EAAO+vG,OAAOuB,OAAOuB,OAI7Cr0G,KAAK+C,KAAK2lC,QAAQzP,IAAIj5B,KAAK+0G,UAAW/0G,MACtCA,KAAK+C,KAAK6lC,SAAS3P,IAAIj5B,KAAKg1G,WAAYh1G,OAG5CwB,EAAO87C,aAAah7C,WAOhBw3C,OAAQ,WAEJ,OAAO95C,KAAKmxG,SAOhBtnE,UAAW,WAEP,IAAK,IAAInnC,EAAI,EAAGA,EAAI1C,KAAKmxG,QAAQxuG,OAAQD,IAErC1C,KAAKmxG,QAAQzuG,GAAGuyG,eAAgB,EAGpCj1G,KAAKoxG,SAUTvjC,WAAY,SAAU97C,EAAKtvB,QAEN8D,IAAb9D,IAA0BA,GAAW,GAKzC,GAAIgF,MAAMC,QAAQqqB,GAEd,IAAKrvB,EAAI,EAAGouB,EAAMiB,EAAIpvB,OAAQD,EAAIouB,EAAKpuB,IAEnC1C,KAAK6tE,WAAW97C,EAAIrvB,SAGvB,GAAIqvB,EAAIve,OAAShS,EAAOirB,OAAShqB,EAElC,IAAK,IAAIC,EAAI,EAAGouB,EAAMiB,EAAItvB,SAASE,OAAQD,EAAIouB,EAAKpuB,IAEhD1C,KAAK6tE,WAAW97C,EAAItvB,SAASC,QAIrC,CACI,IAAKA,EAAI,EAAGouB,EAAM9wB,KAAKmxG,QAAQxuG,OAAQD,EAAIouB,EAAKpuB,IAExCqvB,IAAQ/xB,KAAKmxG,QAAQzuG,GAAGsF,QAExBhI,KAAKmc,OAAOnc,KAAKmxG,QAAQzuG,IAIjC,IAAKA,EAAI,EAAGouB,EAAM9wB,KAAKoxG,KAAKzuG,OAAQD,EAAIouB,EAAKpuB,IAErCqvB,IAAQ/xB,KAAKoxG,KAAK1uG,GAAGsF,QAErBhI,KAAKmc,OAAOnc,KAAKoxG,KAAK1uG,MAatCu2B,IAAK,SAAU66C,GAEXA,EAAMohC,SAAWl1G,KACjBA,KAAKoxG,KAAKtpG,KAAKgsE,IAUnBtrE,OAAQ,SAAU4wC,GAEd,OAAO,IAAI53C,EAAOg1E,MAAMp9B,EAAQp5C,KAAK+C,KAAM/C,OAS/Cmc,OAAQ,SAAU23D,GAEd,IAAIpxE,EAAI1C,KAAKmxG,QAAQ9nG,QAAQyqE,IAElB,IAAPpxE,EAEA1C,KAAKmxG,QAAQzuG,GAAGuyG,eAAgB,GAMrB,KAFXvyG,EAAI1C,KAAKoxG,KAAK/nG,QAAQyqE,MAIlB9zE,KAAKoxG,KAAK1uG,GAAGuyG,eAAgB,IAWzCnwE,OAAQ,WAEJ,IAAIqwE,EAAYn1G,KAAKoxG,KAAKzuG,OACtByyG,EAAYp1G,KAAKmxG,QAAQxuG,OAE7B,GAAkB,IAAdyyG,GAAiC,IAAdD,EAEnB,OAAO,EAKX,IAFA,IAAIzyG,EAAI,EAEDA,EAAI0yG,GAEHp1G,KAAKmxG,QAAQzuG,GAAGoiC,OAAO9kC,KAAK+C,KAAKmiC,KAAKA,MAEtCxiC,KAIA1C,KAAKmxG,QAAQroG,OAAOpG,EAAG,GAEvB0yG,KAWR,OANID,EAAY,IAEZn1G,KAAKmxG,QAAUnxG,KAAKmxG,QAAQ9gF,OAAOrwB,KAAKoxG,MACxCpxG,KAAKoxG,KAAKzuG,OAAS,IAGhB,GAaX0yG,WAAY,SAAUj8D,EAAQk8D,GAI1B,OAFKA,IAAkBA,GAAiB,GAEjCt1G,KAAKmxG,QAAQoE,KAAK,SAAUzhC,GAE/B,OAAQA,EAAM9rE,SAAWoxC,KAAak8D,GAAmBxhC,EAAM34B,YAAc24B,EAAMmhC,kBAU3FF,UAAW,WAEP,IAAK,IAAIryG,EAAI1C,KAAKmxG,QAAQxuG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmxG,QAAQzuG,GAAG8yG,UAUxBR,WAAY,WAER,IAAK,IAAItyG,EAAI1C,KAAKmxG,QAAQxuG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmxG,QAAQzuG,GAAG+yG,WASxBC,SAAU,WAEN,IAAK,IAAIhzG,EAAI1C,KAAKmxG,QAAQxuG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmxG,QAAQzuG,GAAGimC,SASxBgtE,UAAW,WAEP,IAAK,IAAIjzG,EAAI1C,KAAKmxG,QAAQxuG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKmxG,QAAQzuG,GAAGmmC,QAAO,IAS/BrmC,QAAS,WAELxC,KAAK+C,KAAK2lC,QAAQvsB,OAAOnc,KAAK+0G,UAAW/0G,MACzCA,KAAK+C,KAAK6lC,SAASzsB,OAAOnc,KAAKg1G,WAAYh1G,MAE3CA,KAAK+C,KAAO,KACZ/C,KAAKoxG,KAAO,KACZpxG,KAAKmxG,QAAU,OAKvB3vG,EAAO87C,aAAah7C,UAAUC,YAAcf,EAAO87C,aAqBnD97C,EAAOg1E,MAAQ,SAAUxuE,EAAQjF,EAAM6yG,GAKnC51G,KAAK+C,KAAOA,EAKZ/C,KAAKgI,OAASA,EAKdhI,KAAK41G,QAAUA,EAKf51G,KAAK61G,YASL71G,KAAKse,SAAU,EASfte,KAAK81G,UAAY,EAKjB91G,KAAK+1G,cAAgB,EAOrB/1G,KAAKi1G,eAAgB,EAOrBj1G,KAAKg2G,QAAU,IAAIx0G,EAAO6gC,OAQ1BriC,KAAKi2G,OAAS,IAAIz0G,EAAO6gC,OAOzBriC,KAAKk2G,SAAW,IAAI10G,EAAO6gC,OAQ3BriC,KAAKm2G,gBAAkB,IAAI30G,EAAO6gC,OAOlCriC,KAAKo2G,WAAa,IAAI50G,EAAO6gC,OAM7BriC,KAAKm7C,WAAY,EAOjBn7C,KAAK2nC,QAAU,EAKf3nC,KAAK81F,cAKL91F,KAAKq2G,aAAe,KAMpBr2G,KAAKs2G,UAAW,EAgBhBt2G,KAAKkxG,WAAa0E,EAAQ1E,WAO1BlxG,KAAKu2G,kBAAoB,KAOzBv2G,KAAKw2G,yBAA2B,KAOhCx2G,KAAKy2G,YAAc,EAMnBz2G,KAAK87C,aAAc,EAMnB97C,KAAK02G,aAAc,GAwBvBl1G,EAAOg1E,MAAM7kC,YAAc,SAAUmiC,GAEjCtyE,EAAO2e,MAAMwxB,YAAYmiC,EAAM9rE,SAGnCxG,EAAOg1E,MAAMl0E,WAkBT6uB,GAAI,SAAU2kE,EAAYjzD,EAAU8zE,EAAM7tE,EAAWwuB,EAAO3iD,EAAQiiG,GAchE,YAZiBrwG,IAAbs8B,GAA0BA,GAAY,KAAKA,EAAW,UAC7Ct8B,IAATowG,GAA+B,OAATA,IAAiBA,EAAOn1G,EAAO+vG,OAAOsF,cAC9CtwG,IAAduiC,IAA2BA,GAAY,QAC7BviC,IAAV+wD,IAAuBA,EAAQ,QACpB/wD,IAAXoO,IAAwBA,EAAS,QACxBpO,IAATqwG,IAAsBA,GAAO,GAEb,iBAATD,GAAqB32G,KAAK41G,QAAQvE,QAAQsF,KAEjDA,EAAO32G,KAAK41G,QAAQvE,QAAQsF,IAG5B32G,KAAKm7C,WAEL76C,QAAQ+Z,KAAK,sDACNra,OAGXA,KAAK61G,SAAS/tG,KAAK,IAAItG,EAAOs1G,UAAU92G,MAAMmxB,GAAG2kE,EAAYjzD,EAAU8zE,EAAMr/C,EAAO3iD,EAAQiiG,IAExF9tE,GAEA9oC,KAAKsM,QAGFtM,OAmBXyF,KAAM,SAAUqwF,EAAYjzD,EAAU8zE,EAAM7tE,EAAWwuB,EAAO3iD,EAAQiiG,GAclE,YAZiBrwG,IAAbs8B,IAA0BA,EAAW,UAC5Bt8B,IAATowG,GAA+B,OAATA,IAAiBA,EAAOn1G,EAAO+vG,OAAOsF,cAC9CtwG,IAAduiC,IAA2BA,GAAY,QAC7BviC,IAAV+wD,IAAuBA,EAAQ,QACpB/wD,IAAXoO,IAAwBA,EAAS,QACxBpO,IAATqwG,IAAsBA,GAAO,GAEb,iBAATD,GAAqB32G,KAAK41G,QAAQvE,QAAQsF,KAEjDA,EAAO32G,KAAK41G,QAAQvE,QAAQsF,IAG5B32G,KAAKm7C,WAEL76C,QAAQ+Z,KAAK,wDACNra,OAGXA,KAAK61G,SAAS/tG,KAAK,IAAItG,EAAOs1G,UAAU92G,MAAMyF,KAAKqwF,EAAYjzD,EAAU8zE,EAAMr/C,EAAO3iD,EAAQiiG,IAE1F9tE,GAEA9oC,KAAKsM,QAGFtM,OAcXsM,MAAO,SAAU1D,GAIb,QAFcrC,IAAVqC,IAAuBA,EAAQ,GAE/B5I,KAAKi1G,cAGL,OADA30G,QAAQ+Z,KAAK,wDACNra,KAGX,GAAkB,OAAdA,KAAK+C,MAAiC,OAAhB/C,KAAKgI,QAA4C,IAAzBhI,KAAK61G,SAASlzG,QAAgB3C,KAAKm7C,UAEjF,OAAOn7C,KAIX,IAAS0C,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAGtC,IAAK,IAAIi0C,KAAY32C,KAAK61G,SAASnzG,GAAGq0G,KAElC/2G,KAAK81F,WAAWn/C,GAAY32C,KAAKgI,OAAO2uC,IAAa,EAEhDlvC,MAAMC,QAAQ1H,KAAK81F,WAAWn/C,MAG/B32C,KAAK81F,WAAWn/C,IAAa,GAKzC,IAAK,IAAIj0C,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAEtC1C,KAAK61G,SAASnzG,GAAGs0G,aAgBrB,OAbAh3G,KAAK41G,QAAQ38E,IAAIj5B,MAEjBA,KAAKm7C,WAAY,GAEbvyC,EAAQ,GAAKA,EAAQ5I,KAAK61G,SAASlzG,OAAS,KAE5CiG,EAAQ,GAGZ5I,KAAK2nC,QAAU/+B,EAEf5I,KAAK61G,SAAS71G,KAAK2nC,SAASr7B,QAErBtM,MAaXmM,KAAM,SAAUie,GAsBZ,YApBiB7jB,IAAb6jB,IAA0BA,GAAW,GAEzCpqB,KAAKm7C,WAAY,EAEjBn7C,KAAKu2G,kBAAoB,KACzBv2G,KAAKw2G,yBAA2B,KAE5BpsF,IAEApqB,KAAKo2G,WAAWhxE,SAASplC,KAAKgI,OAAQhI,MACtCA,KAAK02G,aAAc,EAEf12G,KAAKq2G,cAELr2G,KAAKq2G,aAAa/pG,SAI1BtM,KAAK41G,QAAQz5F,OAAOnc,MAEbA,MAcXi3G,gBAAiB,SAAUtgE,EAAUvvC,EAAOwB,GAExC,GAA6B,IAAzB5I,KAAK61G,SAASlzG,OAAgB,OAAO3C,KAIzC,QAFcuG,IAAVqC,IAAuBA,EAAQ,IAEpB,IAAXA,EAEA,IAAK,IAAIlG,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAEtC1C,KAAK61G,SAASnzG,GAAGi0C,GAAYvvC,OAKjCpH,KAAK61G,SAASjtG,GAAO+tC,GAAYvvC,EAGrC,OAAOpH,MAcXs3D,MAAO,SAAUz0B,EAAUj6B,GAEvB,OAAO5I,KAAKi3G,gBAAgB,QAASp0E,EAAUj6B,IAenD+L,OAAQ,SAAUgkC,EAAOu+D,EAAatuG,GAOlC,YALoBrC,IAAhB2wG,IAA6BA,EAAc,GAE/Cl3G,KAAKi3G,gBAAgB,gBAAiBt+D,EAAO/vC,GAC7C5I,KAAKi3G,gBAAgB,cAAet+D,EAAO/vC,GAEpC5I,KAAKi3G,gBAAgB,cAAeC,EAAatuG,IAc5DsuG,YAAa,SAAUr0E,EAAUj6B,GAE7B,OAAO5I,KAAKi3G,gBAAgB,cAAep0E,EAAUj6B,IAgBzDguG,KAAM,SAAU59F,EAAQm+F,EAAWvuG,GAM/B,YAJkBrC,IAAd4wG,IAA2BA,EAAY,GAE3Cn3G,KAAKi3G,gBAAgB,OAAQj+F,EAAQpQ,GAE9B5I,KAAKi3G,gBAAgB,YAAaE,EAAWvuG,IAcxDuuG,UAAW,SAAUt0E,EAAUj6B,GAE3B,OAAO5I,KAAKi3G,gBAAgB,YAAap0E,EAAUj6B,IAcvDwuG,OAAQ,SAAUT,EAAM/tG,GAOpB,MALoB,iBAAT+tG,GAAqB32G,KAAK41G,QAAQvE,QAAQsF,KAEjDA,EAAO32G,KAAK41G,QAAQvE,QAAQsF,IAGzB32G,KAAKi3G,gBAAgB,iBAAkBN,EAAM/tG,IAexDyuG,cAAe,SAAUA,EAAevpG,EAASlF,GAM7C,YAJgBrC,IAAZuH,IAAyBA,EAAUtM,EAAOkC,MAE9C1D,KAAKi3G,gBAAgB,wBAAyBI,EAAezuG,GAEtD5I,KAAKi3G,gBAAgB,uBAAwBnpG,EAASlF,IAWjE0uG,UAAW,SAAU3+D,GAMjB,YAJcpyC,IAAVoyC,IAAuBA,EAAQ,GAEnC34C,KAAK+1G,cAAgBp9D,EAEd34C,MAiBXu3G,MAAO,WAIH,IAFA,IAAI70G,EAAI4tB,UAAU3tB,OAEXD,KAECA,EAAI,EAEJ4tB,UAAU5tB,EAAI,GAAG2zG,aAAe/lF,UAAU5tB,GAI1C1C,KAAKq2G,aAAe/lF,UAAU5tB,GAItC,OAAO1C,MAmBXmrE,KAAM,SAAU/jE,GAMZ,YAJcb,IAAVa,IAAuBA,GAAQ,GAEnCpH,KAAK+1G,cAAgB,GAAW,EAAI,EAE7B/1G,MAmBXgoC,iBAAkB,SAAU2M,EAAU1L,GAKlC,OAHAjpC,KAAKu2G,kBAAoB5hE,EACzB30C,KAAKw2G,yBAA2BvtE,EAEzBjpC,MAQX2oC,MAAO,WAEH3oC,KAAKs2G,UAAW,EAEhBt2G,KAAK87C,aAAc,EAEnB97C,KAAKy2G,YAAcz2G,KAAK+C,KAAKmiC,KAAKA,MAStCswE,OAAQ,WAECx1G,KAAK87C,cAEN97C,KAAKs2G,UAAW,EAEhBt2G,KAAKy2G,YAAcz2G,KAAK+C,KAAKmiC,KAAKA,OAS1C2D,OAAQ,WAEJ,GAAI7oC,KAAKs2G,SACT,CACIt2G,KAAKs2G,UAAW,EAEhBt2G,KAAK87C,aAAc,EAEnB,IAAK,IAAIp5C,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAEjC1C,KAAK61G,SAASnzG,GAAGy4C,YAElBn7C,KAAK61G,SAASnzG,GAAG80G,WAAcx3G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKy2G,eAW1EhB,QAAS,WAEDz1G,KAAK87C,aAML97C,KAAK6oC,UAWb/D,OAAQ,SAAUI,GAEd,GAAIllC,KAAKi1G,gBAAkBj1G,KAAKgI,OAE5B,OAAO,EAGX,GAAIhI,KAAKs2G,SAEL,OAAO,EAGX,IAAImB,EAASz3G,KAAK61G,SAAS71G,KAAK2nC,SAAS7C,OAAOI,GAEhD,GAAIuyE,IAAWj2G,EAAOs1G,UAAUY,QAE5B,OAAO,EAEN,GAAID,IAAWj2G,EAAOs1G,UAAUa,QAcjC,OAZK33G,KAAK02G,cAEN12G,KAAKg2G,QAAQ5wE,SAASplC,KAAKgI,OAAQhI,MACnCA,KAAK02G,aAAc,GAGQ,OAA3B12G,KAAKu2G,mBAELv2G,KAAKu2G,kBAAkB/xG,KAAKxE,KAAKw2G,yBAA0Bx2G,KAAMA,KAAK61G,SAAS71G,KAAK2nC,SAASvgC,MAAOpH,KAAK61G,SAAS71G,KAAK2nC,UAIpH3nC,KAAKm7C,UAEX,GAAIs8D,IAAWj2G,EAAOs1G,UAAUc,OAWjC,OATmD,IAA/C53G,KAAK61G,SAAS71G,KAAK2nC,SAASouE,cAE5B/1G,KAAKi2G,OAAO7wE,SAASplC,KAAKgI,OAAQhI,MAIlCA,KAAKk2G,SAAS9wE,SAASplC,KAAKgI,OAAQhI,OAGjC,EAEN,GAAIy3G,IAAWj2G,EAAOs1G,UAAUe,SACrC,CACI,IAAIztF,GAAW,EAwBf,OArBIpqB,KAAKse,UAELte,KAAK2nC,QAEc,IAEf3nC,KAAK2nC,QAAU3nC,KAAK61G,SAASlzG,OAAS,EACtCynB,GAAW,KAKfpqB,KAAK2nC,UAEgB3nC,KAAK61G,SAASlzG,SAE/B3C,KAAK2nC,QAAU,EACfvd,GAAW,GAIfA,GAG4B,IAAxBpqB,KAAK+1G,eAEL/1G,KAAK61G,SAAS71G,KAAK2nC,SAASr7B,QAC5BtM,KAAKi2G,OAAO7wE,SAASplC,KAAKgI,OAAQhI,OAC3B,GAEFA,KAAK+1G,cAAgB,GAE1B/1G,KAAK+1G,gBAEL/1G,KAAK61G,SAAS71G,KAAK2nC,SAASr7B,QAC5BtM,KAAKk2G,SAAS9wE,SAASplC,KAAKgI,OAAQhI,OAC7B,IAKPA,KAAKm7C,WAAY,EACjBn7C,KAAKo2G,WAAWhxE,SAASplC,KAAKgI,OAAQhI,MACtCA,KAAK02G,aAAc,EAEf12G,KAAKq2G,cAELr2G,KAAKq2G,aAAa/pG,SAGf,IAMXtM,KAAKm2G,gBAAgB/wE,SAASplC,KAAKgI,OAAQhI,MAC3CA,KAAK61G,SAAS71G,KAAK2nC,SAASr7B,SACrB,KAgBnBwrG,aAAc,SAAU5sC,EAAW92D,GAE/B,GAAkB,OAAdpU,KAAK+C,MAAiC,OAAhB/C,KAAKgI,OAE3B,OAAO,UAGOzB,IAAd2kE,IAA2BA,EAAY,SAC9B3kE,IAAT6N,IAAsBA,MAG1B,IAAS1R,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAGtC,IAAK,IAAIi0C,KAAY32C,KAAK61G,SAASnzG,GAAGq0G,KAElC/2G,KAAK81F,WAAWn/C,GAAY32C,KAAKgI,OAAO2uC,IAAa,EAEhDlvC,MAAMC,QAAQ1H,KAAK81F,WAAWn/C,MAG/B32C,KAAK81F,WAAWn/C,IAAa,GAKzC,IAASj0C,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAEtC1C,KAAK61G,SAASnzG,GAAGs0G,aAGrB,IAAK,IAAIt0G,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAEtC0R,EAAOA,EAAKic,OAAOrwB,KAAK61G,SAASnzG,GAAGo1G,aAAa5sC,IAGrD,OAAO92D,IASfpN,OAAOyF,eAAejL,EAAOg1E,MAAMl0E,UAAW,iBAE1C4E,IAAK,WAID,IAAK,IAFDyxC,EAAQ,EAEHj2C,EAAI,EAAGA,EAAI1C,KAAK61G,SAASlzG,OAAQD,IAEtCi2C,GAAS34C,KAAK61G,SAASnzG,GAAGmgC,SAG9B,OAAO8V,KAKfn3C,EAAOg1E,MAAMl0E,UAAUC,YAAcf,EAAOg1E,MAiB5Ch1E,EAAOs1G,UAAY,SAAUz1G,GAKzBrB,KAAKqB,OAASA,EAKdrB,KAAK+C,KAAO1B,EAAO0B,KAMnB/C,KAAK+3G,UAML/3G,KAAKg4G,eAMLh4G,KAAK+2G,QAML/2G,KAAKi4G,aAMLj4G,KAAK6iC,SAAW,IAMhB7iC,KAAK2uG,QAAU,EAMf3uG,KAAKoH,MAAQ,EAKbpH,KAAK+1G,cAAgB,EAKrB/1G,KAAKk3G,YAAc,EAMnBl3G,KAAKk4G,YAAc,EAOnBl4G,KAAKi+B,aAAc,EAMnBj+B,KAAK42G,MAAO,EAKZ52G,KAAKm3G,UAAY,EAMjBn3G,KAAKm4G,WAAY,EAMjBn4G,KAAKs3D,MAAQ,EAKbt3D,KAAKktF,GAAK,EAKVltF,KAAKw3G,UAAY,KAMjBx3G,KAAKo4G,eAAiB52G,EAAO+vG,OAAOsF,QAMpC72G,KAAKq4G,sBAAwB72G,EAAOkC,KAAKwpG,oBAMzCltG,KAAKs4G,qBAAuB92G,EAAOkC,KAMnC1D,KAAKm7C,WAAY,EAMjBn7C,KAAKu4G,QAAS,GAOlB/2G,EAAOs1G,UAAUY,QAAU,EAM3Bl2G,EAAOs1G,UAAUa,QAAU,EAM3Bn2G,EAAOs1G,UAAUc,OAAS,EAM1Bp2G,EAAOs1G,UAAUe,SAAW,EAE5Br2G,EAAOs1G,UAAUx0G,WAeb6uB,GAAI,SAAU2kE,EAAYjzD,EAAU8zE,EAAMr/C,EAAO3iD,EAAQiiG,GAWrD,OATA52G,KAAK+2G,KAAOjhB,EACZ91F,KAAK6iC,SAAWA,EAChB7iC,KAAKo4G,eAAiBzB,EACtB32G,KAAKs3D,MAAQA,EACbt3D,KAAKk4G,YAAcvjG,EACnB3U,KAAK42G,KAAOA,EAEZ52G,KAAKu4G,QAAS,EAEPv4G,MAgBXyF,KAAM,SAAUqwF,EAAYjzD,EAAU8zE,EAAMr/C,EAAO3iD,EAAQiiG,GAWvD,OATA52G,KAAK+2G,KAAOjhB,EACZ91F,KAAK6iC,SAAWA,EAChB7iC,KAAKo4G,eAAiBzB,EACtB32G,KAAKs3D,MAAQA,EACbt3D,KAAKk4G,YAAcvjG,EACnB3U,KAAK42G,KAAOA,EAEZ52G,KAAKu4G,QAAS,EAEPv4G,MASXsM,MAAO,WAsBH,GApBAtM,KAAKw3G,UAAYx3G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKs3D,MAExCt3D,KAAKqB,OAAOid,QAEZte,KAAKktF,GAAKltF,KAAK6iC,SAIf7iC,KAAKktF,GAAK,EAGVltF,KAAKs3D,MAAQ,EAEbt3D,KAAKm7C,WAAY,EAIjBn7C,KAAKm7C,WAAY,EAGjBn7C,KAAKu4G,OAGL,IAAK,IAAI5hE,KAAY32C,KAAKg4G,YAEtBh4G,KAAK+3G,OAAOphE,GAAY32C,KAAKi4G,UAAUthE,GACvC32C,KAAK+2G,KAAKpgE,GAAY32C,KAAKg4G,YAAYrhE,GACvC32C,KAAKqB,OAAO2G,OAAO2uC,GAAY32C,KAAK+3G,OAAOphE,GAOnD,OAHA32C,KAAKoH,MAAQ,EACbpH,KAAK+1G,cAAgB/1G,KAAKk4G,YAEnBl4G,MAUXg3G,WAAY,WAER,IAAK,IAAIrgE,KAAY32C,KAAKqB,OAAOy0F,WACjC,CAKI,GAHA91F,KAAK+3G,OAAOphE,GAAY32C,KAAKqB,OAAOy0F,WAAWn/C,GAG3ClvC,MAAMC,QAAQ1H,KAAK+2G,KAAKpgE,IAC5B,CACI,GAAmC,IAA/B32C,KAAK+2G,KAAKpgE,GAAUh0C,OAEpB,SAGiB,IAAjB3C,KAAK2uG,UAML3uG,KAAK+2G,KAAKpgE,IAAc32C,KAAK+3G,OAAOphE,IAAYtmB,OAAOrwB,KAAK+2G,KAAKpgE,UAItC,IAAxB32C,KAAK+2G,KAAKpgE,IAEkB,iBAAxB32C,KAAK+2G,KAAKpgE,KAGjB32C,KAAK+2G,KAAKpgE,GAAY32C,KAAK+3G,OAAOphE,GAAYhY,WAAW3+B,KAAK+2G,KAAKpgE,KAGvE32C,KAAKqB,OAAOy0F,WAAWn/C,GAAY32C,KAAK+2G,KAAKpgE,IAK7C32C,KAAK+2G,KAAKpgE,GAAY32C,KAAK+3G,OAAOphE,GAGtC32C,KAAKg4G,YAAYrhE,GAAY32C,KAAK+3G,OAAOphE,GACzC32C,KAAKi4G,UAAUthE,GAAY32C,KAAK+2G,KAAKpgE,GAGzC,OAAO32C,MAWX8kC,OAAQ,SAAUI,GAEd,GAAKllC,KAAKm7C,WAcN,GAAIjW,EAAOllC,KAAKw3G,UAEZ,OAAOh2G,EAAOs1G,UAAUa,YAfhC,CACI,KAAIzyE,GAAQllC,KAAKw3G,WAMb,OAAOh2G,EAAOs1G,UAAUY,QAJxB13G,KAAKm7C,WAAY,EAgBzB,IAAIq9D,EAAMx4G,KAAKqB,OAAiB,WAAIrB,KAAK+C,KAAKmiC,KAAKosC,iBAAmBtxE,KAAK+C,KAAKmiC,KAAKC,UAEjFnlC,KAAKqB,OAAOid,SAEZte,KAAKktF,IAAMsrB,EAAKx4G,KAAKqB,OAAOy0G,UAC5B91G,KAAKktF,GAAKxpF,KAAKuC,IAAIjG,KAAKktF,GAAI,KAI5BltF,KAAKktF,IAAMsrB,EAAKx4G,KAAKqB,OAAOy0G,UAC5B91G,KAAKktF,GAAKxpF,KAAK41B,IAAIt5B,KAAKktF,GAAIltF,KAAK6iC,WAGrC7iC,KAAK2uG,QAAU3uG,KAAKktF,GAAKltF,KAAK6iC,SAE9B7iC,KAAKoH,MAAQpH,KAAKo4G,eAAep4G,KAAK2uG,SAEtC,IAAK,IAAIh4D,KAAY32C,KAAK+2G,KAC1B,CACI,IAAIzqG,EAAQtM,KAAK+3G,OAAOphE,GACpBt7B,EAAMrb,KAAK+2G,KAAKpgE,GAEhBlvC,MAAMC,QAAQ2T,GAEdrb,KAAKqB,OAAO2G,OAAO2uC,GAAY32C,KAAKq4G,sBAAsB7zG,KAAKxE,KAAKs4G,qBAAsBj9F,EAAKrb,KAAKoH,OAIpGpH,KAAKqB,OAAO2G,OAAO2uC,GAAYrqC,GAAU+O,EAAM/O,GAAStM,KAAKoH,MAIrE,OAAMpH,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAK2uG,SAAmB3uG,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAK2uG,QAEtE3uG,KAAK2U,SAGTnT,EAAOs1G,UAAUa,SAY5BG,aAAc,SAAU5sC,GAEhBlrE,KAAKqB,OAAOid,QAEZte,KAAKktF,GAAKltF,KAAK6iC,SAIf7iC,KAAKktF,GAAK,EAGd,IAAI94E,KACAgW,GAAW,EACXquF,EAAO,EAAIvtC,EAAa,IAE5B,EACA,CACQlrE,KAAKqB,OAAOid,SAEZte,KAAKktF,IAAMurB,EACXz4G,KAAKktF,GAAKxpF,KAAKuC,IAAIjG,KAAKktF,GAAI,KAI5BltF,KAAKktF,IAAMurB,EACXz4G,KAAKktF,GAAKxpF,KAAK41B,IAAIt5B,KAAKktF,GAAIltF,KAAK6iC,WAGrC7iC,KAAK2uG,QAAU3uG,KAAKktF,GAAKltF,KAAK6iC,SAE9B7iC,KAAKoH,MAAQpH,KAAKo4G,eAAep4G,KAAK2uG,SAEtC,IAAI+J,KAEJ,IAAK,IAAI/hE,KAAY32C,KAAK+2G,KAC1B,CACI,IAAIzqG,EAAQtM,KAAK+3G,OAAOphE,GACpBt7B,EAAMrb,KAAK+2G,KAAKpgE,GAEhBlvC,MAAMC,QAAQ2T,GAEdq9F,EAAK/hE,GAAY32C,KAAKq4G,sBAAsB7zG,KAAKxE,KAAKs4G,qBAAsBj9F,EAAKrb,KAAKoH,OAItFsxG,EAAK/hE,GAAYrqC,GAAU+O,EAAM/O,GAAStM,KAAKoH,MAIvDgN,EAAKtM,KAAK4wG,KAEJ14G,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAK2uG,SAAmB3uG,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAK2uG,WAE7EvkF,GAAW,UAETA,GAEV,GAAIpqB,KAAK42G,KACT,CACI,IAAI+B,EAAWvkG,EAAK4b,QACpB2oF,EAASr6F,UACTlK,EAAOA,EAAKic,OAAOsoF,GAGvB,OAAOvkG,GAUXO,OAAQ,WAGJ,GAAI3U,KAAK42G,KACT,CAEI,GAAI52G,KAAKm4G,WAAoC,IAAvBn4G,KAAK+1G,cAC3B,CAEI,IAAK,IAAIp/D,KAAY32C,KAAKg4G,YAEtBh4G,KAAK+3G,OAAOphE,GAAY32C,KAAKg4G,YAAYrhE,GACzC32C,KAAK+2G,KAAKpgE,GAAY32C,KAAKi4G,UAAUthE,GAKzC,OAFA32C,KAAKm4G,WAAY,EAEV32G,EAAOs1G,UAAUe,SAG5B73G,KAAKm4G,WAAan4G,KAAKm4G,eAG3B,GAA2B,IAAvBn4G,KAAK+1G,cAEL,OAAOv0G,EAAOs1G,UAAUe,SAG5B,GAAI73G,KAAKm4G,UAGL,IAAK,IAAIxhE,KAAY32C,KAAKg4G,YAEtBh4G,KAAK+3G,OAAOphE,GAAY32C,KAAKi4G,UAAUthE,GACvC32C,KAAK+2G,KAAKpgE,GAAY32C,KAAKg4G,YAAYrhE,OAI/C,CAEI,IAAK,IAAIA,KAAY32C,KAAKg4G,YAEtBh4G,KAAK+3G,OAAOphE,GAAY32C,KAAKg4G,YAAYrhE,GACzC32C,KAAK+2G,KAAKpgE,GAAY32C,KAAKi4G,UAAUthE,GAOrC32C,KAAK+1G,cAAgB,GAErB/1G,KAAK+1G,gBAwBb,OApBA/1G,KAAKw3G,UAAYx3G,KAAK+C,KAAKmiC,KAAKA,KAE5BllC,KAAK42G,MAAQ52G,KAAKm4G,UAElBn4G,KAAKw3G,WAAax3G,KAAKm3G,UAEjBn3G,KAAKm4G,YAEXn4G,KAAKw3G,WAAax3G,KAAKk3G,aAGvBl3G,KAAKqB,OAAOid,QAEZte,KAAKktF,GAAKltF,KAAK6iC,SAIf7iC,KAAKktF,GAAK,EAGP1rF,EAAOs1G,UAAUc,SAKhCp2G,EAAOs1G,UAAUx0G,UAAUC,YAAcf,EAAOs1G,UAehDt1G,EAAO+vG,QAOHK,QASIC,KAAM,SAAU16E,GAEZ,OAAOA,IAUf46E,WASIiB,GAAI,SAAU77E,GAEV,OAAOA,EAAIA,GAUf66E,IAAK,SAAU76E,GAEX,OAAOA,GAAK,EAAIA,IAUpBk9E,MAAO,SAAUl9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,GAC5B,MAASA,GAAKA,EAAI,GAAK,KAUxC86E,OASIe,GAAI,SAAU77E,GAEV,OAAOA,EAAIA,EAAIA,GAUnB66E,IAAK,SAAU76E,GAEX,QAASA,EAAIA,EAAIA,EAAI,GAUzBk9E,MAAO,SAAUl9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAClC,KAAQA,GAAK,GAAKA,EAAIA,EAAI,KAUzCg7E,SASIa,GAAI,SAAU77E,GAEV,OAAOA,EAAIA,EAAIA,EAAIA,GAUvB66E,IAAK,SAAU76E,GAEX,OAAO,KAAOA,EAAIA,EAAIA,EAAIA,GAU9Bk9E,MAAO,SAAUl9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAAIA,GACpC,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,KAU/Ck7E,SASIW,GAAI,SAAU77E,GAEV,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAU3B66E,IAAK,SAAU76E,GAEX,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAUjCk9E,MAAO,SAAUl9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC1C,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,KAUjDo7E,YASIS,GAAI,SAAU77E,GAEV,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf,EAAIzzB,KAAKI,IAAIqzB,EAAIzzB,KAAKsxB,GAAK,IAUtCg9E,IAAK,SAAU76E,GAEX,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACfzzB,KAAKG,IAAIszB,EAAIzzB,KAAKsxB,GAAK,IAUlCq/E,MAAO,SAAUl9E,GAEb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf,IAAO,EAAIzzB,KAAKI,IAAIJ,KAAKsxB,GAAKmC,MAU7Cs7E,aASIO,GAAI,SAAU77E,GAEV,OAAa,IAANA,EAAU,EAAIzzB,KAAKgoG,IAAI,KAAMv0E,EAAI,IAU5C66E,IAAK,SAAU76E,GAEX,OAAa,IAANA,EAAU,EAAI,EAAIzzB,KAAKgoG,IAAI,GAAK,GAAKv0E,IAUhDk9E,MAAO,SAAUl9E,GAEb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GACjBA,GAAK,GAAK,EAAY,GAAMzzB,KAAKgoG,IAAI,KAAMv0E,EAAI,GAC7C,IAAuC,EAA9BzzB,KAAKgoG,IAAI,GAAK,IAAMv0E,EAAI,OAUhDw7E,UASIK,GAAI,SAAU77E,GAEV,OAAO,EAAIzzB,KAAKS,KAAK,EAAIgzB,EAAIA,IAUjC66E,IAAK,SAAU76E,GAEX,OAAOzzB,KAAKS,KAAK,KAAOgzB,EAAIA,IAUhCk9E,MAAO,SAAUl9E,GAEb,OAAKA,GAAK,GAAK,GAAc,IAAOzzB,KAAKS,KAAK,EAAIgzB,EAAIA,GAAK,GACpD,IAAOzzB,KAAKS,KAAK,GAAKgzB,GAAK,GAAKA,GAAK,KAUpDy7E,SASII,GAAI,SAAU77E,GAKV,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBn0B,IAJI,EAKMU,KAAKgoG,IAAI,EAAG,IAAMv0E,GAAK,IAAMzzB,KAAKG,KAAKszB,EADjDn0B,KAC2D,EAAIU,KAAKsxB,IAJhE,MAcZg9E,IAAK,SAAU76E,GAKX,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBn0B,GAJI,EAKIU,KAAKgoG,IAAI,GAAK,GAAKv0E,GAAKzzB,KAAKG,KAAKszB,EAD1Cn0B,KACoD,EAAIU,KAAKsxB,IAJzD,IAIoE,IAUhFq/E,MAAO,SAAUl9E,GAKb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBn0B,IACCm0B,GAAK,GAAK,EALP,EAKgCzzB,KAAKgoG,IAAI,EAAG,IAAMv0E,GAAK,IAAMzzB,KAAKG,KAAKszB,EAD3En0B,KACqF,EAAIU,KAAKsxB,IAJ1F,KAIqB,GALrB,EAMGtxB,KAAKgoG,IAAI,GAAI,IAAMv0E,GAAK,IAAMzzB,KAAKG,KAAKszB,EAF/Cn0B,KAEyD,EAAIU,KAAKsxB,IAL9D,IAKyE,GAAM,KAU/F69E,MASIG,GAAI,SAAU77E,GAEV,IAAI9yB,EAAI,QACR,OAAO8yB,EAAIA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,IAUlC2tG,IAAK,SAAU76E,GAEX,IAAI9yB,EAAI,QACR,QAAS8yB,EAAIA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,GAAK,GAUzCgwG,MAAO,SAAUl9E,GAEb,IAAI9yB,EAAI,UACR,OAAK8yB,GAAK,GAAK,EAAmBA,EAAIA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,GAA9B,GACpB,KAAQ8yB,GAAK,GAAKA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,GAAK,KAUzDyuG,QASIE,GAAI,SAAU77E,GAEV,OAAO,EAAI31B,EAAO+vG,OAAOuB,OAAOd,IAAI,EAAI76E,IAU5C66E,IAAK,SAAU76E,GAEX,OAAIA,EAAK,EAAI,KAEF,OAASA,EAAIA,EAEfA,EAAK,EAAI,KAEP,QAAUA,GAAM,IAAM,MAASA,EAAI,IAErCA,EAAK,IAAM,KAET,QAAUA,GAAM,KAAO,MAASA,EAAI,MAIpC,QAAUA,GAAM,MAAQ,MAASA,EAAI,SAWpDk9E,MAAO,SAAUl9E,GAEb,OAAIA,EAAI,GAA+C,GAAjC31B,EAAO+vG,OAAOuB,OAAOE,GAAO,EAAJ77E,GACD,GAAtC31B,EAAO+vG,OAAOuB,OAAOd,IAAQ,EAAJ76E,EAAQ,GAAW,MAO/D31B,EAAO+vG,OAAOsF,QAAUr1G,EAAO+vG,OAAOK,OAAOC,KAC7CrwG,EAAO+vG,OAAOD,OAAS9vG,EAAO+vG,OAAOK,OAAOC,KAC5CrwG,EAAO+vG,OAAOC,OAAShwG,EAAO+vG,OAAOQ,UAAUC,IAC/CxwG,EAAO+vG,OAAOE,OAASjwG,EAAO+vG,OAAOU,MAAMD,IAC3CxwG,EAAO+vG,OAAOG,OAASlwG,EAAO+vG,OAAOY,QAAQH,IAC7CxwG,EAAO+vG,OAAOI,OAASnwG,EAAO+vG,OAAOc,QAAQL,IAuC7CxwG,EAAO67C,KAAO,SAAUt6C,GAMpB/C,KAAK+C,KAAOA,EAOZ/C,KAAKklC,KAAO,EAOZllC,KAAK44G,SAAW,EAchB54G,KAAK68C,IAAM,EAgBX78C,KAAK6/C,QAAU,EAef7/C,KAAKmlC,UAAY,EAajBnlC,KAAKy+F,eAAiB,EAAI,GAO1Bz+F,KAAKsxE,iBAAoB,EAAI,GAAM,IAOnCtxE,KAAKw/C,eAAiB,EAAM,GAW5Bx/C,KAAK64G,YAAc,GAYnB74G,KAAK84G,aAAe94G,KAAK2/C,WAczB3/C,KAAK0/C,WAAa,EAOlB1/C,KAAK+4G,gBAAiB,EAStB/4G,KAAKq7F,OAAS,EASdr7F,KAAKg5G,QAAU,EASfh5G,KAAKi5G,QAAU,EASfj5G,KAAKy4G,IAAM,EASXz4G,KAAKk5G,IAAM,EASXl5G,KAAKm5G,IAAM,EASXn5G,KAAKo5G,OAAS,IASdp5G,KAAKq5G,OAAS,EAUdr5G,KAAKs5G,MAAQ,IASbt5G,KAAKu5G,MAAQ,EAObv5G,KAAKw5G,cAAgB,EAMrBx5G,KAAKuqG,WAAa,EAMlBvqG,KAAKy5G,aAAe,EAMpBz5G,KAAKm0C,OAAS,IAAI3yC,EAAOk4G,MAAM15G,KAAK+C,MAAM,GAM1C/C,KAAK25G,YAAc,EAMnB35G,KAAK45G,oBAAsB,EAM3B55G,KAAK65G,SAAW,EAMhB75G,KAAK85G,gBAAkB,EAMvB95G,KAAK+5G,cAAgB,EAMrB/5G,KAAKg6G,cAAe,EAMpBh6G,KAAKi6G,YAGTz4G,EAAO67C,KAAK/6C,WAQRshC,KAAM,WAEF5jC,KAAK65G,SAAW5sE,KAAK4P,MACrB78C,KAAKklC,KAAO+H,KAAK4P,MACjB78C,KAAKm0C,OAAO7nC,QACZtM,KAAKy5G,aAAez5G,KAAKklC,MAU7BjM,IAAK,SAAUihF,GAIX,OAFAl6G,KAAKi6G,QAAQnyG,KAAKoyG,GAEXA,GAUX1xG,OAAQ,SAAU2xG,QAEM5zG,IAAhB4zG,IAA6BA,GAAc,GAE/C,IAAID,EAAQ,IAAI14G,EAAOk4G,MAAM15G,KAAK+C,KAAMo3G,GAIxC,OAFAn6G,KAAKi6G,QAAQnyG,KAAKoyG,GAEXA,GAQXrwE,UAAW,WAEP,IAAK,IAAInnC,EAAI,EAAGA,EAAI1C,KAAKi6G,QAAQt3G,OAAQD,IAErC1C,KAAKi6G,QAAQv3G,GAAGF,UAGpBxC,KAAKi6G,WAELj6G,KAAKm0C,OAAOtK,aAQhBrgB,QAAS,WAGL,IAAI4wF,EAAkBp6G,KAAKklC,KAG3BllC,KAAKklC,KAAO+H,KAAK4P,MAGjB78C,KAAKmlC,UAAYnlC,KAAKklC,KAAOk1E,GAUjCt1E,OAAQ,SAAUI,GAGd,IAAIk1E,EAAkBp6G,KAAKklC,KAG3BllC,KAAKklC,KAAO+H,KAAK4P,MAGjB78C,KAAKmlC,UAAYnlC,KAAKklC,KAAOk1E,EAG7Bp6G,KAAK44G,SAAW54G,KAAK68C,IAMrB78C,KAAK68C,IAAM3X,EAGXllC,KAAK6/C,QAAU7/C,KAAK68C,IAAM78C,KAAK44G,SAE3B54G,KAAK+C,KAAKq4C,IAAI6uD,gBAKdjqG,KAAKuqG,WAAa7mG,KAAKmsB,MAAMnsB,KAAKuC,IAAI,EAAI,IAASjG,KAAK64G,aAAgB74G,KAAKy5G,aAAev0E,KAG5FllC,KAAKy5G,aAAev0E,EAAOllC,KAAKuqG,YAKhCvqG,KAAK+4G,gBAEL/4G,KAAKq6G,uBAIJr6G,KAAK+C,KAAKgkC,SAGX/mC,KAAKm0C,OAAOrP,OAAO9kC,KAAKklC,MAEpBllC,KAAKi6G,QAAQt3G,QAEb3C,KAAKs6G,iBAYjBA,aAAc,WAMV,IAHA,IAAI53G,EAAI,EACJouB,EAAM9wB,KAAKi6G,QAAQt3G,OAEhBD,EAAIouB,GAEH9wB,KAAKi6G,QAAQv3G,GAAGoiC,OAAO9kC,KAAKklC,MAE5BxiC,KAKA1C,KAAKi6G,QAAQnxG,OAAOpG,EAAG,GACvBouB,MAYZupF,qBAAsB,WAoBlB,GAjBAr6G,KAAK25G,cACL35G,KAAK45G,qBAAuB55G,KAAK6/C,QAG7B7/C,KAAK25G,aAAkC,EAAnB35G,KAAK64G,cAGzB74G,KAAK84G,aAAiF,EAAlEp1G,KAAKmsB,MAAM,KAAO7vB,KAAK45G,oBAAsB55G,KAAK25G,cACtE35G,KAAK25G,YAAc,EACnB35G,KAAK45G,oBAAsB,GAG/B55G,KAAKs5G,MAAQ51G,KAAK41B,IAAIt5B,KAAKs5G,MAAOt5G,KAAK6/C,SACvC7/C,KAAKu5G,MAAQ71G,KAAKuC,IAAIjG,KAAKu5G,MAAOv5G,KAAK6/C,SAEvC7/C,KAAKq7F,SAEDr7F,KAAK68C,IAAM78C,KAAK85G,gBAAkB,IACtC,CACI,IAAIS,EAAWv6G,KAAK68C,IAAM78C,KAAK85G,gBAC/B95G,KAAKy4G,IAAM/0G,KAAK+xB,MAAqB,IAAdz1B,KAAKq7F,OAAiBkf,GAC7Cv6G,KAAKk5G,IAAMx1G,KAAK+xB,MAAsB,IAAfz1B,KAAKg5G,QAAkBuB,GAC9Cv6G,KAAKm5G,IAAMz1G,KAAK+xB,MAAsB,IAAfz1B,KAAKi5G,QAAkBsB,GAC9Cv6G,KAAKo5G,OAAS11G,KAAK41B,IAAIt5B,KAAKo5G,OAAQp5G,KAAKy4G,KACzCz4G,KAAKq5G,OAAS31G,KAAKuC,IAAIjG,KAAKq5G,OAAQr5G,KAAKy4G,KACzCz4G,KAAK85G,gBAAkB95G,KAAK68C,IAC5B78C,KAAKq7F,OAAS,EACdr7F,KAAKg5G,QAAU,EACfh5G,KAAKi5G,QAAU,IAUvBv0G,UAAW,WAEH1E,KAAK+4G,gBAEL/4G,KAAKg5G,WAUblyE,UAAW,WAEH9mC,KAAK+4G,gBAEL/4G,KAAKi5G,WAUbznE,WAAY,WAERxxC,KAAK+5G,cAAgB9sE,KAAK4P,MAE1B78C,KAAKm0C,OAAOxL,QAIZ,IAFA,IAAIjmC,EAAI1C,KAAKi6G,QAAQt3G,OAEdD,KAEH1C,KAAKi6G,QAAQv3G,GAAG8yG,UAUxB/jE,YAAa,WAGTzxC,KAAKklC,KAAO+H,KAAK4P,MAEjB78C,KAAKw5G,cAAgBx5G,KAAKklC,KAAOllC,KAAK+5G,cAEtC/5G,KAAKm0C,OAAOtL,SAIZ,IAFA,IAAInmC,EAAI1C,KAAKi6G,QAAQt3G,OAEdD,KAEH1C,KAAKi6G,QAAQv3G,GAAG+yG,WAUxBvnE,oBAAqB,WAEjB,MAAqC,MAA7BluC,KAAKklC,KAAOllC,KAAK65G,WAU7BW,aAAc,SAAUC,GAEpB,OAAOz6G,KAAKklC,KAAOu1E,GAUvBC,oBAAqB,SAAUD,GAE3B,MAA6B,MAArBz6G,KAAKklC,KAAOu1E,IAQxB10E,MAAO,WAEH/lC,KAAK65G,SAAW75G,KAAKklC,KACrBllC,KAAK6pC,cAgBb7iC,OAAOyF,eAAejL,EAAO67C,KAAK/6C,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAK64G,aAGhB1xG,IAAK,SAAUC,GAEXpH,KAAK64G,YAAczxG,EAMnBpH,KAAKy+F,eAAiB,EAAIr3F,EAE1BpH,KAAKsxE,iBAAyC,IAAtBtxE,KAAKy+F,eAE7Bz+F,KAAKw/C,eAAiB,EAAMp4C,KAKpC5F,EAAO67C,KAAK/6C,UAAUC,YAAcf,EAAO67C,KAsB3C77C,EAAOk4G,MAAQ,SAAU32G,EAAMo3G,QAEP5zG,IAAhB4zG,IAA6BA,GAAc,GAM/Cn6G,KAAK+C,KAAOA,EAUZ/C,KAAK26G,SAAU,EAMf36G,KAAKm6G,YAAcA,EAOnBn6G,KAAK46G,SAAU,EAMf56G,KAAK6/C,QAAU,EAKf7/C,KAAKm0C,UASLn0C,KAAKo2G,WAAa,IAAI50G,EAAO6gC,OAO7BriC,KAAK66G,SAAW,EAKhB76G,KAAK86G,QAAU,IAOf96G,KAAK+mC,QAAS,EAMd/mC,KAAK87C,aAAc,EAOnB97C,KAAK65G,SAAW,EAMhB75G,KAAK+5G,cAAgB,EAMrB/5G,KAAK+6G,YAAc,EAMnB/6G,KAAKg7G,KAAO/tE,KAAK4P,MAMjB78C,KAAKgvC,KAAO,EAMZhvC,KAAKi7G,QAAU,EAMfj7G,KAAKivC,GAAK,EAMVjvC,KAAKk7G,MAAQ,EAMbl7G,KAAKm7G,SAAW,GAQpB35G,EAAOk4G,MAAM0B,OAAS,IAOtB55G,EAAOk4G,MAAM2B,OAAS,IAOtB75G,EAAOk4G,MAAM4B,KAAO,IAOpB95G,EAAOk4G,MAAM6B,QAAU,IAEvB/5G,EAAOk4G,MAAMp3G,WAiBTkG,OAAQ,SAAU8uD,EAAO6T,EAAMqwC,EAAa7mE,EAAU1L,EAAiB9Y,GAInE,IAAIsrF,EAFJnkD,EAAQ5zD,KAAK+xB,MAAM6hC,GAID,IAAdt3D,KAAKg7G,KAELS,GAAQz7G,KAAK+C,KAAKmiC,KAAKA,KAIvBu2E,GAAQz7G,KAAKg7G,KAGjB,IAAI3qE,EAAQ,IAAI7uC,EAAOk6G,WAAW17G,KAAMs3D,EAAOmkD,EAAMD,EAAarwC,EAAMx2B,EAAU1L,EAAiB9Y,GAQnG,OANAnwB,KAAKm0C,OAAOrsC,KAAKuoC,GAEjBrwC,KAAKq4C,QAELr4C,KAAK46G,SAAU,EAERvqE,GAkBXpX,IAAK,SAAUq+B,EAAO3iB,EAAU1L,GAE5B,OAAOjpC,KAAKwI,OAAO8uD,GAAO,EAAO,EAAG3iB,EAAU1L,EAAiBxhC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAoBzG3b,OAAQ,SAAU2iD,EAAOkkD,EAAa7mE,EAAU1L,GAE5C,OAAOjpC,KAAKwI,OAAO8uD,GAAO,EAAOkkD,EAAa7mE,EAAU1L,EAAiBxhC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAkBnH66C,KAAM,SAAU7T,EAAO3iB,EAAU1L,GAE7B,OAAOjpC,KAAKwI,OAAO8uD,GAAO,EAAM,EAAG3iB,EAAU1L,EAAiBxhC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAQxGhkB,MAAO,SAAUgrD,GAEb,IAAIt3D,KAAK26G,QAAT,CAKA36G,KAAK65G,SAAW75G,KAAK+C,KAAKmiC,KAAKA,MAAQoyB,GAAS,GAEhDt3D,KAAK26G,SAAU,EAEf,IAAK,IAAIj4G,EAAI,EAAGA,EAAI1C,KAAKm0C,OAAOxxC,OAAQD,IAEpC1C,KAAKm0C,OAAOzxC,GAAG+4G,KAAOz7G,KAAKm0C,OAAOzxC,GAAG40D,MAAQt3D,KAAK65G,WAS1D1tG,KAAM,SAAUwvG,GAEZ37G,KAAK26G,SAAU,OAEKp0G,IAAhBo1G,IAA6BA,GAAc,GAE3CA,IAEA37G,KAAKm0C,OAAOxxC,OAAS,IAS7BwZ,OAAQ,SAAUk0B,GAEd,IAAK,IAAI3tC,EAAI,EAAGA,EAAI1C,KAAKm0C,OAAOxxC,OAAQD,IAEpC,GAAI1C,KAAKm0C,OAAOzxC,KAAO2tC,EAGnB,OADArwC,KAAKm0C,OAAOzxC,GAAGuyG,eAAgB,GACxB,EAIf,OAAO,GASX58D,MAAO,WAECr4C,KAAKm0C,OAAOxxC,OAAS,IAGrB3C,KAAKm0C,OAAOpV,KAAK/+B,KAAKy4C,aAEtBz4C,KAAK66G,SAAW76G,KAAKm0C,OAAO,GAAGsnE,OASvChjE,YAAa,SAAUv1C,EAAGC,GAEtB,OAAID,EAAEu4G,KAAOt4G,EAAEs4G,MAEH,EAEHv4G,EAAEu4G,KAAOt4G,EAAEs4G,KAET,EAGJ,GASXG,mBAAoB,WAIhB,IAFA57G,KAAKivC,GAAKjvC,KAAKm0C,OAAOxxC,OAEf3C,KAAKivC,MAEJjvC,KAAKm0C,OAAOn0C,KAAKivC,IAAIgmE,eAErBj1G,KAAKm0C,OAAOrrC,OAAO9I,KAAKivC,GAAI,GAIpCjvC,KAAKgvC,KAAOhvC,KAAKm0C,OAAOxxC,OACxB3C,KAAKivC,GAAK,GAWdnK,OAAQ,SAAUI,GAEd,GAAIllC,KAAK+mC,OAEL,OAAO,EAsBX,GAnBA/mC,KAAK6/C,QAAU3a,EAAOllC,KAAKg7G,KAC3Bh7G,KAAKg7G,KAAO91E,EAGRllC,KAAK6/C,QAAU7/C,KAAK86G,SAOpB96G,KAAK67G,aAAa32E,EAAOllC,KAAK6/C,SAGlC7/C,KAAKi7G,QAAU,EAGfj7G,KAAK47G,qBAED57G,KAAK26G,SAAW36G,KAAKg7G,MAAQh7G,KAAK66G,UAAY76G,KAAKgvC,KAAO,EAC9D,CACI,KAAOhvC,KAAKivC,GAAKjvC,KAAKgvC,MAAQhvC,KAAK26G,SACnC,CACI,IAAItqE,EAAQrwC,KAAKm0C,OAAOn0C,KAAKivC,IAE7B,KAAIjvC,KAAKg7G,MAAQ3qE,EAAMorE,OAASprE,EAAM4kE,cAgClC,MA7BAj1G,KAAKm7G,SAAYn7G,KAAKg7G,KAAO3qE,EAAMinB,OAAUt3D,KAAKg7G,KAAO3qE,EAAMorE,MAE3Dz7G,KAAKm7G,SAAW,IAEhBn7G,KAAKm7G,SAAWn7G,KAAKg7G,KAAO3qE,EAAMinB,QAGnB,IAAfjnB,EAAM86B,MAEN96B,EAAMorE,KAAOz7G,KAAKm7G,SAClB9qE,EAAMsE,SAASpvC,MAAM8qC,EAAMpH,gBAAiBoH,EAAMlgB,OAE7CkgB,EAAMmrE,YAAc,GAEzBnrE,EAAMmrE,cACNnrE,EAAMorE,KAAOz7G,KAAKm7G,SAClB9qE,EAAMsE,SAASpvC,MAAM8qC,EAAMpH,gBAAiBoH,EAAMlgB,QAIlDnwB,KAAKi7G,UACL5qE,EAAM4kE,eAAgB,EACtB5kE,EAAMsE,SAASpvC,MAAM8qC,EAAMpH,gBAAiBoH,EAAMlgB,OAGtDnwB,KAAKivC,KASTjvC,KAAKm0C,OAAOxxC,OAAS3C,KAAKi7G,QAE1Bj7G,KAAKq4C,SAILr4C,KAAK46G,SAAU,EACf56G,KAAKo2G,WAAWhxE,SAASplC,OAIjC,OAAIA,KAAK46G,UAAW56G,KAAKm6G,aAc7BxxE,MAAO,WAEE3oC,KAAK26G,UAKV36G,KAAK87C,aAAc,EAEf97C,KAAK+mC,SAKT/mC,KAAK+5G,cAAgB/5G,KAAK+C,KAAKmiC,KAAKA,KAEpCllC,KAAK+mC,QAAS,KAQlByuE,OAAQ,YAEAx1G,KAAK+mC,QAAW/mC,KAAK26G,UAKzB36G,KAAK+5G,cAAgB/5G,KAAK+C,KAAKmiC,KAAKA,KAEpCllC,KAAK+mC,QAAS,IASlB80E,aAAc,SAAUC,GAEpB,IAAK,IAAIp5G,EAAI,EAAGA,EAAI1C,KAAKm0C,OAAOxxC,OAAQD,IAEpC,IAAK1C,KAAKm0C,OAAOzxC,GAAGuyG,cACpB,CAEI,IAAIpkF,EAAI7wB,KAAKm0C,OAAOzxC,GAAG+4G,KAAOK,EAE1BjrF,EAAI,IAEJA,EAAI,GAIR7wB,KAAKm0C,OAAOzxC,GAAG+4G,KAAOz7G,KAAKg7G,KAAOnqF,EAI1C,IAAIxtB,EAAIrD,KAAK66G,SAAWiB,EAIpB97G,KAAK66G,SAFLx3G,EAAI,EAEYrD,KAAKg7G,KAILh7G,KAAKg7G,KAAO33G,GASpCwlC,OAAQ,WAEJ,GAAK7oC,KAAK+mC,OAAV,CAKA,IAAI8V,EAAM78C,KAAK+C,KAAKmiC,KAAKA,KACzBllC,KAAK+6G,aAAel+D,EAAM78C,KAAKg7G,KAC/Bh7G,KAAKg7G,KAAOn+D,EAEZ78C,KAAK67G,aAAa77G,KAAK+5G,eAEvB/5G,KAAK+mC,QAAS,EACd/mC,KAAK87C,aAAc,IAQvB25D,QAAS,WAEDz1G,KAAK87C,aAML97C,KAAK6oC,UAUbgB,UAAW,WAEP7pC,KAAKo2G,WAAWvsE,YAChB7pC,KAAKm0C,OAAOxxC,OAAS,EACrB3C,KAAKgvC,KAAO,EACZhvC,KAAKivC,GAAK,GASdzsC,QAAS,WAELxC,KAAKo2G,WAAWvsE,YAChB7pC,KAAK26G,SAAU,EACf36G,KAAK46G,SAAU,EACf56G,KAAKm0C,UACLn0C,KAAKgvC,KAAO,EACZhvC,KAAKivC,GAAK,IAUlBjoC,OAAOyF,eAAejL,EAAOk4G,MAAMp3G,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAK66G,YAUpB7zG,OAAOyF,eAAejL,EAAOk4G,MAAMp3G,UAAW,YAE1C4E,IAAK,WAED,OAAIlH,KAAK26G,SAAW36G,KAAK66G,SAAW76G,KAAKg7G,KAE9Bh7G,KAAK66G,SAAW76G,KAAKg7G,KAIrB,KAWnBh0G,OAAOyF,eAAejL,EAAOk4G,MAAMp3G,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKm0C,OAAOxxC,UAU3BqE,OAAOyF,eAAejL,EAAOk4G,MAAMp3G,UAAW,MAE1C4E,IAAK,WAED,OAAIlH,KAAK26G,QAEE36G,KAAKg7G,KAAOh7G,KAAK65G,SAAW75G,KAAK+6G,YAIjC,KAWnB/zG,OAAOyF,eAAejL,EAAOk4G,MAAMp3G,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK26G,QAEY,KAAV36G,KAAKw4G,GAIL,KAMnBh3G,EAAOk4G,MAAMp3G,UAAUC,YAAcf,EAAOk4G,MA6B5Cl4G,EAAOk6G,WAAa,SAAUxB,EAAO5iD,EAAOmkD,EAAMD,EAAarwC,EAAMx2B,EAAU1L,EAAiB9Y,GAO5FnwB,KAAKk6G,MAAQA,EAKbl6G,KAAKs3D,MAAQA,EAKbt3D,KAAKy7G,KAAOA,EAKZz7G,KAAKw7G,YAAcA,EAAc,EAKjCx7G,KAAKmrE,KAAOA,EAKZnrE,KAAK20C,SAAWA,EAKhB30C,KAAKipC,gBAAkBA,EAKvBjpC,KAAKmwB,KAAOA,EAMZnwB,KAAKi1G,eAAgB,GAGzBzzG,EAAOk6G,WAAWp5G,UAAUC,YAAcf,EAAOk6G,WAgBjDl6G,EAAO4qE,iBAAmB,SAAU9oD,GAKhCtjB,KAAKsjB,OAASA,EAKdtjB,KAAK+C,KAAOugB,EAAOvgB,KASnB/C,KAAK+7G,aAAe,KAMpB/7G,KAAKg8G,YAAc,KAMnBh8G,KAAKi8G,iBAAkB,EAMvBj8G,KAAKk8G,UAAW,EAOhBl8G,KAAKm8G,WAAa,KAMlBn8G,KAAKo8G,UAMLp8G,KAAKq8G,kBAGT76G,EAAO4qE,iBAAiB9pE,WAYpBsvE,cAAe,SAAUE,EAAWzkE,GAEhC,QAAkB9G,IAAdurE,EAEA,OAAO,EAGX,GAAI9xE,KAAKk8G,SAGL,IAAK,IAAII,KAAQt8G,KAAKo8G,OAElBp8G,KAAKo8G,OAAOE,GAAMljB,gBAAgBtnB,GAsB1C,OAlBA9xE,KAAKm8G,WAAarqC,OAEJvrE,IAAV8G,GAAiC,OAAVA,EAEvBrN,KAAKqN,MAAQ,EAGI,iBAAVA,EAEPrN,KAAKyyE,UAAYplE,EAIjBrN,KAAKqN,MAAQA,EAGjBrN,KAAKk8G,UAAW,GAET,GAaXK,cAAe,SAAUzqC,EAAWzkE,GAIhC,GAFArN,KAAKm8G,WAAarqC,EAAU59C,QAExBl0B,KAAKk8G,SAGL,IAAK,IAAII,KAAQt8G,KAAKo8G,OAElBp8G,KAAKo8G,OAAOE,GAAMljB,gBAAgBp5F,KAAKm8G,YAoB/C,YAhBc51G,IAAV8G,GAAiC,OAAVA,EAEvBrN,KAAKqN,MAAQ,EAGI,iBAAVA,EAEPrN,KAAKyyE,UAAYplE,EAIjBrN,KAAKqN,MAAQA,EAGjBrN,KAAKk8G,UAAW,GAET,GAeXjjF,IAAK,SAAUjH,EAAMqpE,EAAQnwB,EAAWC,EAAMqxC,GAiC1C,OA/BAnhB,EAASA,MACTnwB,EAAYA,GAAa,QAEZ3kE,IAAT4kE,IAAsBA,GAAO,QAGT5kE,IAApBi2G,IAIIA,KAFAnhB,GAA+B,iBAAdA,EAAO,KAUhCr7F,KAAKq8G,iBAELr8G,KAAKm8G,WAAWM,gBAAgBphB,EAAQmhB,EAAiBx8G,KAAKq8G,eAE9Dr8G,KAAKo8G,OAAOpqF,GAAQ,IAAIxwB,EAAOwpE,UAAUhrE,KAAK+C,KAAM/C,KAAKsjB,OAAQ0O,EAAMhyB,KAAKm8G,WAAYn8G,KAAKq8G,cAAenxC,EAAWC,GAEvHnrE,KAAKg8G,YAAch8G,KAAKo8G,OAAOpqF,GAE3BhyB,KAAKsjB,OAAOe,gBAEZrkB,KAAKsjB,OAAOkvD,gBAAiB,GAG1BxyE,KAAKo8G,OAAOpqF,IAWvB0qF,eAAgB,SAAUrhB,EAAQmhB,QAENj2G,IAApBi2G,IAAiCA,GAAkB,GAEvD,IAAK,IAAI95G,EAAI,EAAGA,EAAI24F,EAAO14F,OAAQD,IAE/B,IAAwB,IAApB85G,GAEA,GAAInhB,EAAO34F,GAAK1C,KAAKm8G,WAAWxjE,MAE5B,OAAO,OAIf,IAAkD,IAA9C34C,KAAKm8G,WAAWQ,eAAethB,EAAO34F,IAEtC,OAAO,EAIf,OAAO,GAmBXuoE,KAAM,SAAUj5C,EAAMk5C,EAAWC,EAAMC,GAEnC,GAAIprE,KAAKo8G,OAAOpqF,GAEZ,OAAIhyB,KAAKg8G,cAAgBh8G,KAAKo8G,OAAOpqF,IAEE,IAA/BhyB,KAAKg8G,YAAYY,WAEjB58G,KAAKg8G,YAAYj1E,QAAS,EACnB/mC,KAAKg8G,YAAY/wC,KAAKC,EAAWC,EAAMC,IAG3CprE,KAAKg8G,aAIRh8G,KAAKg8G,aAAeh8G,KAAKg8G,YAAYY,WAErC58G,KAAKg8G,YAAY7vG,OAGrBnM,KAAKg8G,YAAch8G,KAAKo8G,OAAOpqF,GAC/BhyB,KAAKg8G,YAAYj1E,QAAS,EAC1B/mC,KAAK+7G,aAAe/7G,KAAKg8G,YAAYD,aAC9B/7G,KAAKg8G,YAAY/wC,KAAKC,EAAWC,EAAMC,KAa1Dj/D,KAAM,SAAU6lB,EAAMk7C,QAEC3mE,IAAf2mE,IAA4BA,GAAa,IAEzCltE,KAAKg8G,aAAgC,iBAAThqF,GAAqBA,IAAShyB,KAAKg8G,YAAYhqF,MAE3EhyB,KAAKg8G,YAAY7vG,KAAK+gE,IAW9BpoC,OAAQ,WAEJ,QAAI9kC,KAAKi8G,kBAAoBj8G,KAAKsjB,OAAOpiB,cAKrClB,KAAKg8G,cAAeh8G,KAAKg8G,YAAYl3E,YAErC9kC,KAAK+7G,aAAe/7G,KAAKg8G,YAAYD,cAC9B,KAYf5mE,KAAM,SAAUT,GAER10C,KAAKg8G,cAELh8G,KAAKg8G,YAAY7mE,KAAKT,GACtB10C,KAAK+7G,aAAe/7G,KAAKg8G,YAAYD,eAU7C3mE,SAAU,SAAUV,GAEZ10C,KAAKg8G,cAELh8G,KAAKg8G,YAAY5mE,SAASV,GAC1B10C,KAAK+7G,aAAe/7G,KAAKg8G,YAAYD,eAW7Cc,aAAc,SAAU7qF,GAEpB,MAAoB,iBAATA,GAEHhyB,KAAKo8G,OAAOpqF,GAELhyB,KAAKo8G,OAAOpqF,GAIpB,MAQX8qF,aAAc,aAgBdt6G,QAAS,WAED85G,EAAO,KAEX,IAAK,IAAIA,KAAQt8G,KAAKo8G,OAEdp8G,KAAKo8G,OAAO/qF,eAAeirF,IAE3Bt8G,KAAKo8G,OAAOE,GAAM95G,UAI1BxC,KAAKo8G,UACLp8G,KAAKq8G,iBACLr8G,KAAKm8G,WAAa,KAClBn8G,KAAKg8G,YAAc,KACnBh8G,KAAK+7G,aAAe,KACpB/7G,KAAKsjB,OAAS,KACdtjB,KAAK+C,KAAO,OAKpBvB,EAAO4qE,iBAAiB9pE,UAAUC,YAAcf,EAAO4qE,iBAOvDplE,OAAOyF,eAAejL,EAAO4qE,iBAAiB9pE,UAAW,aAErD4E,IAAK,WAED,OAAOlH,KAAKm8G,cAUpBn1G,OAAOyF,eAAejL,EAAO4qE,iBAAiB9pE,UAAW,cAErD4E,IAAK,WAED,OAAOlH,KAAKm8G,WAAWxjE,SAS/B3xC,OAAOyF,eAAejL,EAAO4qE,iBAAiB9pE,UAAW,UAErD4E,IAAK,WAED,OAAOlH,KAAKg8G,YAAY1F,UAG5BnvG,IAAK,SAAUC,GAEXpH,KAAKg8G,YAAYj1E,OAAS3/B,KASlCJ,OAAOyF,eAAejL,EAAO4qE,iBAAiB9pE,UAAW,QAErD4E,IAAK,WAED,OAAQlH,KAAgB,YAAIA,KAAKg8G,YAAYhqF,UAAOzrB,KAS5DS,OAAOyF,eAAejL,EAAO4qE,iBAAiB9pE,UAAW,SAErD4E,IAAK,WAED,OAAQlH,KAAiB,aAAIA,KAAK+7G,aAAanzG,WAAQrC,GAG3DY,IAAK,SAAUC,GAEX,IAAI21G,EAEiB,iBAAV31G,GAAsBpH,KAAKm8G,aAAeY,EAAW/8G,KAAKm8G,WAAWa,SAAS51G,MAErFpH,KAAK+7G,aAAegB,EACpB/8G,KAAKsjB,OAAOyH,SAAS/qB,KAAK+7G,kBAUtC/0G,OAAOyF,eAAejL,EAAO4qE,iBAAiB9pE,UAAW,aAErD4E,IAAK,WAED,OAAQlH,KAAiB,aAAIA,KAAK+7G,aAAa/pF,UAAOzrB,GAG1DY,IAAK,SAAUC,GAEX,IAAI21G,EAEiB,iBAAV31G,GAAsBpH,KAAKm8G,aAAeY,EAAW/8G,KAAKm8G,WAAWc,eAAe71G,KAE3FpH,KAAK+7G,aAAegB,EACpB/8G,KAAKk9G,YAAcl9G,KAAK+7G,aAAanzG,MACrC5I,KAAKsjB,OAAOyH,SAAS/qB,KAAK+7G,eAI1Bz7G,QAAQ+Z,KAAK,yBAA2BjT,MA2BpD5F,EAAOwpE,UAAY,SAAUjoE,EAAM1B,EAAQ2wB,EAAM8/C,EAAWupB,EAAQnwB,EAAWC,QAE9D5kE,IAAT4kE,IAAsBA,GAAO,GAKjCnrE,KAAK+C,KAAOA,EAMZ/C,KAAKmuE,QAAU9sE,EAMfrB,KAAKm8G,WAAarqC,EAKlB9xE,KAAKgyB,KAAOA,EAMZhyB,KAAKm9G,WACLn9G,KAAKm9G,QAAUn9G,KAAKm9G,QAAQ9sF,OAAOgrE,GAKnCr7F,KAAKs3D,MAAQ,IAAO4T,EAKpBlrE,KAAKmrE,KAAOA,EAKZnrE,KAAKo9G,UAAY,EAMjBp9G,KAAKorE,gBAAiB,EAMtBprE,KAAKq9G,YAAa,EAMlBr9G,KAAK48G,WAAY,EAMjB58G,KAAKs2G,UAAW,EAOhBt2G,KAAKs9G,gBAAkB,EAOvBt9G,KAAKk9G,YAAc,EAOnBl9G,KAAKu9G,WAAa,EAOlBv9G,KAAKw9G,WAAa,EAKlBx9G,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQn9G,KAAKk9G,cAK/Dl9G,KAAKg2G,QAAU,IAAIx0G,EAAO6gC,OAW1BriC,KAAKy9G,SAAW,KAKhBz9G,KAAKo2G,WAAa,IAAI50G,EAAO6gC,OAK7BriC,KAAKi2G,OAAS,IAAIz0G,EAAO6gC,OAMzBriC,KAAK09G,YAAa,EAGlB19G,KAAK+C,KAAK2lC,QAAQzP,IAAIj5B,KAAK0oC,QAAS1oC,MACpCA,KAAK+C,KAAK6lC,SAAS3P,IAAIj5B,KAAK4oC,SAAU5oC,OAG1CwB,EAAOwpE,UAAU1oE,WAcb2oE,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,iBAAdF,IAGPlrE,KAAKs3D,MAAQ,IAAO4T,GAGJ,kBAATC,IAGPnrE,KAAKmrE,KAAOA,QAGc,IAAnBC,IAGPprE,KAAKorE,eAAiBA,GAG1BprE,KAAK48G,WAAY,EACjB58G,KAAKq9G,YAAa,EAClBr9G,KAAK+mC,QAAS,EACd/mC,KAAKo9G,UAAY,EAEjBp9G,KAAK29G,eAAiB39G,KAAK+C,KAAKmiC,KAAKA,KACrCllC,KAAK49G,eAAiB59G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKs3D,MAEjDt3D,KAAKk9G,YAAcl9G,KAAK09G,WAAa19G,KAAKm9G,QAAQx6G,OAAS,EAAI,EAC/D3C,KAAK69G,oBAAmB,GAAO,GAE/B79G,KAAKmuE,QAAQh6B,OAAO2pE,0BAA0B99G,KAAKmuE,QAASnuE,MAE5DA,KAAKg2G,QAAQ5wE,SAASplC,KAAKmuE,QAASnuE,MAEpCA,KAAKmuE,QAAQ9C,WAAW2wC,YAAch8G,KACtCA,KAAKmuE,QAAQ9C,WAAW0wC,aAAe/7G,KAAK+7G,aAErC/7G,MAQXqpC,QAAS,WAELrpC,KAAK48G,WAAY,EACjB58G,KAAKq9G,YAAa,EAClBr9G,KAAK+mC,QAAS,EACd/mC,KAAKo9G,UAAY,EAEjBp9G,KAAK29G,eAAiB39G,KAAK+C,KAAKmiC,KAAKA,KACrCllC,KAAK49G,eAAiB59G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKs3D,MAEjDt3D,KAAKk9G,YAAc,EAEnBl9G,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQn9G,KAAKk9G,cAE/Dl9G,KAAKmuE,QAAQpjD,SAAS/qB,KAAK+7G,cAE3B/7G,KAAKmuE,QAAQ9C,WAAW2wC,YAAch8G,KACtCA,KAAKmuE,QAAQ9C,WAAW0wC,aAAe/7G,KAAK+7G,aAE5C/7G,KAAKg2G,QAAQ5wE,SAASplC,KAAKmuE,QAASnuE,OASxCse,QAAS,WAIL,OAFAte,KAAK24G,UAAY34G,KAAK24G,SAEf34G,MAWX+9G,YAAa,WAIT,OAFA/9G,KAAKo2G,WAAWvqE,QAAQ7rC,KAAKse,QAASte,MAE/BA,KAAKse,WAUhByM,SAAU,SAAUizF,EAASC,GAEzB,IAAIC,EAQJ,QAN2B33G,IAAvB03G,IAEAA,GAAqB,GAIF,iBAAZD,EAEP,IAASt7G,EAAI,EAAGA,EAAI1C,KAAKm9G,QAAQx6G,OAAQD,IAEjC1C,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQz6G,IAAIsvB,OAASgsF,IAEnDE,EAAax7G,QAIpB,GAAuB,iBAAZs7G,EAEZ,GAAIC,EAEAC,EAAaF,OAIb,IAAK,IAAIt7G,EAAI,EAAGA,EAAI1C,KAAKm9G,QAAQx6G,OAAQD,IAEjC1C,KAAKm9G,QAAQz6G,KAAOs7G,IAEpBE,EAAax7G,GAM7B,GAAIw7G,EACJ,CAEI,IAAIC,EAAoBn+G,KAAK09G,YAAc,EAAI,EAC/C19G,KAAKk9G,YAAcgB,EAAaC,EAGhCn+G,KAAK49G,eAAiB59G,KAAK+C,KAAKmiC,KAAKA,KAErCllC,KAAK8kC,WAYb34B,KAAM,SAAU+gE,EAAYkxC,QAEL73G,IAAf2mE,IAA4BA,GAAa,QACpB3mE,IAArB63G,IAAkCA,GAAmB,GAEzDp+G,KAAK48G,WAAY,EACjB58G,KAAKq9G,YAAa,EAClBr9G,KAAK+mC,QAAS,EAEVmmC,IAEAltE,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQ,IAC1Dn9G,KAAKmuE,QAAQpjD,SAAS/qB,KAAK+7G,eAG3BqC,IAEAp+G,KAAKmuE,QAAQh6B,OAAOkqE,6BAA6Br+G,KAAKmuE,QAASnuE,MAC/DA,KAAKo2G,WAAWhxE,SAASplC,KAAKmuE,QAASnuE,QAS/C0oC,QAAS,WAED1oC,KAAK48G,YAEL58G,KAAKu9G,WAAav9G,KAAK49G,eAAiB59G,KAAK+C,KAAKmiC,KAAKA,OAS/D0D,SAAU,WAEF5oC,KAAK48G,YAEL58G,KAAK49G,eAAiB59G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKu9G,aASzDz4E,OAAQ,WAEJ,GAAI9kC,KAAKs2G,SAEL,OAAO,EAGX,IAAIz5D,EAAM78C,KAAK+C,KAAKmiC,KAAKA,KACrBo5E,EAAOzhE,EAAM78C,KAAK49G,eAEtB,SAAI59G,KAAK48G,WAAa0B,GAAQ,KAE1Bt+G,KAAKw9G,WAAa,EAClBx9G,KAAKu9G,WAAae,EAClBt+G,KAAK29G,eAAiB9gE,EAElB78C,KAAKu9G,WAAav9G,KAAKs3D,QAGvBt3D,KAAKw9G,WAAa95G,KAAKmsB,MAAM7vB,KAAKu9G,WAAav9G,KAAKs3D,OACpDt3D,KAAKu9G,YAAev9G,KAAKw9G,WAAax9G,KAAKs3D,OAI/Ct3D,KAAK49G,eAAiB/gE,GAAO78C,KAAKs3D,MAAQt3D,KAAKu9G,YAE3Cv9G,KAAK09G,WAEL19G,KAAKk9G,aAAel9G,KAAKw9G,WAIzBx9G,KAAKk9G,aAAel9G,KAAKw9G,YAGxBx9G,KAAK09G,YAAc19G,KAAKk9G,aAAel9G,KAAKm9G,QAAQx6G,QAAU3C,KAAK09G,YAAc19G,KAAKk9G,cAAgB,EAEnGl9G,KAAKmrE,MAGLnrE,KAAKk9G,YAAcx5G,KAAKizB,IAAI32B,KAAKk9G,aAAel9G,KAAKm9G,QAAQx6G,OAEzD3C,KAAK09G,aAEL19G,KAAKk9G,YAAcl9G,KAAKm9G,QAAQx6G,OAAS,EAAI3C,KAAKk9G,aAGtDl9G,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQn9G,KAAKk9G,cAG3Dl9G,KAAK+7G,cAEL/7G,KAAKmuE,QAAQpjD,SAAS/qB,KAAK+7G,cAG/B/7G,KAAKo9G,YACLp9G,KAAKmuE,QAAQh6B,OAAOoqE,yBAAyBv+G,KAAKmuE,QAASnuE,MAC3DA,KAAKi2G,OAAO7wE,SAASplC,KAAKmuE,QAASnuE,OAE/BA,KAAKy9G,WAELz9G,KAAKy9G,SAASr4E,SAASplC,KAAMA,KAAK+7G,gBAGzB/7G,KAAKm8G,cASlBn8G,KAAKoqB,YACE,GAKJpqB,KAAK69G,oBAAmB,KAmB3CA,mBAAoB,SAAUW,EAAcC,GAIxC,QAFiBl4G,IAAbk4G,IAA0BA,GAAW,IAEpCz+G,KAAKm8G,WAGN,OAAO,EAIX,IAAI7lB,EAAMt2F,KAAK+7G,aAAanzG,MAS5B,OAPA5I,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQn9G,KAAKk9G,cAE3Dl9G,KAAK+7G,eAAiB0C,GAAanoB,IAAQt2F,KAAK+7G,aAAanzG,QAE7D5I,KAAKmuE,QAAQpjD,SAAS/qB,KAAK+7G,eAG3B/7G,KAAKy9G,WAAYe,IAEjBx+G,KAAKy9G,SAASr4E,SAASplC,KAAMA,KAAK+7G,gBAGzB/7G,KAAKm8G,aActBhnE,KAAM,SAAUT,QAEKnuC,IAAbmuC,IAA0BA,EAAW,GAEzC,IAAIrnC,EAAQrN,KAAKk9G,YAAcxoE,EAE3BrnC,GAASrN,KAAKm9G,QAAQx6G,SAElB3C,KAAKmrE,KAEL99D,GAASrN,KAAKm9G,QAAQx6G,OAItB0K,EAAQrN,KAAKm9G,QAAQx6G,OAAS,GAIlC0K,IAAUrN,KAAKk9G,cAEfl9G,KAAKk9G,YAAc7vG,EACnBrN,KAAK69G,oBAAmB,KAUhCzoE,SAAU,SAAUV,QAECnuC,IAAbmuC,IAA0BA,EAAW,GAEzC,IAAIrnC,EAAQrN,KAAKk9G,YAAcxoE,EAE3BrnC,EAAQ,IAEJrN,KAAKmrE,KAEL99D,EAAQrN,KAAKm9G,QAAQx6G,OAAS0K,EAI9BA,KAIJA,IAAUrN,KAAKk9G,cAEfl9G,KAAKk9G,YAAc7vG,EACnBrN,KAAK69G,oBAAmB,KAUhCzkB,gBAAiB,SAAUtnB,GAEvB9xE,KAAKm8G,WAAarqC,EAClB9xE,KAAK+7G,aAAe/7G,KAAKm8G,WAAan8G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQn9G,KAAKk9G,YAAcl9G,KAAKm9G,QAAQx6G,SAAW,MAQ3HH,QAAS,WAEAxC,KAAKm8G,aAMVn8G,KAAK+C,KAAK2lC,QAAQvsB,OAAOnc,KAAK0oC,QAAS1oC,MACvCA,KAAK+C,KAAK6lC,SAASzsB,OAAOnc,KAAK4oC,SAAU5oC,MAEzCA,KAAK+C,KAAO,KACZ/C,KAAKmuE,QAAU,KACfnuE,KAAKm9G,QAAU,KACfn9G,KAAKm8G,WAAa,KAClBn8G,KAAK+7G,aAAe,KACpB/7G,KAAK48G,WAAY,EAEjB58G,KAAKg2G,QAAQ5pE,UACbpsC,KAAKi2G,OAAO7pE,UACZpsC,KAAKo2G,WAAWhqE,UAEZpsC,KAAKy9G,UAELz9G,KAAKy9G,SAASrxE,YAUtBhiB,SAAU,WAENpqB,KAAKk9G,YAAcl9G,KAAKm9G,QAAQx6G,OAAS,EACzC3C,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQn9G,KAAKk9G,cAC/Dl9G,KAAK69G,oBAAmB,GAExB79G,KAAK48G,WAAY,EACjB58G,KAAKq9G,YAAa,EAClBr9G,KAAK+mC,QAAS,EAEd/mC,KAAKmuE,QAAQh6B,OAAOkqE,6BAA6Br+G,KAAKmuE,QAASnuE,MAE/DA,KAAKo2G,WAAWhxE,SAASplC,KAAKmuE,QAASnuE,MAEnCA,KAAKorE,gBAELprE,KAAKmuE,QAAQn3B,SAMzBx1C,EAAOwpE,UAAU1oE,UAAUC,YAAcf,EAAOwpE,UAMhDhkE,OAAOyF,eAAejL,EAAOwpE,UAAU1oE,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKs2G,UAGhBnvG,IAAK,SAAUC,GAEXpH,KAAKs2G,SAAWlvG,EAEZA,EAGApH,KAAKs9G,gBAAkBt9G,KAAK+C,KAAKmiC,KAAKA,KAKlCllC,KAAK48G,YAEL58G,KAAK49G,eAAiB59G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKs3D,UAWjEtwD,OAAOyF,eAAejL,EAAOwpE,UAAU1oE,UAAW,YAE9C4E,IAAK,WAED,OAAOlH,KAAK09G,YAGhBv2G,IAAK,SAAUC,GAEXpH,KAAK09G,WAAat2G,KAU1BJ,OAAOyF,eAAejL,EAAOwpE,UAAU1oE,UAAW,cAE9C4E,IAAK,WAED,OAAOlH,KAAKm9G,QAAQx6G,UAS5BqE,OAAOyF,eAAejL,EAAOwpE,UAAU1oE,UAAW,SAE9C4E,IAAK,WAED,OAA0B,OAAtBlH,KAAK+7G,aAEE/7G,KAAK+7G,aAAanzG,MAIlB5I,KAAKk9G,aAIpB/1G,IAAK,SAAUC,GAEXpH,KAAK+7G,aAAe/7G,KAAKm8G,WAAWa,SAASh9G,KAAKm9G,QAAQ/1G,IAEhC,OAAtBpH,KAAK+7G,eAEL/7G,KAAKk9G,YAAc91G,EACnBpH,KAAKmuE,QAAQpjD,SAAS/qB,KAAK+7G,cAEvB/7G,KAAKy9G,UAELz9G,KAAKy9G,SAASr4E,SAASplC,KAAMA,KAAK+7G,kBAWlD/0G,OAAOyF,eAAejL,EAAOwpE,UAAU1oE,UAAW,SAE9C4E,IAAK,WAED,OAAO,IAAOlH,KAAKs3D,OAGvBnwD,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAKs3D,MAAQ,IAAOlwD,MAUhCJ,OAAOyF,eAAejL,EAAOwpE,UAAU1oE,UAAW,gBAE9C4E,IAAK,WAED,OAA0B,OAAlBlH,KAAKy9G,UAGjBt2G,IAAK,SAAUC,GAEPA,GAA2B,OAAlBpH,KAAKy9G,SAEdz9G,KAAKy9G,SAAW,IAAIj8G,EAAO6gC,OAErBj7B,GAA2B,OAAlBpH,KAAKy9G,WAEpBz9G,KAAKy9G,SAASrxE,UACdpsC,KAAKy9G,SAAW,SAoB5Bj8G,EAAOwpE,UAAU0zC,mBAAqB,SAAUhV,EAAQp9F,EAAOH,EAAMsqF,EAAQkoB,QAE1Dp4G,IAAXkwF,IAAwBA,EAAS,IAErC,IAAI/gE,KACAroB,EAAQ,GAEZ,GAAIf,EAAQH,EAER,IAASzJ,EAAI4J,EAAO5J,GAAKyJ,EAAMzJ,IAY3B2K,EAAQq8F,GAPJr8F,EAHmB,iBAAZsxG,EAGCn9G,EAAOgwB,MAAM8B,IAAI5wB,EAAEkmB,WAAY+1F,EAAS,IAAK,GAI7Cj8G,EAAEkmB,YAGW6tE,EAEzB/gE,EAAO5tB,KAAKuF,QAKhB,IAAK,IAAI3K,EAAI4J,EAAO5J,GAAKyJ,EAAMzJ,IAY3B2K,EAAQq8F,GAPJr8F,EAHmB,iBAAZsxG,EAGCn9G,EAAOgwB,MAAM8B,IAAI5wB,EAAEkmB,WAAY+1F,EAAS,IAAK,GAI7Cj8G,EAAEkmB,YAGW6tE,EAEzB/gE,EAAO5tB,KAAKuF,GAIpB,OAAOqoB,GAqBXl0B,EAAO64E,MAAQ,SAAUzxE,EAAO7E,EAAGC,EAAGpG,EAAOC,EAAQm0B,GAKjDhyB,KAAK4I,MAAQA,EAKb5I,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAEK,IAAfmC,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAEzByC,QAAQ+Z,KAAK,wBAA0Bra,KAAKgyB,KAAO,mCAMvDhyB,KAAKgyB,KAAOA,EAKZhyB,KAAK63B,QAAUn0B,KAAKmsB,MAAMjyB,EAAQ,GAKlCoC,KAAK83B,QAAUp0B,KAAKmsB,MAAMhyB,EAAS,GAKnCmC,KAAKw1B,SAAWh0B,EAAOkC,KAAK8xB,SAAS,EAAG,EAAG53B,EAAOC,GAMlDmC,KAAK0O,SAAU,EAMf1O,KAAKmyE,SAAU,EAKfnyE,KAAKsyE,YAAc10E,EAKnBoC,KAAKuyE,YAAc10E,EAMnBmC,KAAKoyE,kBAAoB,EAMzBpyE,KAAKqyE,kBAAoB,EAMzBryE,KAAK4+G,kBAAoB,EAMzB5+G,KAAK6+G,kBAAoB,EAKzB7+G,KAAK0zB,MAAQ1zB,KAAK+D,EAAI/D,KAAKpC,MAK3BoC,KAAKs2B,OAASt2B,KAAKgE,EAAIhE,KAAKnC,QAGhC2D,EAAO64E,MAAM/3E,WAST6D,OAAQ,SAAUvI,EAAOC,GAErBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK63B,QAAUn0B,KAAKmsB,MAAMjyB,EAAQ,GAClCoC,KAAK83B,QAAUp0B,KAAKmsB,MAAMhyB,EAAS,GACnCmC,KAAKw1B,SAAWh0B,EAAOkC,KAAK8xB,SAAS,EAAG,EAAG53B,EAAOC,GAClDmC,KAAKsyE,YAAc10E,EACnBoC,KAAKuyE,YAAc10E,EACnBmC,KAAK0zB,MAAQ1zB,KAAK+D,EAAInG,EACtBoC,KAAKs2B,OAASt2B,KAAKgE,EAAInG,GAe3BihH,QAAS,SAAU3sC,EAAS4sC,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5Ep/G,KAAKmyE,QAAUA,EAEXA,IAEAnyE,KAAKsyE,YAAcysC,EACnB/+G,KAAKuyE,YAAcysC,EACnBh/G,KAAK63B,QAAUn0B,KAAKmsB,MAAMkvF,EAAc,GACxC/+G,KAAK83B,QAAUp0B,KAAKmsB,MAAMmvF,EAAe,GACzCh/G,KAAKoyE,kBAAoB6sC,EACzBj/G,KAAKqyE,kBAAoB6sC,EACzBl/G,KAAK4+G,kBAAoBO,EACzBn/G,KAAK6+G,kBAAoBO,IAWjClrF,MAAO,WAEH,IAAIwB,EAAS,IAAIl0B,EAAO64E,MAAMr6E,KAAK4I,MAAO5I,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKgyB,MAExF,IAAK,IAAIk+C,KAAQlwE,KAETA,KAAKqxB,eAAe6+C,KAEpBx6C,EAAOw6C,GAAQlwE,KAAKkwE,IAI5B,OAAOx6C,GAUX2pF,QAAS,SAAUpqF,GAWf,YATY1uB,IAAR0uB,EAEAA,EAAM,IAAIzzB,EAAOS,UAAUjC,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAI5Do3B,EAAIG,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAGxCo3B,IAKfzzB,EAAO64E,MAAM/3E,UAAUC,YAAcf,EAAO64E,MAc5C74E,EAAO04E,UAAY,WAMfl6E,KAAKm9G,WAMLn9G,KAAKs/G,gBAGT99G,EAAO04E,UAAU53E,WASb83E,SAAU,SAAU/sE,GAWhB,OATAA,EAAMzE,MAAQ5I,KAAKm9G,QAAQx6G,OAE3B3C,KAAKm9G,QAAQr1G,KAAKuF,GAEC,KAAfA,EAAM2kB,OAENhyB,KAAKs/G,YAAYjyG,EAAM2kB,MAAQ3kB,EAAMzE,OAGlCyE,GAUX2vG,SAAU,SAAUp0G,GAOhB,OALIA,GAAS5I,KAAKm9G,QAAQx6G,SAEtBiG,EAAQ,GAGL5I,KAAKm9G,QAAQv0G,IAUxBq0G,eAAgB,SAAUjrF,GAEtB,MAAsC,iBAA3BhyB,KAAKs/G,YAAYttF,GAEjBhyB,KAAKm9G,QAAQn9G,KAAKs/G,YAAYttF,IAGlC,MAUX2qF,eAAgB,SAAU3qF,GAEtB,OAA8B,MAA1BhyB,KAAKs/G,YAAYttF,IAczBkC,MAAO,WAKH,IAAK,IAHDwB,EAAS,IAAIl0B,EAAO04E,UAGfx3E,EAAI,EAAGA,EAAI1C,KAAKm9G,QAAQx6G,OAAQD,IAErCgzB,EAAOynF,QAAQr1G,KAAK9H,KAAKm9G,QAAQz6G,GAAGwxB,SAGxC,IAAK,IAAIlxB,KAAKhD,KAAKs/G,YAEXt/G,KAAKs/G,YAAYjuF,eAAeruB,KAEhC0yB,EAAO4pF,YAAYt8G,GAAKhD,KAAKs/G,YAAYt8G,IAIjD,OAAO0yB,GAYX6pF,cAAe,SAAUjzG,EAAO+O,EAAKqa,QAElBnvB,IAAXmvB,IAAwBA,MAE5B,IAAK,IAAIhzB,EAAI4J,EAAO5J,GAAK2Y,EAAK3Y,IAE1BgzB,EAAO5tB,KAAK9H,KAAKm9G,QAAQz6G,IAG7B,OAAOgzB,GAaX4lE,UAAW,SAAUD,EAAQmhB,EAAiB9mF,GAK1C,QAHwBnvB,IAApBi2G,IAAiCA,GAAkB,QACxCj2G,IAAXmvB,IAAwBA,WAEbnvB,IAAX80F,GAA0C,IAAlBA,EAAO14F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKm9G,QAAQx6G,OAAQD,IAGrCgzB,EAAO5tB,KAAK9H,KAAKm9G,QAAQz6G,SAM7B,IAAK,IAAIA,EAAI,EAAGA,EAAI24F,EAAO14F,OAAQD,IAG3B85G,EAGA9mF,EAAO5tB,KAAK9H,KAAKg9G,SAAS3hB,EAAO34F,KAKjCgzB,EAAO5tB,KAAK9H,KAAKi9G,eAAe5hB,EAAO34F,KAKnD,OAAOgzB,GAaX+mF,gBAAiB,SAAUphB,EAAQmhB,EAAiB9mF,GAKhD,QAHwBnvB,IAApBi2G,IAAiCA,GAAkB,QACxCj2G,IAAXmvB,IAAwBA,WAEbnvB,IAAX80F,GAA0C,IAAlBA,EAAO14F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKm9G,QAAQx6G,OAAQD,IAErCgzB,EAAO5tB,KAAK9H,KAAKm9G,QAAQz6G,GAAGkG,YAMhC,IAAK,IAAIlG,EAAI,EAAGA,EAAI24F,EAAO14F,OAAQD,IAG3B85G,GAAmBx8G,KAAKm9G,QAAQ9hB,EAAO34F,IAEvCgzB,EAAO5tB,KAAK9H,KAAKm9G,QAAQ9hB,EAAO34F,IAAIkG,OAGpC5I,KAAKi9G,eAAe5hB,EAAO34F,KAE3BgzB,EAAO5tB,KAAK9H,KAAKi9G,eAAe5hB,EAAO34F,IAAIkG,OAKvD,OAAO8sB,GAQXlzB,QAAS,WAELxC,KAAKm9G,QAAU,KACfn9G,KAAKs/G,YAAc,OAK3B99G,EAAO04E,UAAU53E,UAAUC,YAAcf,EAAO04E,UAOhDlzE,OAAOyF,eAAejL,EAAO04E,UAAU53E,UAAW,SAE9C4E,IAAK,WAED,OAAOlH,KAAKm9G,QAAQx6G,UAiB5BnB,EAAOg+G,iBAkBHC,YAAa,SAAU18G,EAAMiQ,EAAKurF,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,QAEjEt5G,IAAbm5G,IAA0BA,GAAY,QAC3Bn5G,IAAXo5G,IAAwBA,EAAS,QACrBp5G,IAAZq5G,IAAyBA,EAAU,QACpBr5G,IAAfs5G,IAA4BA,EAAa,GAE7C,IAAI5tC,EAAMj/D,EAWV,GATmB,iBAARA,EAEPi/D,EAAMlvE,EAAKiX,MAAMk4D,SAASl/D,GAI1BA,EAAMi/D,EAAIjgD,KAGF,OAARigD,EAEA,OAAO,KAGX,GAAIssB,GAAc,GAAKC,GAAe,EAKlC,OAHAl+F,QAAQ+Z,KAAK,gGACTrH,EAAKurF,EAAYC,GAEd,KAGX,IAAI5gG,EAAQq0E,EAAIr0E,MACZC,EAASo0E,EAAIp0E,OAEjB,GAAc,IAAVD,GAA0B,IAAXC,EAIf,OAFAyC,QAAQ+Z,KAAK,6EAAgFrH,EAAKpV,EAAOC,GAElG,KAGX,GAAID,EAAQ2gG,GAAc1gG,EAAS2gG,EAK/B,OAHAl+F,QAAQ+Z,KAAK,gIACTrH,EAAKpV,EAAOC,EAAQ0gG,EAAYC,GAE7B,KAGX,IAAIshB,EAAMp8G,KAAKmsB,OAAOjyB,EAAQ+hH,IAAWphB,EAAaqhB,IAClDG,EAASr8G,KAAKmsB,OAAOhyB,EAAS8hH,IAAWnhB,EAAcohB,IACvDjnE,EAAQmnE,EAAMC,EACdC,EAAiBrnE,EACjBsnE,EAAgBtnE,EAAQ,EACxBunE,EAAa,EACbC,EAAYF,EAEhB,GAAIJ,EAAalnE,GAASknE,GAAclnE,EAKpC,OAHAr4C,QAAQ+Z,KAAK,6FACTrH,EAAK6sG,EAAYlnE,GAEd,KAqBX,GAlBI+mE,GAAY,IAGZS,GADAxnE,EAAQ+mE,GACY,GAGpBI,EAAM,GAENx/G,QAAQ+Z,KAAK,mIACTrH,EAAKpV,EAAO2gG,EAAaohB,EAASC,EAASrhB,EAAYohB,EAAQC,GAGnEG,EAAS,GAETz/G,QAAQ+Z,KAAK,qIACTrH,EAAKnV,EAAQ2gG,EAAcmhB,EAASC,EAASphB,EAAamhB,EAAQC,GAGnD,IAAnBI,EAIA,OAFA1/G,QAAQ+Z,KAAK,qEAAwErH,GAE9E,KAkBX,GAfI6sG,EAAa,EAKbM,GAFAD,EAAaL,IACblnE,EAAQj1C,KAAK41B,IAAIqf,EAAOqnE,EAAiBH,IACR,EAE5BA,EAAa,IAKlBK,GAFAC,EAAYF,EAAgBJ,IAC5BlnE,EAAQj1C,KAAK41B,IAAIqf,EAAOqnE,EAAiBH,IACR,GAGjCK,EAAa,EAIb,OAFA5/G,QAAQ+Z,KAAK,mDAAoD6lG,EAAYD,GAEtE,KAGX,GAAIE,EAAYF,EAIZ,OAFA3/G,QAAQ+Z,KAAK,kDAAmD8lG,EAAWF,GAEpE,KASX,IAAK,IALD7rG,EAAO,IAAI5S,EAAO04E,UAClBn2E,EAAI47G,EACJ37G,EAAI27G,EACJzB,EAAa,EAERx7G,EAAI,EAAGA,EAAIs9G,KAEZt9G,EAAIy9G,GAFwBz9G,IAO5BA,GAAKw9G,GAEL9rG,EAAKgmE,SAAS,IAAI54E,EAAO64E,MAAM6jC,IAAcn6G,EAAGC,EAAGu6F,EAAYC,EAAa,MAGhFz6F,GAAKw6F,EAAaqhB,GAEVrhB,EAAa3gG,IAEjBmG,EAAI47G,EACJ37G,GAAKw6F,EAAcohB,GAI3B,OAAOxrG,GAWXgsG,SAAU,SAAUr9G,EAAMs9G,GAGtB,IAAKA,EAAKhlB,OAIN,OAFA/6F,QAAQ+Z,KAAK,kGACb/Z,QAAQ+P,IAAIgwG,GAWhB,IAAK,IAFDC,EAJAlsG,EAAO,IAAI5S,EAAO04E,UAGlBmhB,EAASglB,EAAKhlB,OAGT34F,EAAI,EAAGA,EAAI24F,EAAO14F,OAAQD,IAE/B49G,EAAWlsG,EAAKgmE,SAAS,IAAI54E,EAAO64E,MAChC33E,EACA24F,EAAO34F,GAAG2K,MAAMtJ,EAChBs3F,EAAO34F,GAAG2K,MAAMrJ,EAChBq3F,EAAO34F,GAAG2K,MAAMgI,EAChBgmF,EAAO34F,GAAG2K,MAAMkX,EAChB82E,EAAO34F,GAAG69G,WAGVllB,EAAO34F,GAAGyvE,SAEVmuC,EAASxB,QACLzjB,EAAO34F,GAAGyvE,QACVkpB,EAAO34F,GAAG89G,WAAWnrG,EACrBgmF,EAAO34F,GAAG89G,WAAWj8F,EACrB82E,EAAO34F,GAAG+9G,iBAAiB18G,EAC3Bs3F,EAAO34F,GAAG+9G,iBAAiBz8G,EAC3Bq3F,EAAO34F,GAAG+9G,iBAAiBprG,EAC3BgmF,EAAO34F,GAAG+9G,iBAAiBl8F,GAI/B82E,EAAO34F,GAAGgM,UAEV4xG,EAAS5xG,SAAU,GAI3B,OAAO0F,GAWXssG,cAAe,SAAU39G,EAAMs9G,GAgB3B,IAbkB,SAAU,YAAY,aAAa,YAAa,aAExD1vF,QAAQ,SAAU3d,GAExB,IAAKqtG,EAAKrtG,GAIN,OAFA1S,QAAQ+Z,KAAK,oFAAsFrH,EAAM,eACzG1S,QAAQ+P,IAAIgwG,KAMO,IAAvBA,EAAKM,OAAOh+G,OAIZ,OAFArC,QAAQ+Z,KAAK,wGACb/Z,QAAQ+P,IAAIgwG,GAYhB,IAAK,IARDjsG,EAAO,IAAI5S,EAAO04E,UAElB0mC,EAAaP,EAAKO,WAClBC,EAAYR,EAAKQ,UAEjBxlB,EAASglB,EAAKM,OAAO,GAAGG,MAGnBp+G,EAAI,EAAGA,EAAI24F,EAAO14F,OAAQD,IAEpB0R,EAAKgmE,SAAS,IAAI54E,EAAO64E,MAChC33E,EACA24F,EAAO34F,GAAGqB,EACVs3F,EAAO34F,GAAGsB,EACV68G,EACAD,EACA,SAAWl+G,IAINo8G,SAAQ,GAGrB,OAAO1qG,GAWX2sG,aAAc,SAAUh+G,EAAMs9G,GAG1B,IAAKA,EAAKhlB,OAIN,OAFA/6F,QAAQ+Z,KAAK,uGACb/Z,QAAQ+P,IAAIgwG,GAKhB,IAIIC,EAJAlsG,EAAO,IAAI5S,EAAO04E,UAGlBmhB,EAASglB,EAAKhlB,OAEd34F,EAAI,EAER,IAAK,IAAIsQ,KAAOqoF,EAEZilB,EAAWlsG,EAAKgmE,SAAS,IAAI54E,EAAO64E,MAChC33E,EACA24F,EAAOroF,GAAK3F,MAAMtJ,EAClBs3F,EAAOroF,GAAK3F,MAAMrJ,EAClBq3F,EAAOroF,GAAK3F,MAAMgI,EAClBgmF,EAAOroF,GAAK3F,MAAMkX,EAClBvR,IAGAqoF,EAAOroF,GAAKm/D,SAEZmuC,EAASxB,QACLzjB,EAAOroF,GAAKm/D,QACZkpB,EAAOroF,GAAKwtG,WAAWnrG,EACvBgmF,EAAOroF,GAAKwtG,WAAWj8F,EACvB82E,EAAOroF,GAAKytG,iBAAiB18G,EAC7Bs3F,EAAOroF,GAAKytG,iBAAiBz8G,EAC7Bq3F,EAAOroF,GAAKytG,iBAAiBprG,EAC7BgmF,EAAOroF,GAAKytG,iBAAiBl8F,GAIjC82E,EAAOroF,GAAKtE,UAEZ4xG,EAAS5xG,SAAU,GAGvBhM,IAGJ,OAAO0R,GAWX4sG,QAAS,SAAUj+G,EAAMk+G,GAGrB,GAAKA,EAAIC,qBAAqB,gBAA9B,CAsBA,IAAK,IAbDZ,EAEAtuF,EACA3kB,EACAtJ,EACAC,EACApG,EACAC,EACAsjH,EACAC,EACA7iB,EACAC,EAbApqF,EAAO,IAAI5S,EAAO04E,UAClBmhB,EAAS4lB,EAAIC,qBAAqB,cAc7Bx+G,EAAI,EAAGA,EAAI24F,EAAO14F,OAAQD,IAI/BsvB,GAFA3kB,EAAQguF,EAAO34F,GAAG+O,YAELugB,KAAK5qB,MAClBrD,EAAIovB,SAAS9lB,EAAMtJ,EAAEqD,MAAO,IAC5BpD,EAAImvB,SAAS9lB,EAAMrJ,EAAEoD,MAAO,IAC5BxJ,EAAQu1B,SAAS9lB,EAAMzP,MAAMwJ,MAAO,IACpCvJ,EAASs1B,SAAS9lB,EAAMxP,OAAOuJ,MAAO,IAEtC+5G,EAAS,KACTC,EAAS,KAEL/zG,EAAM8zG,SAENA,EAASz9G,KAAKizB,IAAIxD,SAAS9lB,EAAM8zG,OAAO/5G,MAAO,KAC/Cg6G,EAAS19G,KAAKizB,IAAIxD,SAAS9lB,EAAM+zG,OAAOh6G,MAAO,KAC/Cm3F,EAAaprE,SAAS9lB,EAAMkxF,WAAWn3F,MAAO,IAC9Co3F,EAAcrrE,SAAS9lB,EAAMmxF,YAAYp3F,MAAO,KAGpDk5G,EAAWlsG,EAAKgmE,SAAS,IAAI54E,EAAO64E,MAAM33E,EAAGqB,EAAGC,EAAGpG,EAAOC,EAAQm0B,IAGnD,OAAXmvF,GAA8B,OAAXC,GAEnBd,EAASxB,SAAQ,EAAMlhH,EAAOC,EAAQsjH,EAAQC,EAAQ7iB,EAAYC,GAI1E,OAAOpqF,EAlDH9T,QAAQ+Z,KAAK,iGAwFzB7Y,EAAO8sC,MAAQ,SAAUvrC,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAKqhH,gBAAiB,EAOtBrhH,KAAKia,QACD/C,UACAgD,SACAnc,WACAsoC,SACA+vC,SACA7B,QACA8rC,QACAY,OACAx6E,WACAqvC,WACAwrC,UACAhrC,cACAirC,cACAt0G,UACAjI,iBACAw8G,qBACAptG,SAOJpU,KAAKyhH,WAMLzhH,KAAK0hH,aAAe,IAAIjuC,MAMxBzzE,KAAK2hH,SAAW,KAKhB3hH,KAAK4hH,cAAgB,IAAIpgH,EAAO6gC,OAMhCriC,KAAK6hH,aAEL7hH,KAAK6hH,UAAUrgH,EAAO8sC,MAAM/kB,QAAUvpB,KAAKia,OAAO/C,OAClDlX,KAAK6hH,UAAUrgH,EAAO8sC,MAAMliB,OAASpsB,KAAKia,OAAOC,MACjDla,KAAK6hH,UAAUrgH,EAAO8sC,MAAMwzE,SAAW9hH,KAAKia,OAAOlc,QACnDiC,KAAK6hH,UAAUrgH,EAAO8sC,MAAMyzE,OAAS/hH,KAAKia,OAAOosB,MACjDrmC,KAAK6hH,UAAUrgH,EAAO8sC,MAAMhiB,MAAQtsB,KAAKia,OAAOs6D,KAChDv0E,KAAK6hH,UAAUrgH,EAAO8sC,MAAM0zE,SAAWhiH,KAAKia,OAAOwsB,QACnDzmC,KAAK6hH,UAAUrgH,EAAO8sC,MAAM3hB,SAAW3sB,KAAKia,OAAO67D,QACnD91E,KAAK6hH,UAAUrgH,EAAO8sC,MAAM2zE,QAAUjiH,KAAKia,OAAOqnG,OAClDthH,KAAK6hH,UAAUrgH,EAAO8sC,MAAMvhB,YAAc/sB,KAAKia,OAAOq8D,WACtDt2E,KAAK6hH,UAAUrgH,EAAO8sC,MAAM4zE,YAAcliH,KAAKia,OAAOsnG,WACtDvhH,KAAK6hH,UAAUrgH,EAAO8sC,MAAM6zE,MAAQniH,KAAKia,OAAOomG,KAChDrgH,KAAK6hH,UAAUrgH,EAAO8sC,MAAM8zE,KAAOpiH,KAAKia,OAAOgnG,IAC/CjhH,KAAK6hH,UAAUrgH,EAAO8sC,MAAMxgB,OAAS9tB,KAAKia,OAAOm8D,MACjDp2E,KAAK6hH,UAAUrgH,EAAO8sC,MAAM+zE,QAAUriH,KAAKia,OAAOhN,OAClDjN,KAAK6hH,UAAUrgH,EAAO8sC,MAAMg0E,gBAAkBtiH,KAAKia,OAAOjV,cAC1DhF,KAAK6hH,UAAUrgH,EAAO8sC,MAAMi0E,MAAQviH,KAAKia,OAAO7F,KAMhDpU,KAAKwiH,cAAgB,EAOrBxiH,KAAKq+C,QAAU,IAAI78C,EAAO6gC,OAE1BriC,KAAKyiH,cAOTjhH,EAAO8sC,MAAM/kB,OAAS,EAMtB/nB,EAAO8sC,MAAMliB,MAAQ,EAMrB5qB,EAAO8sC,MAAMwzE,QAAU,EAMvBtgH,EAAO8sC,MAAMyzE,MAAQ,EAMrBvgH,EAAO8sC,MAAMhiB,KAAO,EAMpB9qB,EAAO8sC,MAAM0zE,QAAU,EAMvBxgH,EAAO8sC,MAAM3hB,QAAU,EAMvBnrB,EAAO8sC,MAAM2zE,OAAS,EAMtBzgH,EAAO8sC,MAAMvhB,WAAa,EAM1BvrB,EAAO8sC,MAAM4zE,WAAa,GAM1B1gH,EAAO8sC,MAAM6zE,KAAO,GAMpB3gH,EAAO8sC,MAAM8zE,IAAM,GAMnB5gH,EAAO8sC,MAAMxgB,MAAQ,GAMrBtsB,EAAO8sC,MAAM+zE,OAAS,GAMtB7gH,EAAO8sC,MAAMg0E,eAAiB,GAM9B9gH,EAAO8sC,MAAMi0E,KAAO,GAOpB/gH,EAAO8sC,MAAM5mB,QAAU,KAOvBlmB,EAAO8sC,MAAMo0E,YAAc,YAO3BlhH,EAAO8sC,MAAMq0E,YAAc,yKAO3BnhH,EAAO8sC,MAAMs0E,QAAU,KAOvBphH,EAAO8sC,MAAMu0E,YAAc,YAO3BrhH,EAAO8sC,MAAMw0E,YAAc,6WAQ3BthH,EAAO8sC,MAAMy0E,cAAgB,IAE7BvhH,EAAO8sC,MAAMhsC,WAmBT0gH,6BAA8B,SAAUhwG,EAAKqjE,EAAK4sC,EAAWC,GAErDljH,KAAKu4F,cAAcvlF,IAEnBhT,KAAKmjH,YAAYnwG,GAGrB,IAAIoB,EAAQ6uG,KAAazhH,EAAO4hH,aAAgB5hH,EAAO4hH,aAAaH,GAAWC,GAAeA,EAE1FnlH,GACAiV,IAAKA,EACLqjE,IAAKA,EACLjiE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDyI,MAAO,IAAI7L,EAAO64E,MAAM,EAAG,EAAG,EAAGjmE,EAAKxW,MAAOwW,EAAKvW,OAAQmV,GAC1D8+D,UAAW,IAAItwE,EAAO04E,UACtBmpC,WAAYJ,GAShB,OANAllH,EAAQ+zE,UAAUsI,SAAS,IAAI54E,EAAO64E,MAAM,EAAG,EAAG,EAAGjmE,EAAKxW,MAAOwW,EAAKvW,OAAQw4E,IAE9Er2E,KAAKia,OAAOC,MAAMlH,GAAOjV,EAEzBiC,KAAKsjH,YAAYjtC,EAAKt4E,GAEfA,GAWXwlH,UAAW,SAAUvwG,EAAKkE,EAAQpJ,QAEdvH,IAAZuH,IAAyBA,EAAUoJ,EAAOsB,WAAW,OAEzDxY,KAAKia,OAAO/C,OAAOlE,IAASkE,OAAQA,EAAQpJ,QAASA,IAezDiuE,SAAU,SAAU/oE,EAAKqjE,EAAKjiE,GAEtBpU,KAAKu4F,cAAcvlF,IAEnBhT,KAAKmjH,YAAYnwG,IAGC,IAAlBoB,EAAKgW,UAEL9pB,QAAQ+Z,KAAK,oDAAqDrH,GAGtE,IAAIi/D,GACAj/D,IAAKA,EACLqjE,IAAKA,EACLjiE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDyI,MAAO,IAAI7L,EAAO64E,MAAM,EAAG,EAAG,EAAGjmE,EAAKxW,MAAOwW,EAAKvW,OAAQmV,GAC1D8+D,UAAW,IAAItwE,EAAO04E,WAkB1B,OAfAjI,EAAIH,UAAUsI,SAAS,IAAI54E,EAAO64E,MAAM,EAAG,EAAG,EAAGjmE,EAAKxW,MAAOwW,EAAKvW,OAAQw4E,IAE1Er2E,KAAKia,OAAOC,MAAMlH,GAAOi/D,EAEzBjyE,KAAKsjH,YAAYjtC,EAAKpE,GAEV,cAARj/D,EAEAxR,EAAO8sC,MAAM5mB,QAAU,IAAIlpB,KAAKqO,QAAQolE,EAAI73D,MAE/B,cAARpH,IAELxR,EAAO8sC,MAAMs0E,QAAU,IAAIpkH,KAAKqO,QAAQolE,EAAI73D,OAGzC63D,GAOXuxC,cAAe,SAAUxwG,EAAKnD,EAAK8kC,GAE/B,IAAIxZ,EAAOn7B,KACPiyE,EAAM,IAAIwB,MAEdxB,EAAI4J,OAAS,WAETlnC,EAASnwC,KAAKxE,KAAMm7B,EAAK4gD,SAAS/oE,EAAK,KAAMi/D,IAC7C92C,EAAKsoF,iBACLxxC,EAAI4J,OAAS,MAGjB77E,KAAK0jH,cACLzxC,EAAIpiE,IAAMA,GAYd8zG,gBAAiB,WAEb3jH,KAAKwjH,cAAchiH,EAAO8sC,MAAMo0E,YAAalhH,EAAO8sC,MAAMq0E,YAAa,SAAU5wF,GAG7EA,EAAI3X,KAAK5M,YAAa,EAGtBhM,EAAO8sC,MAAM5mB,QAAU,IAAIlpB,KAAKqO,QAAQklB,EAAI3X,SAapDwpG,gBAAiB,WAEb5jH,KAAKwjH,cAAchiH,EAAO8sC,MAAMu0E,YAAarhH,EAAO8sC,MAAMw0E,YAAa,SAAU/wF,GAG7EvwB,EAAO8sC,MAAMs0E,QAAU,IAAIpkH,KAAKqO,QAAQklB,EAAI3X,SAcpDypG,SAAU,SAAU7wG,EAAKqjE,EAAKjiE,EAAMqqC,EAAUqlE,QAEzBv9G,IAAbk4C,IAA0BA,GAAW,EAAMqlE,GAAW,QACzCv9G,IAAbu9G,IAA0BrlE,GAAW,EAAOqlE,GAAW,GAE3D,IAAIC,GAAU,EAEVD,IAEAC,GAAU,GAGd/jH,KAAKia,OAAOosB,MAAMrzB,IACdqjE,IAAKA,EACLjiE,KAAMA,EACN4vG,YAAY,EACZD,QAASA,EACTtlE,SAAUA,EACVqlE,SAAUA,EACVn1D,OAAQ3uD,KAAK+C,KAAKsjC,MAAM49E,aAG5BjkH,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOosB,MAAMrzB,KAW5CkxG,QAAS,SAAUlxG,EAAKqjE,EAAKjiE,GAEzBpU,KAAKia,OAAOs6D,KAAKvhE,IAASqjE,IAAKA,EAAKjiE,KAAMA,GAE1CpU,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOs6D,KAAKvhE,KAY3CmxG,eAAgB,SAAUnxG,EAAKqjE,EAAK+pC,EAAU3rG,GAE1CzU,KAAKia,OAAOwsB,QAAQzzB,IAASqjE,IAAKA,EAAKjiE,KAAMgsG,EAAU3rG,OAAQA,GAE/DzU,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOwsB,QAAQzzB,KAY9CoxG,WAAY,SAAUpxG,EAAKqjE,EAAKguC,EAAS5vG,GAErCzU,KAAKia,OAAO67D,QAAQ9iE,IAASqjE,IAAKA,EAAKjiE,KAAMiwG,EAAS5vG,OAAQA,GAE9DzU,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAO67D,QAAQ9iE,KAU9CsxG,UAAW,SAAUtxG,EAAKuxG,GAEtBvkH,KAAKia,OAAOqnG,OAAOtuG,GAAOuxG,GAY9BhuC,cAAe,SAAUvjE,EAAKsjE,EAAYxE,GAYtC,OAVAwE,EAAWtjE,IAAMA,OAECzM,IAAdurE,IAEAA,EAAY,IAAItwE,EAAO04E,WACbE,SAAS9D,EAAW6D,cAGlCn6E,KAAKia,OAAOq8D,WAAWtjE,IAASoB,KAAMkiE,EAAYxE,UAAWA,GAEtDwE,GAeXkuC,cAAe,SAAUxxG,EAAKqjE,EAAKjiE,EAAMqwG,EAAWC,EAAWlvC,EAAUC,GAErE,IAAI1jD,GACAskD,IAAKA,EACLjiE,KAAMA,EACN+gE,KAAM,KACN/6D,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,kBAGpC2B,IAAbivE,IAA0BA,EAAW,QACxBjvE,IAAbkvE,IAA0BA,EAAW,GAIrC1jD,EAAIojD,KAFU,SAAduvC,EAEWljH,EAAO4hH,aAAauB,eAAeF,EAAW1yF,EAAI3X,KAAMo7D,EAAUC,GAAU,EAAOz1E,KAAK+C,KAAK6B,YAI7FpD,EAAO4hH,aAAawB,cAAcH,EAAW1yF,EAAI3X,KAAMo7D,EAAUC,GAAU,EAAOz1E,KAAK+C,KAAK6B,YAG3G5E,KAAKia,OAAOsnG,WAAWvuG,GAAO+e,EAE9B/xB,KAAKsjH,YAAYjtC,EAAKtkD,IAuB1B8yF,uBAAwB,SAAU7xG,EAAK8xG,EAAUC,EAAYC,EAASC,EAAUzvC,EAAUC,GAEtF,IAAIpoE,EAAQrN,KAAKi9G,eAAe6H,EAAUC,GAE1C,GAAK13G,EAAL,CAKA,IAAI0kB,GACAojD,KAAM,KACN/6D,KAAMpa,KAAKklH,eAAeJ,GAC1Bz3G,MAAOA,QAGM9G,IAAbivE,IAA0BA,EAAW,QACxBjvE,IAAbkvE,IAA0BA,EAAW,GAEzC,IAAI0vC,EAEa,SAAbF,GAEAE,EAAWnlH,KAAKolH,QAAQJ,GACxBjzF,EAAIojD,KAAO3zE,EAAO4hH,aAAauB,eAAeQ,EAAUpzF,EAAI3X,KAAMo7D,EAAUC,EAAUpoE,EAAOrN,KAAK+C,KAAK6B,cAIvGugH,EAAWnlH,KAAKqlH,OAAOL,GACvBjzF,EAAIojD,KAAO3zE,EAAO4hH,aAAawB,cAAcO,EAAUpzF,EAAI3X,KAAMo7D,EAAUC,EAAUpoE,EAAOrN,KAAK+C,KAAK6B,aAG1G5E,KAAKia,OAAOsnG,WAAWvuG,GAAO+e,IAWlCuzF,QAAS,SAAUtyG,EAAKqjE,EAAKjiE,GAEzBpU,KAAKia,OAAOomG,KAAKrtG,IAASqjE,IAAKA,EAAKjiE,KAAMA,GAE1CpU,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOomG,KAAKrtG,KAW3CuyG,OAAQ,SAAUvyG,EAAKqjE,EAAKjiE,GAExBpU,KAAKia,OAAOgnG,IAAIjuG,IAASqjE,IAAKA,EAAKjiE,KAAMA,GAEzCpU,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOgnG,IAAIjuG,KAY1CwyG,SAAU,SAAUxyG,EAAKqjE,EAAKjiE,EAAMqxG,GAEhCzlH,KAAKia,OAAOm8D,MAAMpjE,IAASqjE,IAAKA,EAAKjiE,KAAMA,EAAMqxG,OAAQA,EAAQ92D,QAAQ,GAEzE3uD,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOm8D,MAAMpjE,KAW5C0yG,UAAW,SAAU1yG,EAAKqjE,EAAKjiE,GAE3BpU,KAAKia,OAAOhN,OAAO+F,IAASqjE,IAAKA,EAAKjiE,KAAMA,GAE5CpU,KAAKsjH,YAAYjtC,EAAKr2E,KAAKia,OAAOhN,OAAO+F,KAU7CmjE,iBAAkB,SAAUnjE,EAAKjV,GAE7BiC,KAAKia,OAAOjV,cAAcgO,IAASjV,QAASA,EAASsP,MAAO,IAAI7L,EAAO64E,MAAM,EAAG,EAAG,EAAGt8E,EAAQH,MAAOG,EAAQF,OAAQ,GAAI,MAiB7H8nH,eAAgB,SAAU3yG,EAAKqjE,EAAKjiE,EAAMmqF,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,QAEzEt5G,IAAbm5G,IAA0BA,GAAY,QAC3Bn5G,IAAXo5G,IAAwBA,EAAS,QACrBp5G,IAAZq5G,IAAyBA,EAAU,GAEvC,IAAI7tF,GACA/e,IAAKA,EACLqjE,IAAKA,EACLjiE,KAAMA,EACNmqF,WAAYA,EACZC,YAAaA,EACbmhB,OAAQA,EACRC,QAASA,EACTxlG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDktE,UAAWtwE,EAAOg+G,gBAAgBC,YAAYz/G,KAAK+C,KAAMqR,EAAMmqF,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,IAGvH7/G,KAAKia,OAAOC,MAAMlH,GAAO+e,EAEzB/xB,KAAKsjH,YAAYjtC,EAAKtkD,IAa1B6zF,gBAAiB,SAAU5yG,EAAKqjE,EAAKjiE,EAAMqwG,EAAWhwG,GAElD,IAAIsd,GACA/e,IAAKA,EACLqjE,IAAKA,EACLjiE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,aAGjD6P,IAAWjT,EAAO47C,OAAOyoE,2BAEzB9zF,EAAI+/C,UAAYtwE,EAAOg+G,gBAAgBwB,QAAQhhH,KAAK+C,KAAM0hH,EAAWzxG,GAEhEyB,IAAWjT,EAAO47C,OAAO0oE,yBAE9B/zF,EAAI+/C,UAAYtwE,EAAOg+G,gBAAgBkB,cAAc1gH,KAAK+C,KAAM0hH,EAAWzxG,GAKvEvL,MAAMC,QAAQ+8G,EAAUppB,QAExBtpE,EAAI+/C,UAAYtwE,EAAOg+G,gBAAgBY,SAASpgH,KAAK+C,KAAM0hH,EAAWzxG,GAItE+e,EAAI+/C,UAAYtwE,EAAOg+G,gBAAgBuB,aAAa/gH,KAAK+C,KAAM0hH,EAAWzxG,GAIlFhT,KAAKia,OAAOC,MAAMlH,GAAO+e,EAEzB/xB,KAAKsjH,YAAYjtC,EAAKtkD,IAU1Bg0F,QAAS,SAAU/yG,EAAKoB,GAEpBpU,KAAKia,OAAO7F,KAAKpB,GAAOoB,GAe5B4xG,YAAa,SAAUhzG,GAEnB,IAAIq5B,EAAQrsC,KAERqmC,EAAQrmC,KAAKimH,SAASjzG,GAEtBqzB,IAEAA,EAAMjyB,KAAKvE,IAAMw2B,EAAMgwC,IAEvBhwC,EAAMjyB,KAAKu8B,iBAAiB,iBAAkB,WAE1C,OAAOtE,EAAM65E,oBAAoBlzG,KAClC,GAEHqzB,EAAMjyB,KAAKgyB,SAUnB8/E,oBAAqB,SAAUlzG,GAE3B,IAAIqzB,EAAQrmC,KAAKimH,SAASjzG,GAEtBqzB,IAEAA,EAAMsoB,QAAS,EACf3uD,KAAK4hH,cAAcx8E,SAASpyB,KAUpCmzG,YAAa,SAAUnzG,EAAK2jC,EAAUvvC,GAElC,IAAIi/B,EAAQrmC,KAAKimH,SAASjzG,GAEtBqzB,IAEAA,EAAMsQ,GAAYvvC,IAW1Bg/G,aAAc,SAAUpzG,EAAKoB,GAEzB,IAAIiyB,EAAQrmC,KAAKimH,SAASjzG,GAE1BqzB,EAAMjyB,KAAOA,EACbiyB,EAAM09E,SAAU,EAChB19E,EAAM29E,YAAa,GAUvBqC,eAAgB,SAAUrzG,GAEtB,IAAIqzB,EAAQrmC,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMyzE,MAAO,kBAElD,GAAI17E,EAEA,OAAOA,EAAM09E,SAYrBuC,aAAc,SAAUtzG,GAEpB,IAAIqzB,EAAQrmC,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMyzE,MAAO,kBAElD,GAAI17E,EAEA,OAAQA,EAAM09E,UAAY/jH,KAAK+C,KAAKsjC,MAAM49E,aAkBlDsC,SAAU,SAAUvsG,EAAOhH,GAEvB,QAAIhT,KAAK6hH,UAAU7nG,GAAOhH,IAkB9BwzG,SAAU,SAAUnwC,GAEhB,QAAIr2E,KAAKyhH,QAAQzhH,KAAKsjH,YAAYjtC,KAetCowC,eAAgB,SAAUzzG,GAEtB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM/kB,OAAQvW,IAU9C0zG,aAAc,SAAU1zG,GAEpB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMi0E,KAAMvvG,IAU5CulF,cAAe,SAAUvlF,GAErB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMliB,MAAOpZ,IAU7C2zG,gBAAiB,SAAU3zG,GAEvB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMwzE,QAAS9uG,IAU/C4zG,cAAe,SAAU5zG,GAErB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMyzE,MAAO/uG,IAU7C6zG,aAAc,SAAU7zG,GAEpB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMhiB,KAAMtZ,IAU5C8zG,gBAAiB,SAAU9zG,GAEvB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM0zE,QAAShvG,IAU/C+zG,gBAAiB,SAAU/zG,GAEvB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM3hB,QAAS3Z,IAU/Cg0G,eAAgB,SAAUh0G,GAEtB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM2zE,OAAQjvG,IAU9Ci0G,mBAAoB,SAAUj0G,GAE1B,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMvhB,WAAY/Z,IAUlDk0G,mBAAoB,SAAUl0G,GAE1B,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM4zE,WAAYlvG,IAUlDm0G,aAAc,SAAUn0G,GAEpB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM6zE,KAAMnvG,IAU5Co0G,YAAa,SAAUp0G,GAEnB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM8zE,IAAKpvG,IAU3Cq0G,cAAe,SAAUr0G,GAErB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMxgB,MAAO9a,IAU7Cs0G,eAAgB,SAAUt0G,GAEtB,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAM+zE,OAAQrvG,IAU9Cu0G,sBAAuB,SAAUv0G,GAE7B,OAAOhT,KAAKumH,SAAS/kH,EAAO8sC,MAAMg0E,eAAgBtvG,IAsBtD6zF,QAAS,SAAU7zF,EAAKgH,EAAO29B,EAAQhB,GAEnC,OAAK32C,KAAKumH,SAASvsG,EAAOhH,QAQTzM,IAAbowC,EAEO32C,KAAK6hH,UAAU7nG,GAAOhH,GAItBhT,KAAK6hH,UAAU7nG,GAAOhH,GAAK2jC,IAZ9BgB,GAEAr3C,QAAQ+Z,KAAK,gBAAkBs9B,EAAS,UAAY3kC,EAAM,yBAa3D,OAcXmrE,UAAW,SAAUnrE,GAEjB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM/kB,OAAQ,YAAa,WAmB/D2oD,SAAU,SAAUl/D,EAAKw0G,QAETjhH,IAARyM,GAA6B,OAARA,IAErBA,EAAM,kBAGGzM,IAATihH,IAAsBA,GAAO,GAEjC,IAAIv1C,EAAMjyE,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMliB,MAAO,YAOhD,OALY,OAAR6lD,IAEAA,EAAMjyE,KAAK6mG,QAAQ,YAAarlG,EAAO8sC,MAAMliB,MAAO,aAGpDo7F,EAEOv1C,EAIAA,EAAI79D,MAanBqzG,gBAAiB,SAAUz0G,GAEvB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMwzE,QAAS,kBAAmB,UActEmE,SAAU,SAAUjzG,GAEhB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMyzE,MAAO,aAcjD2F,aAAc,SAAU10G,GAEpB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMyzE,MAAO,eAAgB,SAcjE4F,QAAS,SAAU30G,GAEf,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMhiB,KAAM,UAAW,SAkB3Ds7F,eAAgB,SAAU50G,EAAKomC,EAAQyuE,GAEnC,IAAIzzG,EAAOpU,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM0zE,QAAS,iBAAkB,QAErE,GAAa,OAAT5tG,QAA4B7N,IAAX6yC,GAAmC,OAAXA,EAEzC,OAAOhlC,EAGX,GAAIA,EAAKglC,GACT,CACI,IAAI0uE,EAAW1zG,EAAKglC,GAGpB,IAAI0uE,IAAYD,EAmBZ,OAAOC,EAjBP,IAAK,IAAIC,KAAWD,EAMhB,IAHAC,EAAUD,EAASC,IAGPF,aAAeA,EAEvB,OAAOE,EAKfznH,QAAQ+Z,KAAK,kEAAoEwtG,EAAa,OAAS70G,EAAM,UASjH1S,QAAQ+Z,KAAK,qDAAuDrH,EAAM,MAAQomC,EAAS,KAG/F,OAAO,MAcX4uE,eAAgB,SAAUh1G,GAEtB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM3hB,QAAS,mBAcnDs7F,UAAW,SAAUj1G,GAEjB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM2zE,OAAQ,cAclDiG,cAAe,SAAUl1G,GAErB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMvhB,WAAY,gBAAiB,SAcvEiqE,cAAe,SAAUhkF,GAErB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM4zE,WAAY,kBAkBtDkD,QAAS,SAAUpyG,EAAKkhB,GAEpB,IAAI9f,EAAOpU,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM6zE,KAAM,UAAW,QAE3D,OAAI/tG,EAEI8f,EAEO1yB,EAAOgwB,MAAMsC,QAAO,EAAMrsB,MAAMC,QAAQ0M,SAAiBA,GAIzDA,EAKJ,MAefixG,OAAQ,SAAUryG,GAEd,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM8zE,IAAK,SAAU,SAczD+F,SAAU,SAAUn1G,GAEhB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMxgB,MAAO,aAcjDs6F,UAAW,SAAUp1G,GAEjB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAM+zE,OAAQ,YAAa,SAc/DgG,iBAAkB,SAAUr1G,GAExB,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMg0E,eAAgB,qBAU1DgG,QAAS,SAAUt1G,GAEf,OAAOhT,KAAK6mG,QAAQ7zF,EAAKxR,EAAO8sC,MAAMi0E,KAAM,YAiBhD2C,eAAgB,SAAUlyG,EAAKgH,GAI3B,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAO8sC,MAAMliB,OAEzCpsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,iBAAkB,SAWtDgjG,SAAU,SAAUhqG,EAAKgH,GAIrB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAO8sC,MAAMliB,OAEzCpsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,WAAY,UAWhDuuG,cAAe,SAAUv1G,EAAKgH,GAE1B,IAAI5F,EAAOpU,KAAK6xE,aAAa7+D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAKukC,MAIL,GAgBfk5B,aAAc,SAAU7+D,EAAKgH,GAIzB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAO8sC,MAAMliB,OAEzCpsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,eAAgB,cAWpD23D,aAAc,SAAU3+D,EAAKgH,GAIzB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAO8sC,MAAMliB,OAEM,OAA9CpsB,KAAK6mG,QAAQ7zF,EAAKgH,EAAO,GAAI,cAWzCo/E,gBAAiB,SAAUpmF,EAAK8+D,EAAW93D,QAEzBzT,IAAVyT,IAAuBA,EAAQxY,EAAO8sC,MAAMliB,OAE5CpsB,KAAK6hH,UAAU7nG,GAAOhH,KAEtBhT,KAAK6hH,UAAU7nG,GAAOhH,GAAK8+D,UAAYA,IAa/C02C,gBAAiB,SAAUx1G,EAAKpK,EAAOoR,GAEnC,IAAI5F,EAAOpU,KAAK6xE,aAAa7+D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAK4oG,SAASp0G,GAId,MAafq0G,eAAgB,SAAUjqG,EAAKgf,EAAMhY,GAEjC,IAAI5F,EAAOpU,KAAK6xE,aAAa7+D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAK6oG,eAAejrF,GAIpB,MAafy2F,OAAQ,SAAUpyC,GAId,OAFIA,EAAMr2E,KAAKsjH,YAAYjtC,IAIhBr2E,KAAKyhH,QAAQprC,IAIpB/1E,QAAQ+Z,KAAK,sCAAwCg8D,EAAM,uCACpD,OAWfqyC,QAAS,SAAU1uG,QAEDzT,IAAVyT,IAAuBA,EAAQxY,EAAO8sC,MAAMliB,OAEhD,IAAI6I,KAEJ,GAAIj1B,KAAK6hH,UAAU7nG,GAEf,IAAK,IAAIhH,KAAOhT,KAAK6hH,UAAU7nG,GAEf,cAARhH,GAA+B,cAARA,GAEvBiiB,EAAIntB,KAAKkL,GAKrB,OAAOiiB,GAkBX0zF,aAAc,SAAU31G,UAEbhT,KAAKia,OAAO/C,OAAOlE,IAe9BmwG,YAAa,SAAUnwG,EAAK41G,QAEGriH,IAAvBqiH,IAAoCA,GAAqB,GAE7D,IAAI32C,EAAMjyE,KAAKkyE,SAASl/D,GAAK,GAEzB41G,GAAsB32C,EAAI73D,MAE1B63D,EAAI73D,KAAK5X,iBAGNxC,KAAKia,OAAOC,MAAMlH,IAgB7B61G,YAAa,SAAU71G,UAEZhT,KAAKia,OAAOosB,MAAMrzB,IAY7B81G,WAAY,SAAU91G,UAEXhT,KAAKia,OAAOs6D,KAAKvhE,IAY5B+1G,cAAe,SAAU/1G,UAEdhT,KAAKia,OAAOwsB,QAAQzzB,IAY/Bg2G,cAAe,SAAUh2G,UAEdhT,KAAKia,OAAO67D,QAAQ9iE,IAY/Bi2G,aAAc,SAAUj2G,UAEbhT,KAAKia,OAAOqnG,OAAOtuG,IAY9Bk2G,iBAAkB,SAAUl2G,UAEjBhT,KAAKia,OAAOq8D,WAAWtjE,IAYlCm2G,iBAAkB,SAAUn2G,UAEjBhT,KAAKia,OAAOsnG,WAAWvuG,IAYlCo2G,WAAY,SAAUp2G,UAEXhT,KAAKia,OAAOomG,KAAKrtG,IAY5Bq2G,UAAW,SAAUr2G,UAEVhT,KAAKia,OAAOgnG,IAAIjuG,IAY3Bs2G,YAAa,SAAUt2G,UAEZhT,KAAKia,OAAOm8D,MAAMpjE,IAY7Bu2G,aAAc,SAAUv2G,UAEbhT,KAAKia,OAAOhN,OAAO+F,IAY9Bw2G,oBAAqB,SAAUx2G,UAEpBhT,KAAKia,OAAOjV,cAAcgO,IAYrCy2G,kBAAmB,SAAUz2G,UAElBhT,KAAKia,OAAOwlG,YAAYzsG,IAYnC02G,mBAAoB,SAAU12G,UAEnBhT,KAAKia,OAAOC,MAAMlH,IAG7B22G,WAAY,SAAU32G,UAEXhT,KAAKia,OAAO7F,KAAKpB,IAU5BssC,gBAAiB,WAEb,IAAK,IAAItsC,KAAOhT,KAAKia,OAAOC,MAExBla,KAAKia,OAAOC,MAAMlH,GAAKoH,KAAKnG,gBAcpCqvG,YAAa,SAAUjtC,EAAKjiE,GAExB,OAAKpU,KAAKqhH,gBAKVrhH,KAAK0hH,aAAa7xG,IAAM7P,KAAK+C,KAAKqjC,KAAKwjF,QAAUvzC,EAEjDr2E,KAAK2hH,SAAW3hH,KAAK0hH,aAAa7xG,IAGlC7P,KAAK0hH,aAAa7xG,IAAM,GAGpBuE,IAEApU,KAAKyhH,QAAQzhH,KAAK2hH,UAAYvtG,GAG3BpU,KAAK2hH,UAhBD,MA2Bfn/G,QAAS,WAEL,IAAK,IAAIE,EAAI,EAAGA,EAAI1C,KAAK6hH,UAAUl/G,OAAQD,IAC3C,CACI,IAAIsX,EAAQha,KAAK6hH,UAAUn/G,GAE3B,IAAK,IAAIsQ,KAAOgH,EAEA,cAARhH,GAA+B,cAARA,IAEvBhT,KAAK6pH,YAAY7vG,EAAMhH,WAEhBgH,EAAMhH,IAKzBhT,KAAKyhH,QAAU,KACfzhH,KAAK0hH,aAAe,KACpB1hH,KAAK2hH,SAAW,MAQpBkI,YAAa,SAAUviH,GAEfA,EAAK9E,QAEL8E,EAAK9E,WAID8E,EAAK8S,MAAQ9S,EAAK8S,KAAK5X,SAEvB8E,EAAK8S,KAAK5X,UAGV8E,EAAK8M,MAAQ9M,EAAK8M,KAAK5R,SAEvB8E,EAAK8M,KAAK5R,UAGV8E,EAAKwqE,WAAaxqE,EAAKwqE,UAAUtvE,SAEjC8E,EAAKwqE,UAAUtvE,UAGf8E,EAAKvJ,SAAWuJ,EAAKvJ,QAAQyE,SAE7B8E,EAAKvJ,QAAQyE,SAAQ,KAUjCigH,WAAY,WAERziH,KAAKwiH,cAAgB,EAErBxiH,KAAK2jH,kBACL3jH,KAAK4jH,kBAEL,IAAIzoF,EAAOn7B,KACP8pH,EAAetoH,EAAO8sC,MAAMy0E,cAE5BvhH,EAAO8sC,MAAMy0E,cAAgB,EAE7Bhf,WAAW,WAEF5oE,EAAKijB,UAEN99C,QAAQ+Z,KAAK,sDAAuDyvG,GAEpE3uF,EAAK4uF,WAEVvoH,EAAO8sC,MAAMy0E,eAIhB/iH,KAAK+pH,UAUbrG,YAAa,WAET1jH,KAAKwiH,eAAiB,GAS1BiB,eAAgB,WAEZzjH,KAAKwiH,eAAiB,EACtBxiH,KAAKgqH,eASTA,YAAa,WAELhqH,KAAKo+C,SAELp+C,KAAK+pH,UAUbA,OAAQ,WAEJ/pH,KAAKwiH,cAAgB,EACrBxiH,KAAKq+C,QAAQjZ,SAASplC,QAK9BwB,EAAO8sC,MAAMhsC,UAAUC,YAAcf,EAAO8sC,MAO5CtnC,OAAOyF,eAAejL,EAAO8sC,MAAMhsC,UAAW,WAC1C4E,IAAK,WAED,OAAOlH,KAAKwiH,eAAiB,KAyBrChhH,EAAO47C,OAAS,SAAUr6C,GAOtB/C,KAAK+C,KAAOA,EAOZ/C,KAAKga,MAAQjX,EAAKiX,MAOlBha,KAAKgjD,aAAc,EAOnBhjD,KAAKiqH,WAAY,EAOjBjqH,KAAKmN,WAAY,EAUjBnN,KAAKkqH,cAAgB,KAOrBlqH,KAAKmqH,aAAc,EASnBnqH,KAAK4pH,QAAU,GAsBf5pH,KAAKivF,KAAO,GAuBZjvF,KAAKoqH,SACDC,eAAe,EACfhK,KAAM,mBACNY,IAAK,mBASTjhH,KAAKsqH,YAAc,IAAI9oH,EAAO6gC,OAQ9BriC,KAAKuqH,qBAAuB,IAAI/oH,EAAO6gC,OAQvCriC,KAAKwqH,eAAiB,IAAIhpH,EAAO6gC,OAWjCriC,KAAKyqH,eAAiB,IAAIjpH,EAAO6gC,OAUjCriC,KAAK0qH,YAAc,IAAIlpH,EAAO6gC,OAa9BriC,KAAK2qH,eAAiB,IAAInpH,EAAO6gC,OAWjCriC,KAAK4qH,YAAc,IAAIppH,EAAO6gC,OAS9BriC,KAAK6qH,gBAAiB,EAWtB7qH,KAAK8qH,qBAAuB,EAM5B9qH,KAAK+qH,oBAAsB,EAU3B/qH,KAAKgrH,aAcLhrH,KAAKirH,gBAQLjrH,KAAKkrH,gBAAkB,EASvBlrH,KAAKmrH,kBAAmB,EAOxBnrH,KAAKorH,gBAAkB,EAOvBprH,KAAKqrH,gBAAkB,EAOvBrrH,KAAKsrH,iBAAmB,EAOxBtrH,KAAKurH,iBAAmB,GAO5B/pH,EAAO47C,OAAOouE,yBAA2B,EAMzChqH,EAAO47C,OAAOquE,wBAA0B,EAMxCjqH,EAAO47C,OAAOyoE,2BAA6B,EAM3CrkH,EAAO47C,OAAOsuE,yBAA2B,EAMzClqH,EAAO47C,OAAOuuE,oBAAsB,EAMpCnqH,EAAO47C,OAAO0oE,yBAA2B,EAEzCtkH,EAAO47C,OAAO96C,WAcVspH,iBAAkB,SAAUtoG,EAAQkhB,GAEhCA,EAAYA,GAAa,EAEzBxkC,KAAKkqH,eAAkB5mG,OAAQA,EAAQkhB,UAAWA,EAAW5mC,MAAO0lB,EAAO1lB,MAAOC,OAAQylB,EAAOzlB,OAAQ+8B,KAAM,MAK3G56B,KAAKkqH,cAActvF,KAHL,IAAd4J,EAG0B,IAAIhjC,EAAOS,UAAU,EAAG,EAAG,EAAGqhB,EAAOzlB,QAKrC,IAAI2D,EAAOS,UAAU,EAAG,EAAGqhB,EAAO1lB,MAAO,GAGvE0lB,EAAO1V,KAAK5N,KAAKkqH,cAActvF,MAE/BtX,EAAOpiB,SAAU,GAWrBiF,OAAQ,WAEAnG,KAAKkqH,eAAiBlqH,KAAKkqH,cAAcrsH,SAAWmC,KAAKkqH,cAAc5mG,OAAOzlB,SAE9EmC,KAAKkqH,cAActvF,KAAK/8B,OAASmC,KAAKkqH,cAAc5mG,OAAOzlB,SAcnEguH,eAAgB,SAAUr4G,EAAMR,GAE5B,OAAOhT,KAAK8rH,cAAct4G,EAAMR,IAAQ,GAc5C84G,cAAe,SAAUt4G,EAAMR,GAI3B,IAAK,IAFD+4G,GAAa,EAERrpH,EAAI,EAAGA,EAAI1C,KAAKgrH,UAAUroH,OAAQD,IAC3C,CACI,IAAI69F,EAAOvgG,KAAKgrH,UAAUtoH,GAE1B,GAAI69F,EAAK/sF,OAASA,GAAQ+sF,EAAKvtF,MAAQA,IAEnC+4G,EAAYrpH,GAGP69F,EAAKyrB,SAAWzrB,EAAK0rB,SAEtB,MAKZ,OAAOF,GAcXG,SAAU,SAAU14G,EAAMR,GAEtB,IAAIm5G,EAAYnsH,KAAK8rH,cAAct4G,EAAMR,GAEzC,OAAIm5G,GAAa,IAEJvjH,MAAOujH,EAAW5rB,KAAMvgG,KAAKgrH,UAAUmB,KAkBxDpmF,MAAO,SAAUwf,EAAMo2D,QAECp1G,IAAhBo1G,IAA6BA,GAAc,GAE3C37G,KAAKgjD,cAKLuC,IAEAvlD,KAAKkqH,cAAgB,MAGzBlqH,KAAKiqH,WAAY,EAEjBjqH,KAAKkrH,gBAAkB,EACvBlrH,KAAKgrH,UAAUroH,OAAS,EACxB3C,KAAKirH,aAAatoH,OAAS,EAE3B3C,KAAKmrH,kBAAmB,EACxBnrH,KAAKqrH,gBAAkB,EACvBrrH,KAAKorH,gBAAkB,EACvBprH,KAAKsrH,iBAAmB,EACxBtrH,KAAKurH,iBAAmB,EAEpB5P,IAEA37G,KAAKsqH,YAAYzgF,YACjB7pC,KAAKwqH,eAAe3gF,YACpB7pC,KAAKyqH,eAAe5gF,YACpB7pC,KAAK0qH,YAAY7gF,YACjB7pC,KAAK2qH,eAAe9gF,YACpB7pC,KAAK4qH,YAAY/gF,eAiBzBuiF,cAAe,SAAU54G,EAAMR,EAAKqjE,EAAKyf,EAAYu2B,EAAWpJ,GAI5D,QAFkB18G,IAAd8lH,IAA2BA,GAAY,QAE/B9lH,IAARyM,GAA6B,KAARA,EAGrB,OADA1S,QAAQ+Z,KAAK,kDAAoD7G,GAC1DxT,KAGX,QAAYuG,IAAR8vE,GAA6B,OAARA,EACzB,CACI,IAAI4sC,EAOA,OADA3iH,QAAQ+Z,KAAK,8CAAgD7G,EAAO,SAAWR,GACxEhT,KALPq2E,EAAMrjE,EAAMiwG,EASpB,IAAI1iB,GACA/sF,KAAMA,EACNR,IAAKA,EACLi8E,KAAMjvF,KAAKivF,KACX5Y,IAAKA,EACLi2C,UAAWtsH,KAAK+qH,oBAAsB,EACtC32G,KAAM,KACN63G,SAAS,EACTD,QAAQ,EACRzrH,OAAO,GAGX,GAAIu1F,EAEA,IAAK,IAAI5lB,KAAQ4lB,EAEbyK,EAAKrwB,GAAQ4lB,EAAW5lB,GAIhC,IAAIi8C,EAAYnsH,KAAK8rH,cAAct4G,EAAMR,GAEzC,GAAIq5G,GAAaF,GAAa,EAC9B,CACI,IAAII,EAAcvsH,KAAKgrH,UAAUmB,GAE5BI,EAAYN,SAAYM,EAAYP,QAMrChsH,KAAKgrH,UAAUljH,KAAKy4F,GACpBvgG,KAAKqrH,mBALLrrH,KAAKgrH,UAAUmB,GAAa5rB,OAQZ,IAAf4rB,IAELnsH,KAAKgrH,UAAUljH,KAAKy4F,GACpBvgG,KAAKqrH,mBAGT,OAAOrrH,MAaXwsH,kBAAmB,SAAUh5G,EAAMR,EAAKqjE,EAAKyf,GAEzC,OAAO91F,KAAKosH,cAAc54G,EAAMR,EAAKqjE,EAAKyf,GAAY,IAyB1D22B,KAAM,SAAUz5G,EAAKqjE,EAAKjiE,EAAM60B,GAM5B,QAJY1iC,IAAR8vE,IAAqBA,EAAM,WAClB9vE,IAAT6N,IAAsBA,EAAO,WACT7N,IAApB0iC,IAAiCA,EAAkB,OAElDotC,IAAQjiE,EAIT,OAFA9T,QAAQ+Z,KAAK,qEAENra,KAGX,IAAIysH,GACAj5G,KAAM,WACNR,IAAKA,EACLqjE,IAAKA,EACL4Y,KAAMjvF,KAAKivF,KACXq9B,WAAW,EACXl4G,KAAM,KACN63G,SAAS,EACTD,QAAQ,EACRzrH,OAAO,EACP0oC,gBAAiBA,GAIjB70B,IAEoB,iBAATA,IAEPA,EAAO+tG,KAAK3jF,MAAMpqB,IAGtBq4G,EAAKr4G,KAAOA,MAGZq4G,EAAKT,QAAS,GAOlB,IAAK,IAAItpH,EAAI,EAAGA,EAAI1C,KAAKgrH,UAAUroH,OAAS,EAAGD,IAC/C,CACI,IAAI69F,EAAOvgG,KAAKgrH,UAAUtoH,GAE1B,IAAK69F,IAAUA,EAAKyrB,SAAWzrB,EAAK0rB,SAAyB,aAAd1rB,EAAK/sF,KACpD,CACIxT,KAAKgrH,UAAUliH,OAAOpG,EAAG,EAAG+pH,GAC5BzsH,KAAKorH,kBACL,OAIR,OAAOprH,MAoDXka,MAAO,SAAUlH,EAAKqjE,EAAKg2C,GAEvB,MAAmB,iBAARh2C,EAEAr2E,KAAKjC,QAAQiV,EAAKqjE,EAAKg2C,GAIvBrsH,KAAKosH,cAAc,QAASp5G,EAAKqjE,OAAK9vE,EAAW8lH,EAAW,SAa3EK,oBAAqB,SAAU15G,EAAKsjE,EAAY+1C,GAE5C,OAAOrsH,KAAKka,MAAMlH,EAAKsjE,EAAWp/D,OAAOwkE,UAAU,aAAc2wC,IASrEM,cAAe,SAAU35G,EAAKpV,EAAOC,EAAQk3C,EAAWC,EAAY3+B,GAEhE,OAAOrW,KAAK0sH,oBAAoB15G,EAAKhT,KAAK+C,KAAKyF,OAAOyvD,KAAKjlD,EAAKpV,EAAOC,EAAQk3C,EAAWC,EAAY3+B,GAAO,KASjHu2G,iBAAkB,SAAU55G,EAAKoB,EAAMy4G,EAAYC,EAAaC,GAE5D,OAAO/sH,KAAK0sH,oBAAoB15G,EAAKhT,KAAK+C,KAAKyF,OAAOzK,QAAQiV,EAAKoB,EAAMy4G,EAAYC,EAAaC,GAAS,KA+C/GhvH,QAAS,SAAUiV,EAAKomC,EAAQizE,GAE5B,GAAIrsH,KAAK+C,KAAKsnC,aAAe7oC,EAAOmV,MACpC,CACI,IACIq2G,EADA7zG,EAAcnZ,KAAK+C,KAAK8B,SAAS6R,WAAWyC,YAGhD,IAAK6zG,KAAS5zE,EAEV,GAAI4zE,EAAMxxB,gBAAiBriF,EAEvB,OAAOnZ,KAAKosH,cAAc,UAAWp5G,EAAKomC,EAAO4zE,QAAQzmH,EAAW8lH,EAAW,QAe3F,OALIjzE,EAAO6zE,WAEPjtH,KAAKosH,cAAc,QAASp5G,EAAKomC,EAAO6zE,eAAW1mH,EAAW8lH,EAAW,QAGtErsH,MA2BXktH,OAAQ,SAAUx7F,EAAMy7F,GAEpB,GAAI1lH,MAAMC,QAAQylH,GAEd,IAASzqH,EAAI,EAAGA,EAAIgvB,EAAK/uB,OAAQD,IAE7B1C,KAAKka,MAAMwX,EAAKhvB,GAAIyqH,EAAKzqH,SAK7B,IAAK,IAAIA,EAAI,EAAGA,EAAIgvB,EAAK/uB,OAAQD,IAE7B1C,KAAKka,MAAMwX,EAAKhvB,IAIxB,OAAO1C,MAwBXu0E,KAAM,SAAUvhE,EAAKqjE,EAAKg2C,GAEtB,OAAOrsH,KAAKosH,cAAc,OAAQp5G,EAAKqjE,OAAK9vE,EAAW8lH,EAAW,SAyBtEhM,KAAM,SAAUrtG,EAAKqjE,EAAKg2C,GAEtB,OAAOrsH,KAAKosH,cAAc,OAAQp5G,EAAKqjE,OAAK9vE,EAAW8lH,EAAW,UAwBtEp/G,OAAQ,SAAU+F,EAAKqjE,EAAKg2C,GAExB,OAAOrsH,KAAKosH,cAAc,SAAUp5G,EAAKqjE,OAAK9vE,EAAW8lH,EAAW,UAwBxEpL,IAAK,SAAUjuG,EAAKqjE,EAAKg2C,GAErB,OAAOrsH,KAAKosH,cAAc,MAAOp5G,EAAKqjE,OAAK9vE,EAAW8lH,EAAW,SA4BrEe,OAAQ,SAAUp6G,EAAKqjE,EAAK1hC,EAAU1L,GAMlC,YAJiB1iC,IAAbouC,IAA0BA,GAAW,IAExB,IAAbA,QAA0CpuC,IAApB0iC,IAAiCA,EAAkBjpC,MAEtEA,KAAKosH,cAAc,SAAUp5G,EAAKqjE,GAAOi2C,WAAW,EAAM33E,SAAUA,EAAU1L,gBAAiBA,IAAmB,EAAO,QA8BpIq4E,OAAQ,SAAUtuG,EAAKqjE,EAAK1hC,EAAU1L,GAOlC,YALiB1iC,IAAbouC,IAA0BA,GAAW,IAGxB,IAAbA,QAA0CpuC,IAApB0iC,IAAiCA,EAAkB0L,GAEtE30C,KAAKosH,cAAc,SAAUp5G,EAAKqjE,GAAO1hC,SAAUA,EAAU1L,gBAAiBA,IAAmB,EAAO,SA0DnHokF,YAAa,SAAUr6G,EAAKqjE,EAAKkoB,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,GAOjF,YALiBt5G,IAAbm5G,IAA0BA,GAAY,QAC3Bn5G,IAAXo5G,IAAwBA,EAAS,QACrBp5G,IAAZq5G,IAAyBA,EAAU,QACpBr5G,IAAfs5G,IAA4BA,EAAa,GAEtC7/G,KAAKosH,cAAc,cAAep5G,EAAKqjE,GAAOkoB,WAAYA,EAAYC,YAAaA,EAAakhB,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,EAASC,WAAYA,IAAc,EAAO,SA4BlM5rC,MAAO,SAAUjhE,EAAKm6G,EAAMG,GAExB,OAAIttH,KAAK+C,KAAKsjC,MAAMknF,QAETvtH,WAGQuG,IAAf+mH,IAA4BA,GAAa,GAEzB,iBAATH,IAEPA,GAASA,IAGNntH,KAAKosH,cAAc,QAASp5G,EAAKm6G,GAAQjyG,OAAQ,KAAMoyG,WAAYA,MA2B9Ep5C,YAAa,SAAUlhE,EAAKm6G,EAAMK,EAASC,EAAUH,GAEjD,OAAIttH,KAAK+C,KAAKsjC,MAAMknF,QAETvtH,WAGKuG,IAAZinH,IAAyBA,EAAU,WACtBjnH,IAAbknH,IAA0BA,EAAW,WACtBlnH,IAAf+mH,IAA4BA,GAAa,GAE7CttH,KAAKi0E,MAAMjhE,EAAKm6G,EAAMG,GAElBE,EAEAxtH,KAAKqgH,KAAKrtG,EAAM,cAAew6G,GAE1BC,GAEmB,iBAAbA,IAEPA,EAAWtL,KAAK3jF,MAAMivF,IAG1BztH,KAAKga,MAAMsrG,QAAQtyG,EAAM,cAAe,GAAIy6G,IAI5CntH,QAAQ+Z,KAAK,8FAGVra,OAeX0tH,YAAa,SAAU16G,EAAKm6G,EAAMK,EAASC,EAAUH,GAEjD,OAAOttH,KAAKk0E,YAAYlhE,EAAKm6G,EAAMK,EAASC,EAAUH,IAgC1Dl3C,MAAO,SAAUpjE,EAAKm6G,EAAMQ,EAAWC,GAqBnC,YAnBkBrnH,IAAdonH,IAIIA,EAFA3tH,KAAK+C,KAAKknB,OAAOm3E,QAEL,aAIA,uBAIL76F,IAAXqnH,IAAwBA,GAAS,GAEjB,iBAATT,IAEPA,GAASA,IAGNntH,KAAKosH,cAAc,QAASp5G,EAAKm6G,GAAQjyG,OAAQ,KAAM0yG,OAAQA,EAAQD,UAAWA,KAoC7F73C,QAAS,SAAU9iE,EAAKqjE,EAAKjiE,EAAMK,GAmB/B,QAjBYlO,IAAR8vE,IAAqBA,EAAM,WAClB9vE,IAAT6N,IAAsBA,EAAO,WAClB7N,IAAXkO,IAAwBA,EAASjT,EAAOuwE,QAAQ87C,KAE/Cx3C,GAAQjiE,IAILiiE,EAFA5hE,IAAWjT,EAAOuwE,QAAQ87C,IAEpB76G,EAAM,OAINA,EAAM,SAKhBoB,EACJ,CACI,OAAQK,GAEJ,KAAKjT,EAAOuwE,QAAQ87C,IAEhB,MAEJ,KAAKrsH,EAAOuwE,QAAQ+7C,WAGI,iBAAT15G,IAEPA,EAAO+tG,KAAK3jF,MAAMpqB,IAK9BpU,KAAKga,MAAMoqG,WAAWpxG,EAAK,KAAMoB,EAAMK,QAIvCzU,KAAKosH,cAAc,UAAWp5G,EAAKqjE,GAAO5hE,OAAQA,IAGtD,OAAOzU,MAcX+tH,WAAY,SAAU/6G,EAAKqjE,EAAKjiE,GAE5B,OAAOpU,KAAK81E,QAAQ9iE,EAAKqjE,EAAKjiE,EAAM5S,EAAOuwE,QAAQ87C,MAcvDG,iBAAkB,SAAUh7G,EAAKqjE,EAAKjiE,GAElC,OAAOpU,KAAK81E,QAAQ9iE,EAAKqjE,EAAKjiE,EAAM5S,EAAOuwE,QAAQ+7C,aAkCvDrnF,QAAS,SAAUzzB,EAAKqjE,EAAKjiE,EAAMK,GA0B/B,YAxBYlO,IAAR8vE,IAAqBA,EAAM,WAClB9vE,IAAT6N,IAAsBA,EAAO,WAClB7N,IAAXkO,IAAwBA,EAASjT,EAAO6wC,QAAQ47E,kBAE/C53C,GAAQjiE,IAETiiE,EAAMrjE,EAAM,SAIZoB,GAEoB,iBAATA,IAEPA,EAAO+tG,KAAK3jF,MAAMpqB,IAGtBpU,KAAKga,MAAMmqG,eAAenxG,EAAK,KAAMoB,EAAMK,IAI3CzU,KAAKosH,cAAc,UAAWp5G,EAAKqjE,GAAO5hE,OAAQA,IAG/CzU,MAyCXuhH,WAAY,SAAUvuG,EAAKk7G,EAAYC,EAAU1J,EAAWjvC,EAAUC,GAmBlE,QAjBmBlvE,IAAf2nH,GAA2C,OAAfA,IAE5BA,EAAal7G,EAAM,aAGNzM,IAAb4nH,IAA0BA,EAAW,WACvB5nH,IAAdk+G,IAA2BA,EAAY,MAE1B,OAAb0J,GAAmC,OAAd1J,IAErB0J,EAAWn7G,EAAM,aAGJzM,IAAbivE,IAA0BA,EAAW,QACxBjvE,IAAbkvE,IAA0BA,EAAW,GAGrC04C,EAEAnuH,KAAKosH,cAAc,aAAcp5G,EAAKk7G,GAAcC,SAAUA,EAAU34C,SAAUA,EAAUC,SAAUA,SAKtG,GAAyB,iBAAdgvC,EACX,CACI,IAAIpE,EAAMY,EAEV,IAEIZ,EAAO8B,KAAK3jF,MAAMimF,GAEtB,MAAO91G,GAEHsyG,EAAMjhH,KAAKouH,SAAS3J,GAGxB,IAAKxD,IAAQZ,EAET,MAAM,IAAIt3G,MAAM,kDAGpB/I,KAAKosH,cAAc,aAAcp5G,EAAKk7G,GAClCC,SAAU,KAAM1J,UAAWpE,GAAQY,EACnCyD,UAAYrE,EAAO,OAAS,MAAQ7qC,SAAUA,EAAUC,SAAUA,IAK9E,OAAOz1E,MA2CXquH,eAAgB,SAAUr7G,EAAKk7G,EAAYC,EAAU1J,GAEjD,OAAOzkH,KAAKsuH,MAAMt7G,EAAKk7G,EAAYC,EAAU1J,EAAWjjH,EAAO47C,OAAOouE,2BA2C1E+C,cAAe,SAAUv7G,EAAKk7G,EAAYC,EAAU1J,GAEhD,OAAOzkH,KAAKsuH,MAAMt7G,EAAKk7G,EAAYC,EAAU1J,EAAWjjH,EAAO47C,OAAOquE,0BA2C1E+C,SAAU,SAAUx7G,EAAKk7G,EAAYC,EAAU1J,GAU3C,YARiBl+G,IAAb4nH,IAA0BA,EAAW,WACvB5nH,IAAdk+G,IAA2BA,EAAY,MAEtC0J,GAAa1J,IAEd0J,EAAWn7G,EAAM,QAGdhT,KAAKsuH,MAAMt7G,EAAKk7G,EAAYC,EAAU1J,EAAWjjH,EAAO47C,OAAOyoE,6BA0C1EyI,MAAO,SAAUt7G,EAAKk7G,EAAYC,EAAU1J,EAAWhwG,GAwBnD,QAtBmBlO,IAAf2nH,GAA2C,OAAfA,IAE5BA,EAAal7G,EAAM,aAGNzM,IAAb4nH,IAA0BA,EAAW,WACvB5nH,IAAdk+G,IAA2BA,EAAY,WAC5Bl+G,IAAXkO,IAAwBA,EAASjT,EAAO47C,OAAOouE,0BAE9C2C,GAAa1J,IAIV0J,EAFA15G,IAAWjT,EAAO47C,OAAOyoE,2BAEd7yG,EAAM,OAINA,EAAM,SAKrBm7G,EAEAnuH,KAAKosH,cAAc,eAAgBp5G,EAAKk7G,GAAcC,SAAUA,EAAU15G,OAAQA,QAGtF,CACI,OAAQA,GAEJ,KAAKjT,EAAO47C,OAAOouE,yBAGU,iBAAd/G,IAEPA,EAAYtC,KAAK3jF,MAAMimF,IAE3B,MAEJ,KAAKjjH,EAAO47C,OAAOyoE,2BAGf,GAAyB,iBAAdpB,EACX,CACI,IAAIxD,EAAMjhH,KAAKouH,SAAS3J,GAExB,IAAKxD,EAED,MAAM,IAAIl4G,MAAM,kDAGpB07G,EAAYxD,GAKxBjhH,KAAKosH,cAAc,eAAgBp5G,EAAKk7G,GAAcC,SAAU,KAAM1J,UAAWA,EAAWhwG,OAAQA,IAGxG,OAAOzU,MAgBXyuH,cAAe,SAAU95E,EAAU1L,GAE/BjpC,KAAK+qH,sBAEL,IAEIp2E,EAASnwC,KAAKykC,GAAmBjpC,KAAMA,MAE3C,QAEIA,KAAK+qH,sBAGT,OAAO/qH,MAcX0uH,aAAc,SAAUl7G,EAAMR,GAE1B,IAAI27G,EAAQ3uH,KAAKksH,SAAS14G,EAAMR,GAOhC,OALI27G,IAEAA,EAAMpuB,KAAK+rB,WAAY,GAGpBtsH,MAaX4uH,WAAY,SAAUp7G,EAAMR,GAExB,IAAI27G,EAAQ3uH,KAAKksH,SAAS14G,EAAMR,GAE5B27G,IAEKA,EAAM3C,QAAW2C,EAAM1C,SAExBjsH,KAAKgrH,UAAUliH,OAAO6lH,EAAM/lH,MAAO,KAW/CihC,UAAW,WAEP7pC,KAAKgrH,UAAUroH,OAAS,EACxB3C,KAAKirH,aAAatoH,OAAS,GAQ/B2J,MAAO,WAECtM,KAAKiqH,YAKTjqH,KAAKmN,WAAY,EACjBnN,KAAKiqH,WAAY,EAEjBjqH,KAAK6uH,iBAEL7uH,KAAK8uH,qBAgBTA,iBAAkB,WAEd,IAAK9uH,KAAKiqH,UAIN,OAFA3pH,QAAQ+Z,KAAK,wDACbra,KAAK+uH,iBAAgB,GAKzB,IAASrsH,EAAI,EAAGA,EAAI1C,KAAKirH,aAAatoH,OAAQD,MAEtC69F,EAAOvgG,KAAKirH,aAAavoH,IAEpBspH,QAAUzrB,EAAKhgG,SAEpBP,KAAKirH,aAAaniH,OAAOpG,EAAG,GAC5BA,IAEA69F,EAAK0rB,SAAU,EACf1rB,EAAKyuB,WAAa,KAClBzuB,EAAK0uB,cAAgB,KAEjB1uB,EAAKhgG,OAELP,KAAK4qH,YAAYxlF,SAASm7D,EAAKvtF,IAAKutF,GAGtB,aAAdA,EAAK/sF,MAELxT,KAAKurH,mBACLvrH,KAAK2qH,eAAevlF,SAASplC,KAAKkvH,SAAU3uB,EAAKvtF,KAAMutF,EAAKhgG,MAAOP,KAAKurH,iBAAkBvrH,KAAKqrH,kBAE5E,aAAd9qB,EAAK/sF,MAAuB+sF,EAAKhgG,QAGtCP,KAAKsrH,mBACLtrH,KAAKyqH,eAAerlF,SAASm7D,EAAKvtF,KAAMutF,EAAKhgG,MAAOP,KAAKsrH,iBAAkBtrH,KAAKorH,mBAU5F,IAAK,IAJD+D,GAAY,EAEZC,EAAgBpvH,KAAK6qH,eAAiBnnH,KAAKuC,IAAI,EAAGjG,KAAK8qH,sBAAwB,EAE1EpoH,EAAI1C,KAAKkrH,gBAAiBxoH,EAAI1C,KAAKgrH,UAAUroH,OAAQD,IAC9D,CACI,IAAI69F,EAAOvgG,KAAKgrH,UAAUtoH,GA2D1B,GAxDkB,aAAd69F,EAAK/sF,OAAwB+sF,EAAKhgG,OAASggG,EAAKyrB,QAAUtpH,IAAM1C,KAAKkrH,kBAGrElrH,KAAKqvH,YAAY9uB,GAEjBvgG,KAAKsrH,mBACLtrH,KAAKyqH,eAAerlF,SAASm7D,EAAKvtF,KAAMutF,EAAKhgG,MAAOP,KAAKsrH,iBAAkBtrH,KAAKorH,kBAGhF7qB,EAAKyrB,QAAUzrB,EAAKhgG,MAGhBmC,IAAM1C,KAAKkrH,kBAEXlrH,KAAKkrH,gBAAkBxoH,EAAI,IAGzB69F,EAAK0rB,SAAWjsH,KAAKirH,aAAatoH,OAASysH,IAG/B,aAAd7uB,EAAK/sF,MAAwB+sF,EAAKnsF,KAW5B+6G,IAEDnvH,KAAKmrH,mBAENnrH,KAAKmrH,kBAAmB,EACxBnrH,KAAKsqH,YAAYllF,YAGrBplC,KAAKirH,aAAanjH,KAAKy4F,GACvBA,EAAK0rB,SAAU,EACfjsH,KAAK0qH,YAAYtlF,SAASplC,KAAKkvH,SAAU3uB,EAAKvtF,IAAKutF,EAAKlqB,KAExDr2E,KAAKsvH,SAAS/uB,KAjBdvgG,KAAKirH,aAAanjH,KAAKy4F,GACvBA,EAAK0rB,SAAU,EAEfjsH,KAAKsvH,SAAS/uB,MAkBjBA,EAAKyrB,QAAUzrB,EAAK+rB,YAErB6C,GAAY,GAOZnvH,KAAKirH,aAAatoH,QAAUysH,GAC3BD,GAAanvH,KAAKsrH,mBAAqBtrH,KAAKorH,gBAE7C,MAUR,GANAprH,KAAK6uH,iBAMD7uH,KAAKkrH,iBAAmBlrH,KAAKgrH,UAAUroH,OAEvC3C,KAAK+uH,uBAEJ,IAAK/uH,KAAKirH,aAAatoH,OAC5B,CAKIrC,QAAQ+Z,KAAK,8EAEb,IAAIgyB,EAAQrsC,KAEZ+jG,WAAW,WAEP13D,EAAM0iF,iBAAgB,IACvB,OAWXA,gBAAiB,SAAUQ,IAGnBvvH,KAAKmN,WAAcnN,KAAK+C,KAAKujC,QAKjCtmC,KAAKmN,WAAY,EACjBnN,KAAKiqH,WAAY,EAGZsF,GAAavvH,KAAKmrH,mBAEnBnrH,KAAKmrH,kBAAmB,EACxBnrH,KAAKsqH,YAAYllF,YAGrBplC,KAAK+C,KAAKujC,MAAMK,aAChB3mC,KAAKuqH,qBAAqBnlF,WAC1BplC,KAAK+lC,QACL/lC,KAAKwqH,eAAeplF,WACpBplC,KAAK+C,KAAKujC,MAAMsD,iBAYpB4lF,cAAe,SAAUjvB,EAAMkvB,QAENlpH,IAAjBkpH,IAA8BA,EAAe,IAEjDlvB,EAAKyrB,QAAS,EACdzrB,EAAKhgG,QAAUkvH,EAEXA,IAEAlvB,EAAKkvB,aAAeA,EAEpBnvH,QAAQ+Z,KAAK,mBAAqBkmF,EAAK/sF,KAAO,IAAM+sF,EAAKvtF,IAAM,MAAay8G,IAGhFzvH,KAAK8uH,oBAUTO,YAAa,SAAU5C,GAEnB,IAAIiD,EAAWjD,EAAKr4G,KAAKq4G,EAAKz5G,KAE9B,GAAK08G,EAML,IAAK,IAAIhtH,EAAI,EAAGA,EAAIgtH,EAAS/sH,OAAQD,IACrC,CACI,IAAI69F,EAAOmvB,EAAShtH,GAEpB,OAAQ69F,EAAK/sF,MAET,IAAK,QACDxT,KAAKka,MAAMqmF,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK8rB,WACpC,MAEJ,IAAK,OACDrsH,KAAKu0E,KAAKgsB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK8rB,WACnC,MAEJ,IAAK,OACDrsH,KAAKqgH,KAAK9f,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK8rB,WACnC,MAEJ,IAAK,MACDrsH,KAAKihH,IAAI1gB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK8rB,WAClC,MAEJ,IAAK,SACDrsH,KAAKotH,OAAO7sB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK5rD,SAAU83E,EAAKxjF,iBAAmBjpC,MACvE,MAEJ,IAAK,SACDA,KAAKshH,OAAO/gB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK5rD,SAAU83E,EAAKxjF,iBAAmBjpC,MACvE,MAEJ,IAAK,cACDA,KAAKqtH,YAAY9sB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKhC,WAAYgC,EAAK/B,YAAa+B,EAAKmf,SAAUnf,EAAKof,OAAQpf,EAAKqf,QAASrf,EAAKsf,YACvH,MAEJ,IAAK,QACD7/G,KAAKo2E,MAAMmqB,EAAKvtF,IAAKutF,EAAK4sB,MAC1B,MAEJ,IAAK,QACDntH,KAAKi0E,MAAMssB,EAAKvtF,IAAKutF,EAAK4sB,KAAM5sB,EAAK+sB,YACrC,MAEJ,IAAK,cACDttH,KAAK0tH,YAAYntB,EAAKvtF,IAAKutF,EAAK4sB,KAAM5sB,EAAKitB,QAASjtB,EAAKktB,SAAUltB,EAAK+sB,YACxE,MAEJ,IAAK,UACDttH,KAAK81E,QAAQyqB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAM5S,EAAOuwE,QAAQwuB,EAAK9rF,SAChE,MAEJ,IAAK,UACDzU,KAAKymC,QAAQ85D,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAM5S,EAAO47C,OAAOmjD,EAAK9rF,SAC/D,MAEJ,IAAK,aACDzU,KAAKuhH,WAAWhhB,EAAKvtF,IAAKutF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,UAAWlkB,EAAK/qB,SAAU+qB,EAAK9qB,UAC9F,MAEJ,IAAK,iBACDz1E,KAAKquH,eAAe9tB,EAAKvtF,IAAKutF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,WACnE,MAEJ,IAAK,gBACDzkH,KAAKuuH,cAAchuB,EAAKvtF,IAAKutF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,WAClE,MAEJ,IAAK,WACDzkH,KAAKwuH,SAASjuB,EAAKvtF,IAAKutF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,WAC7D,MAEJ,IAAK,QACDzkH,KAAKsuH,MAAM/tB,EAAKvtF,IAAKutF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,UAAWjjH,EAAO47C,OAAOmjD,EAAK9rF,SACxF,MAEJ,IAAK,SACDzU,KAAKiN,OAAOszF,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAK8rB,iBA/E7C/rH,QAAQ+Z,KAAK,mBAAqBoyG,EAAKz5G,IAAM,0CAgGrD28G,aAAc,SAAUt5C,EAAKkqB,GAEzB,QAAKlqB,IAKDA,EAAIzL,MAAM,8CAEHyL,EAIAr2E,KAAK4pH,QAAUrpB,EAAKtR,KAAO5Y,IAa1Ci5C,SAAU,SAAU/uB,GAGhB,OAAQA,EAAK/sF,MAET,IAAK,WACDxT,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAK6vH,cACnE,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACD7vH,KAAK8vH,aAAavvB,GAClB,MAEJ,IAAK,QACDA,EAAKlqB,IAAMr2E,KAAK+vH,YAAYxvB,EAAKlqB,KAE7BkqB,EAAKlqB,IAGDr2E,KAAK+C,KAAKsjC,MAAM2pF,cAEhBhwH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,cAAevgG,KAAK6vH,cAErE7vH,KAAK+C,KAAKsjC,MAAM4pF,eAErBjwH,KAAKkwH,aAAa3vB,GAKtBvgG,KAAKmwH,UAAU5vB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,QACDA,EAAKlqB,IAAMr2E,KAAKowH,YAAY7vB,EAAKlqB,KAE7BkqB,EAAKlqB,IAEDkqB,EAAKqtB,OAEL5tH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAK6vH,cAInE7vH,KAAKqwH,aAAa9vB,GAKtBvgG,KAAKmwH,UAAU5vB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,OAEDvgG,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAKswH,kBACnE,MAEJ,IAAK,MAEDtwH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAKuwH,iBACnE,MAEJ,IAAK,UAEGhwB,EAAK9rF,SAAWjT,EAAOuwE,QAAQ+7C,WAE/B9tH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAKswH,kBAE9D/vB,EAAK9rF,SAAWjT,EAAOuwE,QAAQ87C,IAEpC7tH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAKwwH,iBAInExwH,KAAKwvH,cAAcjvB,EAAM,2BAA6BA,EAAK9rF,QAE/D,MAEJ,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDzU,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQvgG,KAAK6vH,cACnE,MAEJ,IAAK,UAEiC,cAA9BtvB,EAAKvtF,IAAI6e,MAAM,KAAKjR,MAEpB5gB,KAAK8vH,aAAavvB,GAIlBvgG,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,cAAevgG,KAAK6vH,cAE9E,MAEJ,IAAK,SACD7vH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,cAAevgG,KAAK6vH,gBAStFC,aAAc,SAAUvvB,GAEpB,IAAIl0D,EAAQrsC,KAEZugG,EAAKnsF,KAAO,IAAIq/D,MAChB8sB,EAAKnsF,KAAK4d,KAAOuuE,EAAKvtF,IAElBhT,KAAKmqH,cAEL5pB,EAAKnsF,KAAK+1G,YAAcnqH,KAAKmqH,aAGjC5pB,EAAKnsF,KAAKynE,OAAS,WAEX0kB,EAAKnsF,KAAKynE,SAEV0kB,EAAKnsF,KAAKynE,OAAS,KACnB0kB,EAAKnsF,KAAK0nE,QAAU,KACpBzvC,EAAMwjF,aAAatvB,KAI3BA,EAAKnsF,KAAK0nE,QAAU,WAEZykB,EAAKnsF,KAAKynE,SAEV0kB,EAAKnsF,KAAKynE,OAAS,KACnB0kB,EAAKnsF,KAAK0nE,QAAU,KACpBzvC,EAAM8jF,UAAU5vB,KAIxBA,EAAKnsF,KAAKvE,IAAM7P,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,IAOvCvgG,KAAK+C,KAAKknB,OAAOm3E,SAAWb,EAAKnsF,KAAKgW,UAAYm2E,EAAKnsF,KAAKxW,OAAS2iG,EAAKnsF,KAAKvW,SAEhF0iG,EAAKnsF,KAAKynE,OAAS,KACnB0kB,EAAKnsF,KAAK0nE,QAAU,KACpB97E,KAAK6vH,aAAatvB,KAQ1B8vB,aAAc,SAAU9vB,GAEpB,IAAIl0D,EAAQrsC,KAEZugG,EAAKnsF,KAAO47B,SAAS0mD,cAAc,SACnC6J,EAAKnsF,KAAK4d,KAAOuuE,EAAKvtF,IACtButF,EAAKnsF,KAAKq8G,UAAW,EACrBlwB,EAAKnsF,KAAKs8G,UAAW,EACrBnwB,EAAKnsF,KAAKu8G,aAAc,EAExB,IAAIC,EAAiB,WAEjBrwB,EAAKnsF,KAAKw9B,oBAAoB2uD,EAAKotB,UAAWiD,GAAgB,GAC9DrwB,EAAKnsF,KAAK0nE,QAAU,KACpBykB,EAAKnsF,KAAKy8G,SAAU,EACpBrvH,EAAOiqB,MAAM4gB,EAAMtpC,KAAKmR,IAAIkyB,KAAKypF,aAAatvB,IAGlDA,EAAKnsF,KAAK0nE,QAAU,WAEhBykB,EAAKnsF,KAAKw9B,oBAAoB2uD,EAAKotB,UAAWiD,GAAgB,GAC9DrwB,EAAKnsF,KAAK0nE,QAAU,KACpBykB,EAAKnsF,KAAKy8G,SAAU,EACpBxkF,EAAM8jF,UAAU5vB,IAGpBA,EAAKnsF,KAAKu8B,iBAAiB4vD,EAAKotB,UAAWiD,GAAgB,GAE3DrwB,EAAKnsF,KAAKvE,IAAM7P,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAC5CA,EAAKnsF,KAAKgyB,QAOd8pF,aAAc,SAAU3vB,GAEpB,IAAIl0D,EAAQrsC,KAEZ,GAAIA,KAAK+C,KAAKsjC,MAAM49E,YAGhB1jB,EAAKnsF,KAAO,IAAI08G,MAChBvwB,EAAKnsF,KAAK4d,KAAOuuE,EAAKvtF,IACtButF,EAAKnsF,KAAKsyB,QAAU,OACpB65D,EAAKnsF,KAAKvE,IAAM7P,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAE5CvgG,KAAK6vH,aAAatvB,OAGtB,CACIA,EAAKnsF,KAAO,IAAI08G,MAChBvwB,EAAKnsF,KAAK4d,KAAOuuE,EAAKvtF,IAEtB,IAAI+9G,EAAmB,WAEnBxwB,EAAKnsF,KAAKw9B,oBAAoB,iBAAkBm/E,GAAkB,GAClExwB,EAAKnsF,KAAK0nE,QAAU,KACpBzvC,EAAMwjF,aAAatvB,IAGvBA,EAAKnsF,KAAK0nE,QAAU,WAEhBykB,EAAKnsF,KAAKw9B,oBAAoB,iBAAkBm/E,GAAkB,GAClExwB,EAAKnsF,KAAK0nE,QAAU,KACpBzvC,EAAM8jF,UAAU5vB,IAGpBA,EAAKnsF,KAAKsyB,QAAU,OACpB65D,EAAKnsF,KAAKvE,IAAM7P,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,GAC5CA,EAAKnsF,KAAKu8B,iBAAiB,iBAAkBogF,GAAkB,GAC/DxwB,EAAKnsF,KAAKgyB,SAiBlBwpF,QAAS,SAAUrvB,EAAMlqB,EAAK7iE,EAAMqoE,EAAQC,GAExC,IAAIk1C,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAO76C,GAAK,GACrB26C,EAAIG,aAAe39G,GAEgB,IAA/BxT,KAAKoqH,QAAQC,eAEb2G,EAAII,iBAAiB,mBAAoBpxH,KAAKoqH,QAAQC,eAGtDrqH,KAAKoqH,QAAQ7pB,EAAK/sF,OAElBw9G,EAAII,iBAAiB,SAAUpxH,KAAKoqH,QAAQ7pB,EAAK/sF,OAGrDsoE,EAAUA,GAAW97E,KAAKmwH,UAE1B,IAAI9jF,EAAQrsC,KAEZgxH,EAAIn1C,OAAS,WAET,IAEI,OAAuB,IAAnBm1C,EAAIltB,YAAoBktB,EAAIvZ,QAAU,KAAOuZ,EAAIvZ,QAAU,IAEpD37B,EAAQt3E,KAAK6nC,EAAOk0D,EAAMywB,GAI1Bn1C,EAAOr3E,KAAK6nC,EAAOk0D,EAAMywB,GAGxC,MAAOriH,GAOE09B,EAAMl/B,UAKPiD,OAAO9P,SAEPA,QAAQC,MAAMoO,GALd09B,EAAMmjF,cAAcjvB,EAAM5xF,EAAE0iH,SAAW,eAUnDL,EAAIl1C,QAAU,WAEV,IAEI,OAAOA,EAAQt3E,KAAK6nC,EAAOk0D,EAAMywB,GAErC,MAAOriH,GAEE09B,EAAMl/B,UAKPiD,OAAO9P,SAEPA,QAAQC,MAAMoO,GALd09B,EAAMmjF,cAAcjvB,EAAM5xF,EAAE0iH,SAAW,eAUnD9wB,EAAK0uB,cAAgB+B,EACrBzwB,EAAKyuB,WAAa34C,EAElB26C,EAAIM,QAaRlB,YAAa,SAAUjD,GAEnB,IAAK,IAAIzqH,EAAI,EAAGA,EAAIyqH,EAAKxqH,OAAQD,IACjC,CACI,IACI6uH,EADAl7C,EAAM82C,EAAKzqH,GAGf,GAAI2zE,EAAIm7C,KAKJ,GAHAD,EAAYl7C,EAAI7iE,KAChB6iE,EAAMA,EAAIm7C,IAENxxH,KAAK+C,KAAKknB,OAAO6+E,aAAayoB,GAE9B,OAAOl7C,MAIf,CAEI,GAA6B,IAAzBA,EAAIhtE,QAAQ,UAA2C,IAAzBgtE,EAAIhtE,QAAQ,SAE1C,OAAOgtE,EAYX,GATIA,EAAIhtE,QAAQ,MAAQ,IAEpBgtE,EAAMA,EAAIxtD,OAAO,EAAGwtD,EAAIhtE,QAAQ,OAKpCkoH,EAFgBl7C,EAAIxtD,QAAQnlB,KAAKuC,IAAI,EAAGowE,EAAIo7C,YAAY,OAAS5mH,EAAAA,GAAY,GAEvDsjD,cAElBnuD,KAAK+C,KAAKknB,OAAO6+E,aAAayoB,GAE9B,OAAOpE,EAAKzqH,IAKxB,OAAO,MAaXqtH,YAAa,SAAU5C,GAEnB,GAAIntH,KAAK+C,KAAKsjC,MAAMknF,QAEhB,OAAO,KAGX,IAAK,IAAI7qH,EAAI,EAAGA,EAAIyqH,EAAKxqH,OAAQD,IACjC,CACI,IACIgvH,EADAr7C,EAAM82C,EAAKzqH,GAGf,GAAI2zE,EAAIm7C,KAKJ,GAHAE,EAAYr7C,EAAI7iE,KAChB6iE,EAAMA,EAAIm7C,IAENxxH,KAAK+C,KAAKknB,OAAO4+E,aAAa6oB,GAE9B,OAAOr7C,MAIf,CAEI,GAA6B,IAAzBA,EAAIhtE,QAAQ,UAA2C,IAAzBgtE,EAAIhtE,QAAQ,SAE1C,OAAOgtE,EAYX,GATIA,EAAIhtE,QAAQ,MAAQ,IAEpBgtE,EAAMA,EAAIxtD,OAAO,EAAGwtD,EAAIhtE,QAAQ,OAKpCqoH,EAFgBr7C,EAAIxtD,QAAQnlB,KAAKuC,IAAI,EAAGowE,EAAIo7C,YAAY,OAAS5mH,EAAAA,GAAY,GAEvDsjD,cAElBnuD,KAAK+C,KAAKknB,OAAO4+E,aAAa6oB,GAE9B,OAAOvE,EAAKzqH,IAKxB,OAAO,MAYXytH,UAAW,SAAU5vB,EAAMywB,EAAKW,GAE5B,IACIN,EAAU,iCADJ9wB,EAAKyuB,YAAchvH,KAAK2vH,aAAapvB,EAAKlqB,IAAKkqB,KAGpDoxB,GAAUX,IAEXW,EAASX,EAAIvZ,QAGbka,IAEAN,EAAUA,EAAU,KAAOM,EAAS,KAGxC3xH,KAAKwvH,cAAcjvB,EAAM8wB,IAW7BxB,aAAc,SAAUtvB,EAAMywB,GAE1B,IAAIY,GAAW,EAEf,OAAQrxB,EAAK/sF,MAET,IAAK,WAGGY,EAAO+tG,KAAK3jF,MAAMwyF,EAAIa,cAC1BtxB,EAAKnsF,KAAOA,MACZ,MAEJ,IAAK,UAED,IAAI6uG,EAAY,aAAextB,KAAK8K,EAAKlqB,IAAIxkD,MAAM,IAAK,GAAG,IAAI,GAAGs8B,cAChD,OAAdoyC,EAAKnsF,KAELpU,KAAKga,MAAMgpG,6BAA6BziB,EAAKvtF,IAAKutF,EAAKlqB,IAAK4sC,EAAW1iB,EAAKnsF,MAI5EpU,KAAKga,MAAMgpG,6BAA6BziB,EAAKvtF,IAAKutF,EAAKlqB,IAAK4sC,EAAW+N,EAAIc,UAE/E,MAEJ,IAAK,QAED9xH,KAAKga,MAAM+hE,SAASwkB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,MAC7C,MAEJ,IAAK,cAEDpU,KAAKga,MAAM2rG,eAAeplB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAMmsF,EAAKhC,WAAYgC,EAAK/B,YAAa+B,EAAKmf,SAAUnf,EAAKof,OAAQpf,EAAKqf,QAASrf,EAAKsf,YAC3I,MAEJ,IAAK,eAED,GAAqB,MAAjBtf,EAAK4tB,SAELnuH,KAAKga,MAAM4rG,gBAAgBrlB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAMmsF,EAAKkkB,UAAWlkB,EAAK9rF,aAO/E,GAFAm9G,GAAW,EAEPrxB,EAAK9rF,SAAWjT,EAAO47C,OAAOouE,0BAA4BjrB,EAAK9rF,SAAWjT,EAAO47C,OAAOquE,yBAA2BlrB,EAAK9rF,SAAWjT,EAAO47C,OAAO0oE,yBAEjJ9lH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAK4tB,SAAU5tB,GAAO,OAAQvgG,KAAKswH,sBAEvE,CAAA,GAAI/vB,EAAK9rF,SAAWjT,EAAO47C,OAAOyoE,2BAMnC,MAAM,IAAI98G,MAAM,gDAAkDw3F,EAAK9rF,QAJvEzU,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAK4tB,SAAU5tB,GAAO,OAAQvgG,KAAKuwH,iBAOhF,MAEJ,IAAK,aAEIhwB,EAAK4tB,UAONyD,GAAW,EACX5xH,KAAK4vH,QAAQrvB,EAAMvgG,KAAK2vH,aAAapvB,EAAK4tB,SAAU5tB,GAAO,OAAQ,SAAUA,EAAMywB,GAE/E,IAAI3Q,EAEJ,IAGIA,EAAO8B,KAAK3jF,MAAMwyF,EAAIa,cAE1B,MAAOljH,IAEH0xG,GAEA9f,EAAKmkB,UAAY,OACjB1kH,KAAKswH,iBAAiB/vB,EAAMywB,KAI5BzwB,EAAKmkB,UAAY,MACjB1kH,KAAKuwH,gBAAgBhwB,EAAMywB,OAzBnChxH,KAAKga,MAAMwqG,cAAcjkB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAMmsF,EAAKkkB,UAAWlkB,EAAKmkB,UAAWnkB,EAAK/qB,SAAU+qB,EAAK9qB,UA6BhH,MAEJ,IAAK,QAED,GAAI8qB,EAAKqtB,OAEL,IAEIrtB,EAAKnsF,KAAO48G,EAAIc,SAEpB,MAAOnjH,GAEH,MAAM,IAAI5F,MAAM,sDAAwDw3F,EAAKvtF,KAIrFhT,KAAKga,MAAMwrG,SAASjlB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAMmsF,EAAKqtB,QACxD,MAEJ,IAAK,QAEG5tH,KAAK+C,KAAKsjC,MAAM2pF,eAEhBzvB,EAAKnsF,KAAO48G,EAAIc,SAEhB9xH,KAAKga,MAAM6pG,SAAStjB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,MAAM,GAAM,GAErDmsF,EAAK+sB,YAELttH,KAAK+C,KAAKsjC,MAAM0rF,OAAOxxB,EAAKvtF,MAKhChT,KAAKga,MAAM6pG,SAAStjB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,MAAM,GAAO,GAE9D,MAEJ,IAAK,OACDmsF,EAAKnsF,KAAO48G,EAAIa,aAChB7xH,KAAKga,MAAMkqG,QAAQ3jB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,MAC5C,MAEJ,IAAK,SACDmsF,EAAKnsF,KAAO48G,EAAIa,aAChB7xH,KAAKga,MAAM0rG,UAAUnlB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,MAC9C,MAEJ,IAAK,UACD,IAAIA,EAAO+tG,KAAK3jF,MAAMwyF,EAAIa,cAC1B7xH,KAAKga,MAAMmqG,eAAe5jB,EAAKvtF,IAAKutF,EAAKlqB,IAAKjiE,EAAMmsF,EAAK9rF,QACzD,MAEJ,IAAK,SACD8rF,EAAKnsF,KAAO47B,SAAS0mD,cAAc,UACnC6J,EAAKnsF,KAAK49G,SAAW,aACrBzxB,EAAKnsF,KAAKZ,KAAO,kBACjB+sF,EAAKnsF,KAAK69G,OAAQ,EAClB1xB,EAAKnsF,KAAKmgE,KAAOy8C,EAAIa,aACrB7hF,SAASkiF,KAAK3oB,YAAYhJ,EAAKnsF,MAC3BmsF,EAAK5rD,WAEL4rD,EAAKnsF,KAAOmsF,EAAK5rD,SAASnwC,KAAK+7F,EAAKt3D,gBAAiBs3D,EAAKvtF,IAAKg+G,EAAIa,eAEvE,MAEJ,IAAK,SACGtxB,EAAK5rD,SAEL4rD,EAAKnsF,KAAOmsF,EAAK5rD,SAASnwC,KAAK+7F,EAAKt3D,gBAAiBs3D,EAAKvtF,IAAKg+G,EAAIc,UAInEvxB,EAAKnsF,KAAO48G,EAAIc,SAGpB9xH,KAAKga,MAAMsqG,UAAU/jB,EAAKvtF,IAAKutF,EAAKnsF,MAKxCw9G,GAEA5xH,KAAKwvH,cAAcjvB,IAY3B+vB,iBAAkB,SAAU/vB,EAAMywB,GAE9B,IAAI58G,EAAO+tG,KAAK3jF,MAAMwyF,EAAIa,cAER,YAAdtxB,EAAK/sF,KAELxT,KAAKga,MAAMoqG,WAAW7jB,EAAKvtF,IAAKutF,EAAKlqB,IAAKjiE,EAAMmsF,EAAK9rF,QAElC,eAAd8rF,EAAK/sF,KAEVxT,KAAKga,MAAMwqG,cAAcjkB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAMA,EAAMmsF,EAAKmkB,UAAWnkB,EAAK/qB,SAAU+qB,EAAK9qB,UAE/E,SAAd8qB,EAAK/sF,KAEVxT,KAAKga,MAAMsrG,QAAQ/kB,EAAKvtF,IAAKutF,EAAKlqB,IAAKjiE,GAIvCpU,KAAKga,MAAM4rG,gBAAgBrlB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAMA,EAAMmsF,EAAK9rF,QAGzEzU,KAAKwvH,cAAcjvB,IAWvBiwB,gBAAiB,SAAUjwB,EAAMywB,GAE7B,IAAI58G,EAAO48G,EAAIa,aAEf7xH,KAAKga,MAAMoqG,WAAW7jB,EAAKvtF,IAAKutF,EAAKlqB,IAAKjiE,EAAMmsF,EAAK9rF,QAErDzU,KAAKwvH,cAAcjvB,IAWvBgwB,gBAAiB,SAAUhwB,EAAMywB,GAG7B,IAAI58G,EAAO48G,EAAIa,aACX5Q,EAAMjhH,KAAKouH,SAASh6G,GAExB,IAAK6sG,EACL,CACI,IAAIkQ,EAAeH,EAAIG,cAAgBH,EAAImB,YAG3C,OAFA7xH,QAAQ+Z,KAAK,mBAAqBkmF,EAAKvtF,IAAM,kBAAoBm+G,EAAe,UAChFnxH,KAAKwvH,cAAcjvB,EAAM,eAIX,eAAdA,EAAK/sF,KAELxT,KAAKga,MAAMwqG,cAAcjkB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAM6sG,EAAK1gB,EAAKmkB,UAAWnkB,EAAK/qB,SAAU+qB,EAAK9qB,UAE9E,iBAAd8qB,EAAK/sF,KAEVxT,KAAKga,MAAM4rG,gBAAgBrlB,EAAKvtF,IAAKutF,EAAKlqB,IAAKkqB,EAAKnsF,KAAM6sG,EAAK1gB,EAAK9rF,QAEjD,QAAd8rF,EAAK/sF,MAEVxT,KAAKga,MAAMurG,OAAOhlB,EAAKvtF,IAAKutF,EAAKlqB,IAAK4qC,GAG1CjhH,KAAKwvH,cAAcjvB,IAWvB6tB,SAAU,SAAUh6G,GAEhB,IAAI6sG,EAEJ,IAEI,GAAI7wG,OAAOgiH,UACX,CACI,IAAIC,EAAY,IAAID,UACpBnR,EAAMoR,EAAUC,gBAAgBl+G,EAAM,iBAItC6sG,EAAM,IAAIsR,cAAc,qBAGpBC,MAAQ,QACZvR,EAAIwR,QAAQr+G,GAGpB,MAAOzF,GAEHsyG,EAAM,KAGV,OAAKA,GAAQA,EAAI1Y,kBAAmB0Y,EAAIC,qBAAqB,eAAev+G,OAMjEs+G,EAJA,MAcf4N,eAAgB,WAER7uH,KAAKkqH,gBAEgC,IAAjClqH,KAAKkqH,cAAc1lF,UAEnBxkC,KAAKkqH,cAActvF,KAAKh9B,MAAQ8F,KAAKmsB,MAAO7vB,KAAKkqH,cAActsH,MAAQ,IAAOoC,KAAKkvH,UAInFlvH,KAAKkqH,cAActvF,KAAK/8B,OAAS6F,KAAKmsB,MAAO7vB,KAAKkqH,cAAcrsH,OAAS,IAAOmC,KAAKkvH,UAGrFlvH,KAAKkqH,cAAc5mG,OAEnBtjB,KAAKkqH,cAAc5mG,OAAO2pD,aAK1BjtE,KAAKkqH,cAAgB,OAYjCwI,iBAAkB,WAEd,OAAO1yH,KAAKurH,kBAUhB7hF,iBAAkB,WAEd,OAAO1pC,KAAKqrH,gBAAkBrrH,KAAKurH,kBAUvCoH,iBAAkB,WAEd,OAAO3yH,KAAKorH,iBAUhBzhF,iBAAkB,WAEd,OAAO3pC,KAAKorH,gBAAkBprH,KAAKsrH,mBAc3CtkH,OAAOyF,eAAejL,EAAO47C,OAAO96C,UAAW,iBAE3C4E,IAAK,WAED,IAAIgoH,EAAYlvH,KAAKurH,iBAAmBvrH,KAAKqrH,gBAAmB,IAChE,OAAO7pH,EAAOkC,KAAK+4B,MAAMyyF,GAAY,EAAG,EAAG,QAWnDloH,OAAOyF,eAAejL,EAAO47C,OAAO96C,UAAW,YAE3C4E,IAAK,WAED,OAAOxD,KAAK+xB,MAAMz1B,KAAK4yH,kBAK/BpxH,EAAO47C,OAAO96C,UAAUC,YAAcf,EAAO47C,OAa7C57C,EAAO4hH,cAcH7B,WAAY,SAAUN,EAAK76G,EAAaovE,EAAUC,EAAUpoE,EAAOzI,GAE/D,OAAO5E,KAAK4kH,cAAc3D,EAAK76G,EAAaovE,EAAUC,EAAUpoE,EAAOzI,IAe3EggH,cAAe,SAAU3D,EAAK76G,EAAaovE,EAAUC,EAAUpoE,EAAOzI,GAEhD,MAAdA,IAEAA,EAAa,GAGjB,IAAIwP,KACAy+G,EAAO5R,EAAIC,qBAAqB,QAAQ,GACxC4R,EAAS7R,EAAIC,qBAAqB,UAAU,GAEhD9sG,EAAK+gE,KAAO09C,EAAKE,aAAa,QAC9B3+G,EAAK0N,KAAOqR,SAAS0/F,EAAKE,aAAa,QAAS,IAChD3+G,EAAKg/E,WAAajgE,SAAS2/F,EAAOC,aAAa,cAAe,IAAMt9C,EACpErhE,EAAKkhE,SAOL,IAAK,IALD09C,EAAU/R,EAAIC,qBAAqB,QAEnCn9G,EAAI,EAAUsJ,EAAMtJ,EAAI,EACxBC,EAAI,EAAUqJ,EAAMrJ,EAAI,EAEnBtB,EAAI,EAAGA,EAAIswH,EAAQrwH,OAAQD,IACpC,CACI,IAAIgiE,EAAWvxC,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,MAAO,IAEnDE,EAAO7+G,EAAKkhE,MAAM5Q,IAClB3gE,EAAGovB,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,KAAM,IAC1C/uH,EAAGmvB,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,KAAM,IAC1Cn1H,MAAOu1B,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,SAAU,IAClDl1H,OAAQs1B,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,UAAW,IACpDr9C,QAASviD,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,WAAY,IAAMnuH,EAC5D+wE,QAASxiD,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,WAAY,IAAMnuH,EAC5DqzF,UAAW9kE,SAAS6/F,EAAQtwH,GAAGqwH,aAAa,YAAa,IAAMv9C,GAAY5wE,EAC3EozF,YAEJ,GAAI3qF,GAASA,EAAM8kE,QACnB,CASI,GARI8gD,EAAKlvH,EAAIkvH,EAAKr1H,MAAQyP,EAAM+kE,kBAAoB/kE,EAAMuxG,oBAEtDqU,EAAKr1H,OAASq1H,EAAKlvH,EAAIkvH,EAAKr1H,MAAQyP,EAAM+kE,kBAAoB/kE,EAAMuxG,mBAEpEqU,EAAKjvH,EAAIivH,EAAKp1H,OAASwP,EAAMglE,kBAAoBhlE,EAAMwxG,oBAEvDoU,EAAKp1H,QAAUo1H,EAAKjvH,EAAIivH,EAAKp1H,OAASwP,EAAMglE,kBAAoBhlE,EAAMwxG,mBAEtEoU,EAAKlvH,EAAIsJ,EAAM+kE,kBACnB,CACQksC,EAAOjxG,EAAM+kE,kBAAoB6gD,EAAKlvH,EAC1CkvH,EAAKlvH,EAAI,EACTkvH,EAAKr1H,OAAS0gH,EACd2U,EAAKv9C,SAAW4oC,EAEpB,GAAI2U,EAAKjvH,EAAIqJ,EAAMglE,kBACnB,CACI,IAAIisC,EAAOjxG,EAAMglE,kBAAoB4gD,EAAKjvH,EAC1CivH,EAAKjvH,EAAI,EACTivH,EAAKp1H,QAAUygH,EACf2U,EAAKt9C,SAAW2oC,GAGxB2U,EAAKlvH,GAAKA,EACVkvH,EAAKjvH,GAAKA,EAGd,IAAIkvH,EAAWjS,EAAIC,qBAAqB,WAExC,IAAKx+G,EAAI,EAAGA,EAAIwwH,EAASvwH,OAAQD,IACjC,CACI,IAAI4sD,EAAQn8B,SAAS+/F,EAASxwH,GAAGqwH,aAAa,SAAU,IACpDI,EAAShgG,SAAS+/F,EAASxwH,GAAGqwH,aAAa,UAAW,IACtDn8E,EAASzjB,SAAS+/F,EAASxwH,GAAGqwH,aAAa,UAAW,IAAMnuH,EAE5DwP,EAAKkhE,MAAM69C,KAEX/+G,EAAKkhE,MAAM69C,GAAQn7B,QAAQ1oC,GAAS1Y,GAI5C,OAAO52C,KAAKozH,mBAAmBhtH,EAAagO,IAehDuwG,eAAgB,SAAUtE,EAAMj6G,EAAaovE,EAAUC,EAAUpoE,EAAOzI,GAElD,MAAdA,IAEAA,EAAa,GAGjB,IAAIwP,GACA+gE,KAAMkrC,EAAKlrC,KAAK09C,KAAKQ,MACrBvxG,KAAMqR,SAASktF,EAAKlrC,KAAK09C,KAAKn4C,MAAO,IACrC0Y,WAAYjgE,SAASktF,EAAKlrC,KAAK29C,OAAOQ,YAAa,IAAM79C,EACzDH,UAGAvxE,EAAI,EAAUsJ,EAAMtJ,EAAI,EACxBC,EAAI,EAAUqJ,EAAMrJ,EAAI,EAgE5B,OA9DAq8G,EAAKlrC,KAAKG,MAAM29C,KAAKtiG,QAEjB,SAAoBujE,GAEhB,IAAIxvB,EAAWvxC,SAAS+gE,EAAOq/B,IAAK,IAEhCN,EAAO7+G,EAAKkhE,MAAM5Q,IAClB3gE,EAAGovB,SAAS+gE,EAAOxwC,GAAI,IACvB1/C,EAAGmvB,SAAS+gE,EAAOvwC,GAAI,IACvB/lD,MAAOu1B,SAAS+gE,EAAOxnF,OAAQ,IAC/B7O,OAAQs1B,SAAS+gE,EAAOvnF,QAAS,IACjC+oE,QAASviD,SAAS+gE,EAAOs/B,SAAU,IAAM5uH,EACzC+wE,QAASxiD,SAAS+gE,EAAOu/B,SAAU,IAAM7uH,EACzCqzF,UAAW9kE,SAAS+gE,EAAOw/B,UAAW,IAAMl+C,GAAY5wE,EACxDozF,YAEJ,GAAI3qF,GAASA,EAAM8kE,QACnB,CASI,GARI8gD,EAAKlvH,EAAIkvH,EAAKr1H,MAAQyP,EAAM+kE,kBAAoB/kE,EAAMuxG,oBAEtDqU,EAAKr1H,OAASq1H,EAAKlvH,EAAIkvH,EAAKr1H,MAAQyP,EAAM+kE,kBAAoB/kE,EAAMuxG,mBAEpEqU,EAAKjvH,EAAIivH,EAAKp1H,OAASwP,EAAMglE,kBAAoBhlE,EAAMwxG,oBAEvDoU,EAAKp1H,QAAUo1H,EAAKjvH,EAAIivH,EAAKp1H,OAASwP,EAAMglE,kBAAoBhlE,EAAMwxG,mBAEtEoU,EAAKlvH,EAAIsJ,EAAM+kE,kBACnB,CACQksC,EAAOjxG,EAAM+kE,kBAAoB6gD,EAAKlvH,EAC1CkvH,EAAKlvH,EAAI,EACTkvH,EAAKr1H,OAAS0gH,EACd2U,EAAKv9C,SAAW4oC,EAEpB,GAAI2U,EAAKjvH,EAAIqJ,EAAMglE,kBACnB,CACI,IAAIisC,EAAOjxG,EAAMglE,kBAAoB4gD,EAAKjvH,EAC1CivH,EAAKjvH,EAAI,EACTivH,EAAKp1H,QAAUygH,EACf2U,EAAKt9C,SAAW2oC,GAGxB2U,EAAKlvH,GAAKA,EACVkvH,EAAKjvH,GAAKA,IAKdq8G,EAAKlrC,KAAK+9C,UAAY7S,EAAKlrC,KAAK+9C,SAASl7B,SAEzCqoB,EAAKlrC,KAAK+9C,SAASl7B,QAAQrnE,QAEvB,SAAuBqnE,GAEf5jF,EAAKkhE,MAAM0iB,EAAQ27B,WAEnBv/G,EAAKkhE,MAAM0iB,EAAQ27B,SAAS37B,QAAQA,EAAQ47B,QAAUzgG,SAAS6kE,EAAQ67B,QAAS,IAAMjvH,KAO/F5E,KAAKozH,mBAAmBhtH,EAAagO,IAYhDg/G,mBAAoB,SAAUhtH,EAAa0tH,GAavC,OAXA9sH,OAAO0qB,KAAKoiG,EAAex+C,OAAO3kD,QAE9B,SAAqB+zC,GAEjB,IAAIwvB,EAAS4/B,EAAex+C,MAAM5Q,GAElCwvB,EAAOn2F,QAAU,IAAIS,KAAKqO,QAAQzG,EAAa,IAAI5E,EAAOS,UAAUiyF,EAAOnwF,EAAGmwF,EAAOlwF,EAAGkwF,EAAOt2F,MAAOs2F,EAAOr2F,WAK9Gi2H,GAUXC,IAAK,SAAU7Q,GAoBX,IAIIjnG,EAJA+3G,EAAY,IAAIzxG,YAAY2gG,EAAYlzF,MAAM,EAAG,KACjDikG,EAAY,IAAIjkC,WAAWkzB,GAC3BgR,EAAY,KACZC,EAAeH,EAAU,IAAM,GAAKA,EAAU,GAE9Ct4G,EAAoB,EAExB,GAAqB,WAAjBs4G,EAAU,KAEN,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,IACX3qH,QAAQ8qH,IAAgB,EAE9B,CAcI,OAbIA,GAAe,GAAKA,GAAe,EAEnCl4G,EAAuB,QAElBk4G,GAAe,GAAKA,GAAe,GAExCl4G,EAAuB,OAEF,IAAhBk4G,IAELl4G,EAAuB,QAGnBk4G,GAEJ,KAAK,EACDz4G,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,EAG7Bw4G,GACI9pG,UAAU,EACVi5F,WAAY,MACZpnG,qBAAsBA,EACtBm4G,MAAOJ,EAAU,GACjBG,YAAaA,EACbE,WAAYL,EAAU,GACtBM,YAAaN,EAAU,GACvBn2H,OAAQm2H,EAAU,GAClBp2H,MAAOo2H,EAAU,GACjBO,MAAOP,EAAU,GACjBQ,iBAAkBR,EAAU,GAC5BS,cAAeT,EAAU,IACzBU,gBAAiBV,EAAU,IAC3BW,aAAcX,EAAU,IACxB7/G,YAAa8/G,EAAUhvG,SAAS,GAAK+uG,EAAU,IAAKC,EAAUW,YAC9Dl5G,kBAAmBA,GAI3B,OAAOw4G,GAUXW,IAAK,SAAU3R,GAoCX,IAAI+Q,EAAY,IAAIjkC,WAAWkzB,GAC3B8Q,EAAY,IAAIzxG,YAAY2gG,GAC5B4R,EAAY,KA4DhB,OA1DqB,KAAjBb,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAqCqB,UAnC/Ba,GACI1qG,UAAU,EACVi5F,WAAY,MACZpnG,qBAAsB,OACtB6F,KAAMkyG,EAAU,GAChBI,MAAOJ,EAAU,GACjBn2H,OAAQm2H,EAAU,GAClBp2H,MAAOo2H,EAAU,GACjBe,MAAOf,EAAU,GACjBO,MAAOP,EAAU,GACjBgB,YAAahB,EAAU,GACvBiB,WAAYjB,EAAU,IACtBkB,WAAYlB,EAAU,IACtBmB,cACI3wD,OAAOC,aAAawvD,EAAU,KAC9BzvD,OAAOC,aAAawvD,EAAU,KAC9BzvD,OAAOC,aAAawvD,EAAU,KAC9BzvD,OAAOC,aAAawvD,EAAU,MAChCnkH,KAAK,IACPslH,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,KACX9hH,YAAa8/G,EAAUhvG,SAAS+uG,EAAU,GAAK,EAAGC,EAAUW,cAElDO,cAEVL,EAAUgB,WAAa9B,EAAU,IACjCc,EAAUiB,kBAAoB/B,EAAU,IACxCc,EAAUkB,SAAWhC,EAAU,IAC/Bc,EAAUmB,UAAYjC,EAAU,IAChCc,EAAUkB,SAAWhC,EAAU,KAEA,SAA3Bc,EAAUK,aAEdL,EAAUp5G,kBAAoB,MAEC,SAA3Bo5G,EAAUK,eAEdL,EAAUp5G,kBAAoB,QAI/Bo5G,GAUXoB,IAAK,SAAUhT,GA0BX,IAAI+Q,EAAY,IAAIjkC,WAAWkzB,GAC3B8Q,EAAY,IAAIzxG,YAAY2gG,GAC5BiT,EAAY,KACZC,EAAkB,GAAMpC,EAAU,IAAM,EAAK,EAC7CqC,EAAYrC,EAAUoC,GACtBE,EAAmBtC,EAAU,GAC7B/3G,EAAuB,EAE3B,GAAqB,MAAjBg4G,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,MAKhC,MAGA,MAAQ,MAAQ,MAAQ,MAGxB,MAAQ,MAAQ,MAAQ,OAC1B5qH,QAAQitH,IAAqB,EACnC,CACI,OAAQA,GAEJ,KAAK,MACDr6G,EAAuB,OACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,QACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,OAI/Bk6G,GACI/rG,UAAU,EACVi5F,WAAY,MACZpnG,qBAAsBA,EACtBs6G,WAAYvC,EAAU,GACtBwC,OAAQxC,EAAU,GAClByC,WAAYzC,EAAU,GACtB0C,SAAU1C,EAAU,GACpBsC,iBAAkBtC,EAAU,GAC5B2C,qBAAsB3C,EAAU,GAChCp2H,MAAOo2H,EAAU,GACjBn2H,OAAQm2H,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,EACXliH,YAAa8/G,EAAUhvG,SAAiC,GAAvBmxG,EAAkB,GAAQC,EAAY,MAI/E,OAAOF,GAUXc,IAAK,SAAU/T,GAeX,IAAI+Q,EAAY,IAAIjkC,WAAWkzB,GAC3BgU,EAAY,KAoBhB,OAlBqB,KAAjBjD,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAEViD,GACI9sG,UAAU,EACVi5F,WAAY,MACZpnG,qBAAsB,OACtBxH,OAA+C,OAArCw/G,EAAU,IAAM,EAAIA,EAAU,IACxCr2H,MAA8C,OAArCq2H,EAAU,IAAM,EAAIA,EAAU,IACvCp2H,OAAiD,OAAvCo2H,EAAU,KAAO,EAAIA,EAAU,KACzCkD,cAAwD,OAAvClD,EAAU,KAAO,EAAIA,EAAU,KAChDmD,eAAyD,OAAvCnD,EAAU,KAAO,EAAIA,EAAU,KACjD9/G,YAAa8/G,EAAUhvG,SAAS,GAAIgvG,EAAUtxH,UAI/Cu0H,IAqBf11H,EAAOo3E,YAAc,SAAU71E,EAAMiQ,GAMjChT,KAAK+C,KAAOA,EAMZ/C,KAAKgT,IAAMA,EAMXhT,KAAKwW,OAASxW,KAAK+C,KAAKiX,MAAMorG,QAAQpyG,EAAM,eAM5ChT,KAAKq3H,YAAc,KAOnBr3H,KAAK0wH,UAAW,EAMhB1wH,KAAKs3H,UAEL,IAAK,IAAIngG,KAAKn3B,KAAKwW,OAAO+gH,UAC1B,CACI,IAAI/+C,EAASx4E,KAAKwW,OAAO+gH,UAAUpgG,GAC/BkP,EAAQrmC,KAAK+C,KAAKk2B,IAAIoN,MAAMrmC,KAAKgT,KAErCqzB,EAAMmxF,UAAUrgG,EAAGqhD,EAAOlsE,MAAQksE,EAAOn9D,IAAMm9D,EAAOlsE,MAAQ,KAAMksE,EAAOrN,MAE3EnrE,KAAKs3H,OAAOngG,GAAKkP,EAGjBrmC,KAAKwW,OAAOk6G,WAEZ1wH,KAAKq3H,YAAcr3H,KAAKwW,OAAOk6G,SAC/B1wH,KAAKirE,KAAKjrE,KAAKq3H,aACfr3H,KAAK0wH,SAAW1wH,KAAKs3H,OAAOt3H,KAAKq3H,eAIzC71H,EAAOo3E,YAAYt2E,WAUf2oE,KAAM,SAAUuN,EAAQj3C,GAIpB,YAFeh7B,IAAXg7B,IAAwBA,EAAS,GAE9BvhC,KAAKs3H,OAAO9+C,GAAQvN,KAAKuN,EAAQ,KAAMj3C,IASlDp1B,KAAM,SAAUqsE,GAEZ,GAAKA,EASDx4E,KAAKs3H,OAAO9+C,GAAQrsE,YAPpB,IAAK,IAAI6G,KAAOhT,KAAKs3H,OAEjBt3H,KAAKs3H,OAAOtkH,GAAK7G,QAgB7BjF,IAAK,SAAUsxE,GAEX,OAAOx4E,KAAKs3H,OAAO9+C,KAK3Bh3E,EAAOo3E,YAAYt2E,UAAUC,YAAcf,EAAOo3E,YAkBlDp3E,EAAOm3E,MAAQ,SAAU51E,EAAMiQ,EAAKuuB,EAAQ4pC,EAAMtP,QAE/Bt1D,IAAXg7B,IAAwBA,EAAS,QACxBh7B,IAAT4kE,IAAsBA,GAAO,QACjB5kE,IAAZs1D,IAAyBA,EAAU94D,EAAKsjC,MAAMoxF,iBAMlDz3H,KAAK+C,KAAOA,EAKZ/C,KAAKgyB,KAAOhf,EAKZhT,KAAKgT,IAAMA,EAKXhT,KAAKmrE,KAAOA,EAKZnrE,KAAK03H,WAKL13H,KAAK8N,QAAU,KAKf9N,KAAK0wH,UAAW,EAKhB1wH,KAAK23H,cAAgB,EAMrB33H,KAAKw3G,UAAY,EAKjBx3G,KAAK43H,YAAc,EAKnB53H,KAAK6iC,SAAW,EAKhB7iC,KAAK63H,WAAa,EAKlB73H,KAAKY,SAAW,EAKhBZ,KAAK83H,SAAW,EAMhB93H,KAAK+mC,QAAS,EAKd/mC,KAAK+3H,eAAiB,EAKtB/3H,KAAKg4H,WAAa,EAMlBh4H,KAAK48G,WAAY,EAMjB58G,KAAKi4H,cAAgB,GAKrBj4H,KAAKk4H,UAAY,KAMjBl4H,KAAKm4H,iBAAkB,EAMvBn4H,KAAKo4H,UAAW,EAMhBp4H,KAAKq4H,eAAgB,EAMrBr4H,KAAKs4H,UAAW,EAMhBt4H,KAAKgwH,cAAgBhwH,KAAK+C,KAAKsjC,MAAM2pF,cAMrChwH,KAAKiwH,cAAgBjwH,KAAK+C,KAAKsjC,MAAM4pF,cAKrCjwH,KAAKu4H,aAAe,KAKpBv4H,KAAKw4H,eAAiB,KAKtBx4H,KAAKy4H,SAAW,KAMhBz4H,KAAK04H,OAAS,KAMd14H,KAAK24H,cAAgB,EAMrB34H,KAAK44H,iBAAkB,EAMvB54H,KAAK64H,eAAgB,EAMrB74H,KAAK84H,yBAA0B,EAM/B94H,KAAK+4H,UAAY,EAEb/4H,KAAKgwH,eAELhwH,KAAK8N,QAAU9N,KAAK+C,KAAKsjC,MAAMv4B,QAC/B9N,KAAKw4H,eAAiBx4H,KAAK+C,KAAKsjC,MAAM2yF,gBAENzyH,IAA5BvG,KAAK8N,QAAQmrH,WAEbj5H,KAAKy4H,SAAWz4H,KAAK8N,QAAQorH,iBAI7Bl5H,KAAKy4H,SAAWz4H,KAAK8N,QAAQmrH,aAGjCj5H,KAAKy4H,SAASU,KAAK/xH,MAAQm6B,EAEvBs6B,GAEA77D,KAAKy4H,SAAS58D,QAAQ77D,KAAKw4H,iBAG1Bx4H,KAAKiwH,gBAENjwH,KAAK+C,KAAKiX,MAAMisG,SAASjzG,IAAQhT,KAAK+C,KAAKiX,MAAMssG,aAAatzG,IAE9DhT,KAAK04H,OAAS14H,KAAK+C,KAAKiX,MAAM0tG,aAAa10G,GAC3ChT,KAAK23H,cAAgB,EAEjB33H,KAAK04H,OAAO71F,WAEZ7iC,KAAK23H,cAAgB33H,KAAK04H,OAAO71F,WAKrC7iC,KAAK+C,KAAKiX,MAAM4nG,cAAc3oF,IAAIj5B,KAAKo5H,iBAAkBp5H,OAOjEA,KAAKq5H,UAAY,IAAI73H,EAAO6gC,OAK5BriC,KAAKs5H,OAAS,IAAI93H,EAAO6gC,OAKzBriC,KAAK0oC,QAAU,IAAIlnC,EAAO6gC,OAK1BriC,KAAK4oC,SAAW,IAAIpnC,EAAO6gC,OAK3BriC,KAAKi2G,OAAS,IAAIz0G,EAAO6gC,OAKzBriC,KAAKu5H,OAAS,IAAI/3H,EAAO6gC,OAKzBriC,KAAKw5H,OAAS,IAAIh4H,EAAO6gC,OAKzBriC,KAAKy5H,iBAAmB,IAAIj4H,EAAO6gC,OAKnCriC,KAAKuiC,eAAiB,IAAI/gC,EAAO6gC,OAMjCriC,KAAK05H,QAAUn4F,EAMfvhC,KAAK25H,QAAU,KAMf35H,KAAK45H,QAAS,EAMd55H,KAAK65H,YAAc,EAMnB75H,KAAK85H,cAAgB,EAMrB95H,KAAK+5H,YAAc,EAMnB/5H,KAAKg6H,WAAa,EAMlBh6H,KAAKi6H,YAAc,EAMnBj6H,KAAKk6H,UAAY,EAMjBl6H,KAAK67C,SAAU,EAMf77C,KAAKm6H,2BAA4B,GAGrC34H,EAAOm3E,MAAMr2E,WAQT82H,iBAAkB,SAAUpmH,GAEpBA,IAAQhT,KAAKgT,MAEbhT,KAAK04H,OAAS14H,KAAK+C,KAAKiX,MAAM0tG,aAAa1nH,KAAKgT,KAChDhT,KAAK23H,cAAgB33H,KAAK04H,OAAO71F,WAezC20F,UAAW,SAAUxlG,EAAM1lB,EAAOu2B,EAAUtB,EAAQ4pC,QAE/B5kE,IAAbs8B,GAAuC,OAAbA,IAAqBA,EAAW,QAC/Ct8B,IAAXg7B,GAAmC,OAAXA,IAAmBA,EAAS,QAC3Ch7B,IAAT4kE,IAAsBA,GAAO,GAEjCnrE,KAAK03H,QAAQ1lG,IACTA,KAAMA,EACN1lB,MAAOA,EACPH,KAAMG,EAAQu2B,EACdtB,OAAQA,EACRsB,SAAUA,EACVg1F,WAAuB,IAAXh1F,EACZsoC,KAAMA,IASdivD,aAAc,SAAUpoG,UAEbhyB,KAAK03H,QAAQ1lG,IAUxBqoG,eAAgB,WAEZr6H,KAAKs6H,wBACLt6H,KAAK48G,WAAY,EACjB58G,KAAK43H,YAAc53H,KAAK63H,WACxB73H,KAAKmM,OAEDnM,KAAKs4H,WAELt4H,KAAK44H,iBAAkB,EACvB54H,KAAK84H,yBAA0B,GAG/B94H,KAAK44H,kBAEL54H,KAAKu6H,oBAEDv6H,KAAK84H,wBAEL94H,KAAK+C,KAAKsjC,MAAMlqB,OAAOnc,OAIvBA,KAAK03H,WACL13H,KAAK8N,QAAU,KACf9N,KAAK25H,QAAU,KACf35H,KAAKu4H,aAAe,KAEpBv4H,KAAKq5H,UAAUjtF,UACfpsC,KAAKs5H,OAAOltF,UACZpsC,KAAK0oC,QAAQ0D,UACbpsC,KAAK4oC,SAASwD,UACdpsC,KAAKi2G,OAAO7pE,UACZpsC,KAAKu5H,OAAOntF,UACZpsC,KAAKw5H,OAAOptF,UACZpsC,KAAKy5H,iBAAiBrtF,aAUlCtH,OAAQ,WAEJ,GAAK9kC,KAAK+C,KAAKiX,MAAM4sG,cAAc5mH,KAAKgT,KAAxC,CAMIhT,KAAKw6H,YAAcx6H,KAAKm6H,4BAExBn6H,KAAKq5H,UAAUj0F,SAASplC,MACxBA,KAAKm6H,2BAA4B,GAGjCn6H,KAAKm4H,iBAAmBn4H,KAAK+C,KAAKiX,MAAMssG,aAAatmH,KAAKgT,OAE1DhT,KAAKm4H,iBAAkB,EACvBn4H,KAAKirE,KAAKjrE,KAAK65H,YAAa75H,KAAK85H,cAAe95H,KAAK+5H,YAAa/5H,KAAKk6H,YAG3E,IAAIr9E,EAAM78C,KAAK+C,KAAKmiC,KAAKA,KAEzB,GAAIllC,KAAK48G,UACT,CACI,GAAI58G,KAAK64H,cACT,CACI,IAAIjB,EAAc53H,KAAK04H,OAAOd,YAE9B,KAAIA,IAAgB53H,KAAK+mC,OAAS/mC,KAAKg6H,WAAa,IAAMh6H,KAAKY,UAAY,IAUvE,OARAZ,KAAK64H,eAAgB,EACrB74H,KAAKw3G,UAAY36D,EAAO,IAAO+6E,EAC/B53H,KAAK83H,SAAW93H,KAAKw3G,UAAYx3G,KAAK63H,WAU9C73H,KAAK43H,YAAc/6E,EAAM78C,KAAKw3G,UAE1Bx3G,KAAK43H,aAAe53H,KAAK63H,aAErB73H,KAAKgwH,cAEDhwH,KAAKmrE,MAGLnrE,KAAKi2G,OAAO7wE,SAASplC,MAGrBA,KAAK48G,WAAY,EAEU,KAAvB58G,KAAKi4H,eAELj4H,KAAK43H,YAAc,EACnB53H,KAAKw3G,UAAY36D,EACjB78C,KAAK48G,WAAY,IAIjB58G,KAAKy5H,iBAAiBr0F,SAASplC,KAAKi4H,cAAej4H,MACnDA,KAAKirE,KAAKjrE,KAAKi4H,cAAe,EAAGj4H,KAAKuhC,QAAQ,GAAM,GAAM,KAMnC,KAAvBvhC,KAAKi4H,eAELj4H,KAAKmM,OAIRnM,KAAKmrE,MAEVnrE,KAAKi2G,OAAO7wE,SAASplC,MAEM,KAAvBA,KAAKi4H,gBAELj4H,KAAK43H,YAAc,EACnB53H,KAAKw3G,UAAY36D,GAIrB78C,KAAK48G,WAAY,EAEjB58G,KAAKirE,KAAKjrE,KAAKi4H,cAAe,EAAGj4H,KAAKuhC,QAAQ,GAAM,GAAM,IAI1DvhC,KAAKmM,cA1FbnM,KAAKwC,WAuGbi4H,SAAU,SAAUl5F,GAEhB,OAAOvhC,KAAKirE,KAAK,KAAM,EAAG1pC,GAAQ,IAetC0pC,KAAM,SAAUuN,EAAQ53E,EAAU2gC,EAAQ4pC,EAAMuvD,EAAcpB,GAM1D,QAJe/yH,IAAXiyE,IAAmC,IAAXA,GAA+B,OAAXA,IAAmBA,EAAS,SACvDjyE,IAAjBm0H,IAA8BA,GAAe,QAClCn0H,IAAX+yH,IAAwBA,GAAS,GAEjCt5H,KAAK48G,YAAc58G,KAAKq4H,gBAAkBqC,IAAiB16H,KAAKo4H,SAGhE,OAAOp4H,KAkBX,GAfIA,KAAK04H,QAAU14H,KAAK48G,YAAc58G,KAAKq4H,gBAAkBr4H,KAAKo4H,UAAYsC,KAEtE16H,KAAKgwH,cAELhwH,KAAK26H,2BAEA36H,KAAKiwH,gBAEVjwH,KAAK04H,OAAO/vF,QACZ3oC,KAAK04H,OAAOd,YAAc,GAG9B53H,KAAK48G,WAAY,GAGN,KAAXpkC,GAAiBxxE,OAAO0qB,KAAK1xB,KAAK03H,SAAS/0H,OAAS,EAMpD,OAAO3C,KAGX,GAAe,KAAXw4E,EACJ,CACI,IAAIx4E,KAAK03H,QAAQl/C,GA6Bb,OADAl4E,QAAQ+Z,KAAK,mCAAqCm+D,EAAS,kBACpDx4E,KA3BPA,KAAKi4H,cAAgBz/C,EAGrBx4E,KAAKY,SAAWZ,KAAK03H,QAAQl/C,GAAQlsE,MACrCtM,KAAKuhC,OAASvhC,KAAK03H,QAAQl/C,GAAQj3C,OACnCvhC,KAAKmrE,KAAOnrE,KAAK03H,QAAQl/C,GAAQrN,KACjCnrE,KAAK6iC,SAAW7iC,KAAK03H,QAAQl/C,GAAQ31C,SACrC7iC,KAAK63H,WAAa73H,KAAK03H,QAAQl/C,GAAQq/C,gBAEjB,IAAXt2F,IAEPvhC,KAAKuhC,OAASA,QAGE,IAAT4pC,IAEPnrE,KAAKmrE,KAAOA,GAGhBnrE,KAAK65H,YAAcrhD,EACnBx4E,KAAK85H,cAAgB95H,KAAKY,SAC1BZ,KAAK+5H,YAAc/5H,KAAKuhC,OACxBvhC,KAAKk6H,UAAYl6H,KAAKmrE,UAU1BvqE,EAAWA,GAAY,OAER2F,IAAXg7B,IAAwBA,EAASvhC,KAAK05H,cAC7BnzH,IAAT4kE,IAAsBA,EAAOnrE,KAAKmrE,MAEtCnrE,KAAKY,SAAW8C,KAAKuC,IAAI,EAAGrF,GAC5BZ,KAAKuhC,OAASA,EACdvhC,KAAKmrE,KAAOA,EACZnrE,KAAK6iC,SAAW,EAChB7iC,KAAK63H,WAAa,EAElB73H,KAAK65H,YAAcrhD,EACnBx4E,KAAK85H,cAAgBl5H,EACrBZ,KAAK+5H,YAAcx4F,EACnBvhC,KAAKk6H,UAAY/uD,EAyHrB,OAtHInrE,KAAKgwH,cAGDhwH,KAAK+C,KAAKiX,MAAMqsG,eAAermH,KAAKgT,MAEpChT,KAAK46H,0BAED56H,KAAKmrE,MAAmB,KAAXqN,IAEbx4E,KAAK04H,OAAOvtD,MAAO,GAGlBnrE,KAAKmrE,MAAmB,KAAXqN,GAEdx4E,KAAK66H,qBAGT76H,KAAK23H,cAAgB33H,KAAK04H,OAAOx9G,OAAO2nB,SAElB,IAAlB7iC,KAAK6iC,WAEL7iC,KAAK6iC,SAAW7iC,KAAK23H,cACrB33H,KAAK63H,WAAan0H,KAAKwC,KAA0B,IAArBlG,KAAK23H,gBAGjC33H,KAAKmrE,MAAmB,KAAXqN,EAEbx4E,KAAK86H,aAAa,EAAG,GAIrB96H,KAAK86H,aAAa,EAAG96H,KAAKY,SAAUZ,KAAK6iC,UAG7C7iC,KAAK48G,WAAY,EACjB58G,KAAK+mC,QAAS,EACd/mC,KAAKw3G,UAAYx3G,KAAK+C,KAAKmiC,KAAKA,KAChCllC,KAAK43H,YAAc,EACnB53H,KAAK83H,SAAW93H,KAAKw3G,UAAYx3G,KAAK63H,WAElCyB,GAEAt5H,KAAKs5H,OAAOl0F,SAASplC,QAKzBA,KAAKm4H,iBAAkB,EAEnBn4H,KAAK+C,KAAKiX,MAAMisG,SAASjmH,KAAKgT,OAA0D,IAAlDhT,KAAK+C,KAAKiX,MAAMisG,SAASjmH,KAAKgT,KAAKgxG,YAEzEhkH,KAAK+C,KAAKsjC,MAAM0rF,OAAO/xH,KAAKgT,IAAKhT,OAIpCA,KAAK+C,KAAKiX,MAAMisG,SAASjmH,KAAKgT,MAAQhT,KAAK+C,KAAKiX,MAAMisG,SAASjmH,KAAKgT,KAAK27C,QAE9E3uD,KAAK+C,KAAKiX,MAAMgsG,YAAYhmH,KAAKgT,KACjChT,KAAKm4H,iBAAkB,GAElBn4H,KAAK04H,SAAW14H,KAAK+C,KAAKknB,OAAOi1B,UAAuC,IAA3Bl/C,KAAK04H,OAAO50B,aAE9D9jG,KAAK04H,OAAOztD,OAEZjrE,KAAK04H,OAAOvtD,KAAOnrE,KAAKmrE,KAGxBnrE,KAAK23H,cAAgB33H,KAAK04H,OAAO71F,SAEX,IAAlB7iC,KAAK6iC,WAEL7iC,KAAK6iC,SAAW7iC,KAAK23H,cACrB33H,KAAK63H,WAAkC,IAArB73H,KAAK23H,eAG3B33H,KAAK24H,cAAgB34H,KAAK+C,KAAKsjC,MAAM9E,OAErCvhC,KAAK04H,OAAOd,YAAc53H,KAAKY,SAC/BZ,KAAK04H,OAAOqC,MAAQ/6H,KAAK45H,OAErB55H,KAAK45H,QAAU55H,KAAK+C,KAAKsjC,MAAM20F,KAE/Bh7H,KAAK04H,OAAOn3F,OAAS,EAIrBvhC,KAAK04H,OAAOn3F,OAASvhC,KAAK05H,QAAU15H,KAAK24H,cAG7C34H,KAAK64H,eAAiB74H,KAAKi4H,cAC3Bj4H,KAAK48G,WAAY,EACjB58G,KAAK+mC,QAAS,EACd/mC,KAAKg6H,WAAa,EAClBh6H,KAAKw3G,UAAYx3G,KAAK+C,KAAKmiC,KAAKA,KAChCllC,KAAK43H,YAAc,EACnB53H,KAAK83H,SAAW93H,KAAKw3G,UAAYx3G,KAAK63H,WAElCyB,GAEAt5H,KAAKs5H,OAAOl0F,SAASplC,OAKzBA,KAAKm4H,iBAAkB,EAGvBn4H,KAAKs4H,WAEDt4H,KAAKmrE,MAEL7qE,QAAQ+Z,KAAK,iCAAmCra,KAAKgyB,KAAO,qCAGhEhyB,KAAK44H,iBAAkB,EACvB54H,KAAK84H,yBAA0B,GAG5B94H,MAYXqpC,QAAS,SAAUmvC,EAAQ53E,EAAU2gC,EAAQ4pC,GAEzCqN,EAASA,GAAU,GACnB53E,EAAWA,GAAY,EACvB2gC,EAASA,GAAU,OACNh7B,IAAT4kE,IAAsBA,GAAO,GAEjCnrE,KAAKirE,KAAKuN,EAAQ53E,EAAU2gC,EAAQ4pC,GAAM,IAQ9CxiC,MAAO,WAEC3oC,KAAK48G,YAEL58G,KAAK+mC,QAAS,EACd/mC,KAAK+3H,eAAiB/3H,KAAK43H,YAC3B53H,KAAKg4H,WAAah4H,KAAK+C,KAAKmiC,KAAKA,KACjCllC,KAAKg6H,WAAah6H,KAAK04H,OAAOd,YAC9B53H,KAAK0oC,QAAQtD,SAASplC,MACtBA,KAAKmM,SASb08B,OAAQ,WAEJ,GAAI7oC,KAAK+mC,OACT,CACI,GAAI/mC,KAAKgwH,cACT,CACI,IAAIhtH,EAAIU,KAAKuC,IAAI,EAAGjG,KAAKY,SAAYZ,KAAK+3H,eAAiB,KAE3D/3H,KAAK46H,0BAEsB,KAAvB56H,KAAKi4H,gBAEDj4H,KAAKmrE,KAELnrE,KAAK04H,OAAOvtD,MAAO,EAInBnrE,KAAK66H,sBAIb,IAAIh4F,EAAW7iC,KAAK6iC,SAAY7iC,KAAK+3H,eAAiB,IAElD/3H,KAAKmrE,MAA+B,KAAvBnrE,KAAKi4H,cAElBj4H,KAAK86H,aAAa,EAAG93H,GAIrBhD,KAAK86H,aAAa,EAAG93H,EAAG6/B,QAK5B7iC,KAAK64H,eAAiB74H,KAAKi4H,cAC3Bj4H,KAAK04H,OAAOd,YAAc53H,KAAKg6H,WAC/Bh6H,KAAKg6H,WAAa,EAClBh6H,KAAK04H,OAAOztD,OAGhBjrE,KAAK48G,WAAY,EACjB58G,KAAK+mC,QAAS,EACd/mC,KAAKw3G,WAAcx3G,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAKg4H,WAC9Ch4H,KAAK4oC,SAASxD,SAASplC,QAS/BmM,KAAM,WAkBF,GAhBInM,KAAK48G,WAAa58G,KAAK04H,SAEnB14H,KAAKgwH,cAELhwH,KAAK26H,2BAEA36H,KAAKiwH,gBAEVjwH,KAAK04H,OAAO/vF,QACZ3oC,KAAK04H,OAAOd,YAAc,IAIlC53H,KAAKm4H,iBAAkB,EACvBn4H,KAAK48G,WAAY,GAEZ58G,KAAK+mC,OACV,CACI,IAAIk0F,EAAaj7H,KAAKi4H,cAEK,KAAvBj4H,KAAKi4H,eAELj4H,KAAKy5H,iBAAiBr0F,SAASplC,KAAKi4H,cAAej4H,MAGvDA,KAAKi4H,cAAgB,GAEE,OAAnBj4H,KAAKk4H,WAELl4H,KAAKk4H,UAAU/rH,OAGnBnM,KAAKu5H,OAAOn0F,SAASplC,KAAMi7H,KAgBnCC,OAAQ,SAAUr4F,EAAUsoC,EAAMqN,QAEjBjyE,IAAT4kE,IAAsBA,GAAO,QAClB5kE,IAAXiyE,IAAwBA,EAASx4E,KAAKi4H,eAEtCj4H,KAAK+mC,SAKT/mC,KAAKirE,KAAKuN,EAAQ,EAAG,EAAGrN,GAExBnrE,KAAKm7H,OAAOt4F,EAAU,KAW1Bu4F,QAAS,SAAUv4F,GAEf7iC,KAAKm7H,OAAOt4F,EAAU,IAY1Bs4F,OAAQ,SAAUt4F,EAAUtB,GAEnBvhC,KAAK48G,YAAa58G,KAAK+mC,QAAUxF,IAAWvhC,KAAKuhC,cAKrCh7B,IAAbs8B,IAA0BA,EAAW,UAE1Bt8B,IAAXg7B,GAMJvhC,KAAKk4H,UAAYl4H,KAAK+C,KAAKk2B,IAAI66C,MAAM9zE,MAAMmxB,IAAKoQ,OAAQA,GAAUsB,EAAUrhC,EAAO+vG,OAAOK,OAAOC,MAAM,GAEvG7xG,KAAKk4H,UAAU9hB,WAAWn9E,IAAIj5B,KAAKq7H,aAAcr7H,OAN7CM,QAAQ+Z,KAAK,+CAerBghH,aAAc,WAEVr7H,KAAKuiC,eAAe6C,SAASplC,KAAMA,KAAKuhC,QAEpB,IAAhBvhC,KAAKuhC,QAELvhC,KAAKmM,QAebmvH,mBAAoB,SAAUC,GAItBv7H,KAAKiwH,eAAiBjwH,KAAK04H,SAE3B14H,KAAK24H,cAAgB4C,EACrBv7H,KAAK04H,OAAOn3F,OAASvhC,KAAK24H,cAAgB34H,KAAK05H,UAUvDl3H,QAAS,SAAU2Z,QAEA5V,IAAX4V,IAAwBA,GAAS,GAErCnc,KAAK44H,iBAAkB,EACvB54H,KAAK84H,wBAA0B38G,EAC/Bnc,KAAKmM,OAEDgQ,EAEAnc,KAAK+C,KAAKsjC,MAAMlqB,OAAOnc,OAIvBA,KAAK03H,WACL13H,KAAK8N,QAAU,KACf9N,KAAK25H,QAAU,KACf35H,KAAKu4H,aAAe,KAEpBv4H,KAAKq5H,UAAUjtF,UACfpsC,KAAKs5H,OAAOltF,UACZpsC,KAAK0oC,QAAQ0D,UACbpsC,KAAK4oC,SAASwD,UACdpsC,KAAKi2G,OAAO7pE,UACZpsC,KAAKu5H,OAAOntF,UACZpsC,KAAKw5H,OAAOptF,UACZpsC,KAAKy5H,iBAAiBrtF,YAI9BwuF,wBAAyB,WAErB56H,KAAK04H,OAAS14H,KAAK8N,QAAQ0tH,qBAC3Bx7H,KAAK04H,OAAO78D,QAAQ77D,KAAKu4H,cAAgBv4H,KAAKy4H,UAC9Cz4H,KAAK25H,QAAU35H,KAAK+C,KAAKiX,MAAM0tG,aAAa1nH,KAAKgT,KACjDhT,KAAK04H,OAAOx9G,OAASlb,KAAK25H,QAC1B35H,KAAK+4H,aAGTwB,kBAAmB,WAEfv6H,KAAK04H,OAAO38D,WAAW/7D,KAAKu4H,cAAgBv4H,KAAKy4H,WAGrDqC,aAAc,SAAUW,EAAMhkH,EAAQorB,QAIjBt8B,IAAbs8B,EAEA7iC,KAAK04H,OAAOpsH,MAAMmvH,GAAQ,EAAGhkH,GAAU,GAIvCzX,KAAK04H,OAAOpsH,MAAMmvH,GAAQ,EAAGhkH,GAAU,EAAGorB,IAIlD83F,yBAA0B,WAGtB36H,KAAKs6H,wBAEL,IAEIt6H,KAAK04H,OAAOvsH,KAAK,GAErB,MAAOwC,IAKP3O,KAAKu6H,oBAELv6H,KAAK04H,OAAS,MAGlBmC,mBAAoB,WAEhB76H,KAAK04H,OAAOgD,QAAU17H,KAAKq6H,eAAetqG,KAAK/vB,OAGnDs6H,sBAAuB,WAEnBt6H,KAAK04H,OAAOgD,QAAU,OAK9Bl6H,EAAOm3E,MAAMr2E,UAAUC,YAAcf,EAAOm3E,MAO5C3xE,OAAOyF,eAAejL,EAAOm3E,MAAMr2E,UAAW,cAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKiX,MAAMisG,SAASjmH,KAAKgT,KAAKgxG,cAUlDh9G,OAAOyF,eAAejL,EAAOm3E,MAAMr2E,UAAW,aAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKiX,MAAMqsG,eAAermH,KAAKgT,QASnDhM,OAAOyF,eAAejL,EAAOm3E,MAAMr2E,UAAW,QAE1C4E,IAAK,WAED,OAAQlH,KAAK45H,QAAU55H,KAAK+C,KAAKsjC,MAAM20F,MAG3C7zH,IAAK,SAAUC,IAEXA,EAAQA,IAAS,KAEHpH,KAAK45H,SAKfxyH,GAEApH,KAAK45H,QAAS,EACd55H,KAAKi6H,YAAcj6H,KAAK+5H,YAEpB/5H,KAAKgwH,cAELhwH,KAAKy4H,SAASU,KAAK/xH,MAAQ,EAEtBpH,KAAKiwH,eAAiBjwH,KAAK04H,SAEhC14H,KAAK04H,OAAOn3F,OAAS,KAKzBvhC,KAAK45H,QAAS,EAEV55H,KAAKgwH,cAELhwH,KAAKy4H,SAASU,KAAK/xH,MAAQpH,KAAKi6H,YAE3Bj6H,KAAKiwH,eAAiBjwH,KAAK04H,SAEhC14H,KAAK04H,OAAOn3F,OAASvhC,KAAKi6H,cAIlCj6H,KAAKw5H,OAAOp0F,SAASplC,UAS7BgH,OAAOyF,eAAejL,EAAOm3E,MAAMr2E,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK05H,SAGhBvyH,IAAK,SAAUC,GAGPpH,KAAKiwH,gBAEL7oH,EAAQpH,KAAK+C,KAAKyiC,KAAK/I,MAAMr1B,EAAO,EAAG,IAGvCpH,KAAK45H,OAEL55H,KAAKi6H,YAAc7yH,GAIvBpH,KAAK+5H,YAAc3yH,EACnBpH,KAAK05H,QAAUtyH,EAEXpH,KAAKgwH,cAELhwH,KAAKy4H,SAASU,KAAK/xH,MAAQA,EAEtBpH,KAAKiwH,eAAiBjwH,KAAK04H,SAEhC14H,KAAK04H,OAAOn3F,OAASvhC,KAAK24H,cAAgBvxH,OAMtDJ,OAAOyF,eAAejL,EAAOm3E,MAAMr2E,UAAW,YAE1C4E,IAAK,WAED,OAAOlH,KAAK04H,OAAS14H,KAAK+4H,UAAY,QA8B9Cv3H,EAAOg8C,aAAe,SAAUz6C,GAK5B/C,KAAK+C,KAAOA,EAKZ/C,KAAK27H,cAAgB,IAAIn6H,EAAO6gC,OAMhCriC,KAAK47H,eAAiB,IAAIp6H,EAAO6gC,OAMjCriC,KAAKw5H,OAAS,IAAIh4H,EAAO6gC,OAMzBriC,KAAK67H,SAAW,IAAIr6H,EAAO6gC,OAO3BriC,KAAK87H,cAAgB,IAAIt6H,EAAO6gC,OAMhCriC,KAAK8N,QAAU,KAUf9N,KAAK+7H,YAAc,KAMnB/7H,KAAKgwH,eAAgB,EAMrBhwH,KAAKiwH,eAAgB,EAMrBjwH,KAAKutH,SAAU,EAMfvtH,KAAKy3H,iBAAkB,EAMvBz3H,KAAKikH,aAAc,EAMnBjkH,KAAKg8H,SAAW,GAShBh8H,KAAKmgD,aAAc,EAOnBngD,KAAKi8H,YAAa,EAOlBj8H,KAAK45H,QAAS,EAOd55H,KAAKk8H,cAAgB,KAOrBl8H,KAAK05H,QAAU,EAOf15H,KAAKm8H,WAMLn8H,KAAKo8H,WAAa,IAAI56H,EAAOw2C,SAM7Bh4C,KAAKq8H,WAAY,EAMjBr8H,KAAKs8H,eAAiB,KAMtBt8H,KAAKu8H,cAAgB,KAMrBv8H,KAAKw8H,uBAAyBx8H,KAAKw8H,uBAAuBzsG,KAAK/vB,OAGnEwB,EAAOg8C,aAAal7C,WAOhBshC,KAAM,WAEF,IAAI3Z,EAASjqB,KAAK+C,KAAKknB,OACnBq0B,EAAeluC,OAAOkuC,aAQ1B,GANIr0B,EAAOq2B,MAA2B,IAApBr2B,EAAOw0B,WAErBz+C,KAAKg8H,SAAW,GAIhB19E,EACJ,CAEI,IAAkC,IAA9BA,EAAam+E,aAIb,OAFAz8H,KAAKutH,SAAU,OACfvtH,KAAKikH,aAAc,GAKvB,IAAqC,IAAjC3lE,EAAao+E,gBAIb,OAFA18H,KAAKiwH,eAAgB,OACrBjwH,KAAKikH,aAAc,GAK3B,GAAI3lE,GAAgBA,EAAaq+E,aAE7B38H,KAAK8N,QAAUwwC,EAAaq+E,iBAGhC,CACI,IAAI33B,EAAe50F,OAAO40F,cAAgB50F,OAAO60F,mBAEjD,GAAID,EAEA,IAEIhlG,KAAK8N,QAAU,IAAIk3F,EAEvB,MAAOzkG,GAEHP,KAAK8N,QAAU,KACf9N,KAAKgwH,eAAgB,EACrBhwH,KAAKikH,aAAc,EAEnB3jH,QAAQ+Z,KAAK9Z,IAKzB,GAAqB,OAAjBP,KAAK8N,QACT,CAEI,QAAqBvH,IAAjB6J,OAAO0gH,MAGP,YADA9wH,KAAKutH,SAAU,GAKfvtH,KAAKiwH,eAAgB,OAKzBjwH,KAAKgwH,eAAgB,EAErBhwH,KAAK+7H,YAAc/7H,KAAK8N,QAAQiuH,aAAgB,KAAO/7H,KAAK8N,QAAQ4/B,YAAc,YAElDnnC,IAA5BvG,KAAK8N,QAAQmrH,WAEbj5H,KAAKg5H,WAAah5H,KAAK8N,QAAQorH,iBAI/Bl5H,KAAKg5H,WAAah5H,KAAK8N,QAAQmrH,aAGnCj5H,KAAKg5H,WAAWG,KAAK/xH,MAAQ,EAC7BpH,KAAKg5H,WAAWn9D,QAAQ77D,KAAK8N,QAAQyxE,aAMV,cAAvBv/E,KAAK8N,QAAQw4B,OAEbtmC,KAAK+C,KAAKmU,OAAOy5B,iBAAiB,QAAS3wC,KAAKw8H,wBAInDx8H,KAAKutH,SAGFtjG,EAAO8+E,oBAEP/oG,KAAK48H,eAIT58H,KAAKgwH,eAAiB/lG,EAAOg3E,QAAUh3E,EAAOi3E,eAAiB,IAE/D5gG,QAAQ+P,IAAI,6IAUpBusH,aAAc,WAEN58H,KAAKutH,SAAYn9G,OAAOkuC,eAAqD,IAArCluC,OAAOkuC,aAAam+E,eAKhEz8H,KAAK+C,KAAKojC,MAAM6e,qBAAqBhlD,KAAK68H,OAAQ78H,MAAM,GAExDA,KAAKikH,aAAc,IASvB6Y,eAAgB,WAEZ98H,KAAKikH,aAAc,EACnBjkH,KAAKk8H,cAAgB,KACrBl8H,KAAK87H,cAAc12F,YAUvB23F,eAAgB,WAEZ,GAAI/8H,KAAKgwH,eAAwC,cAAvBhwH,KAAK8N,QAAQw4B,MAEnC,OAAOtmC,KAAK8N,QAAQ+6B,UAU5Bg0F,OAAQ,WAEJ,GAAI78H,KAAKutH,UAAYvtH,KAAKikH,aAAsC,OAAvBjkH,KAAKk8H,cAE1C,OAAO,EAIX,GAAIl8H,KAAKiwH,cAELjwH,KAAK88H,sBAEJ,GAAI98H,KAAKgwH,cACd,CAMI,IAAI90G,EAASlb,KAAK8N,QAAQoV,aAAa,EAAG,EAAG,OAC7CljB,KAAKk8H,cAAgBl8H,KAAK8N,QAAQ0tH,qBAClCx7H,KAAKk8H,cAAchhH,OAASA,EAC5Blb,KAAKk8H,cAAcrgE,QAAQ77D,KAAK8N,QAAQyxE,aAExC,IAAIlzC,EAAQrsC,KAEZA,KAAKk8H,cAAcR,QAAU,WAEzBrvF,EAAMywF,iBACNzwF,EAAM0wF,uBAGuBx2H,IAA7BvG,KAAKk8H,cAAc5vH,MAEnBtM,KAAKk8H,cAAcc,OAAO,GAI1Bh9H,KAAKk8H,cAAc5vH,MAAM,GAI7BtM,KAAK+8H,iBAIT,OAAO,GAQXE,QAAS,WAEL,IAAIj9H,KAAKutH,QAKT,IAAK,IAAI7qH,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,IAEb1C,KAAKm8H,QAAQz5H,GAAGyJ,QAU5BupG,SAAU,WAEN,IAAI11G,KAAKutH,QAKT,IAAK,IAAI7qH,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,IAEb1C,KAAKm8H,QAAQz5H,GAAGimC,SAU5BgtE,UAAW,WAEP,IAAI31G,KAAKutH,QAKT,IAAK,IAAI7qH,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,IAEb1C,KAAKm8H,QAAQz5H,GAAGmmC,UAY5BkpF,OAAQ,SAAU/+G,EAAKqzB,GAEnBA,EAAQA,GAAS,KAEjB,IAAI62F,EAAYl9H,KAAK+C,KAAKiX,MAAM0tG,aAAa10G,GAE7C,GAAIkqH,IAE4C,IAAxCl9H,KAAK+C,KAAKiX,MAAMqsG,eAAerzG,GACnC,CACIhT,KAAK+C,KAAKiX,MAAMmsG,YAAYnzG,EAAK,cAAc,GAE/C,IAAIq5B,EAAQrsC,KAEZ,IAEIA,KAAK8N,QAAQqvH,gBAAgBD,EAAW,SAAUhiH,GAE1CA,IAEAmxB,EAAMtpC,KAAKiX,MAAMosG,aAAapzG,EAAKkI,GACnCmxB,EAAMsvF,cAAcv2F,SAASpyB,EAAKqzB,MAI9C,MAAO13B,OAgBnByuH,mBAAoB,SAAUC,EAAO1oF,EAAU1L,GAEtB,iBAAVo0F,IAEPA,GAAUA,IAGdr9H,KAAKo8H,WAAWr2F,QAEhB,IAAK,IAAIrjC,EAAI,EAAGA,EAAI26H,EAAM16H,OAAQD,IAE1B26H,EAAM36H,aAAclB,EAAOm3E,MAEtB34E,KAAK+C,KAAKiX,MAAMqsG,eAAegX,EAAM36H,GAAGsQ,MAEzChT,KAAKo8H,WAAWnjG,IAAIokG,EAAM36H,GAAGsQ,KAG3BhT,KAAK+C,KAAKiX,MAAMqsG,eAAegX,EAAM36H,KAE3C1C,KAAKo8H,WAAWnjG,IAAIokG,EAAM36H,IAKJ,IAA1B1C,KAAKo8H,WAAWzjF,OAEhB34C,KAAKq8H,WAAY,EACjB1nF,EAASnwC,KAAKykC,KAIdjpC,KAAKq8H,WAAY,EACjBr8H,KAAKs8H,eAAiB3nF,EACtB30C,KAAKu8H,cAAgBtzF,IAU7BnE,OAAQ,WAEJ,IAAI9kC,KAAKutH,QAAT,CAKA,IAAK,IAAI7qH,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAErC1C,KAAKm8H,QAAQz5H,GAAGoiC,SAGpB,GAAI9kC,KAAKq8H,UACT,CAGI,IAFA,IAAIrpH,EAAMhT,KAAKo8H,WAAW9sE,MAEnBt8C,GAEChT,KAAK+C,KAAKiX,MAAMqsG,eAAerzG,IAE/BhT,KAAKo8H,WAAWjgH,OAAOnJ,GAG3BA,EAAMhT,KAAKo8H,WAAWjnF,KAGI,IAA1Bn1C,KAAKo8H,WAAWzjF,QAEhB34C,KAAKq8H,WAAY,EACjBr8H,KAAKs8H,eAAe93H,KAAKxE,KAAKu8H,mBAe1CtjG,IAAK,SAAUjmB,EAAKuuB,EAAQ4pC,EAAMtP,QAEft1D,IAAXg7B,IAAwBA,EAAS,QACxBh7B,IAAT4kE,IAAsBA,GAAO,QACjB5kE,IAAZs1D,IAAyBA,EAAU77D,KAAKy3H,iBAE5C,IAAIpxF,EAAQ,IAAI7kC,EAAOm3E,MAAM34E,KAAK+C,KAAMiQ,EAAKuuB,EAAQ4pC,EAAMtP,GAI3D,OAFA77D,KAAKm8H,QAAQr0H,KAAKu+B,GAEXA,GAUX8tC,UAAW,SAAUnhE,GAIjB,OAFkB,IAAIxR,EAAOo3E,YAAY54E,KAAK+C,KAAMiQ,IAYxDmJ,OAAQ,SAAUkqB,GAId,IAFA,IAAI3jC,EAAI1C,KAAKm8H,QAAQx5H,OAEdD,KAEH,GAAI1C,KAAKm8H,QAAQz5H,KAAO2jC,EAIpB,OAFArmC,KAAKm8H,QAAQz5H,GAAGF,SAAQ,GACxBxC,KAAKm8H,QAAQrzH,OAAOpG,EAAG,IAChB,EAIf,OAAO,GASXmnC,UAAW,WAEP7pC,KAAKi9H,UAEL,IAAK,IAAIv6H,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,IAEb1C,KAAKm8H,QAAQz5H,GAAGF,UAIxBxC,KAAKm8H,QAAQx5H,OAAS,GAW1B26H,YAAa,SAAUtqH,GAKnB,IAHA,IAAItQ,EAAI1C,KAAKm8H,QAAQx5H,OACjBqH,EAAU,EAEPtH,KAEC1C,KAAKm8H,QAAQz5H,GAAGsQ,MAAQA,IAExBhT,KAAKm8H,QAAQz5H,GAAGF,SAAQ,GACxBxC,KAAKm8H,QAAQrzH,OAAOpG,EAAG,GACvBsH,KAIR,OAAOA,GAYXihE,KAAM,SAAUj4D,EAAKuuB,EAAQ4pC,GAEzB,IAAInrE,KAAKutH,QAAT,CAKA,IAAIlnF,EAAQrmC,KAAKi5B,IAAIjmB,EAAKuuB,EAAQ4pC,GAIlC,OAFA9kC,EAAM4kC,OAEC5kC,IASX+Z,QAAS,WAEL,IAAIpgD,KAAK45H,OAAT,CAKA55H,KAAK45H,QAAS,EAEV55H,KAAKgwH,gBAELhwH,KAAKi6H,YAAcj6H,KAAKg5H,WAAWG,KAAK/xH,MACxCpH,KAAKg5H,WAAWG,KAAK/xH,MAAQ,GAIjC,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,GAAGutH,gBAEhBjwH,KAAKm8H,QAAQz5H,GAAGs4H,MAAO,GAI/Bh7H,KAAKw5H,OAAOp0F,aAShBmb,UAAW,WAEP,GAAKvgD,KAAK45H,SAAU55H,KAAKi8H,WAAzB,CAKAj8H,KAAK45H,QAAS,EAEV55H,KAAKgwH,gBAELhwH,KAAKg5H,WAAWG,KAAK/xH,MAAQpH,KAAKi6H,aAItC,IAAK,IAAIv3H,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,GAAGutH,gBAEhBjwH,KAAKm8H,QAAQz5H,GAAGs4H,MAAO,GAI/Bh7H,KAAK67H,SAASz2F,aAQlB5iC,QAAS,WAELxC,KAAK6pC,YAEL7pC,KAAK27H,cAAcvvF,UAEnBpsC,KAAK+C,KAAKmU,OAAO06B,oBAAoB,QAAS5xC,KAAKw8H,wBAE/Cx8H,KAAK8N,UAEDsC,OAAOkuC,aAGPluC,OAAOkuC,aAAaq+E,aAAe38H,KAAK8N,QAGxC9N,KAAK8N,QAAQyvH,OAEbv9H,KAAK8N,QAAQyvH,UAKzBf,uBAAwB,WAEpBx8H,KAAK+8H,iBAEL/8H,KAAK+C,KAAKmU,OAAO06B,oBAAoB,QAAS5xC,KAAKw8H,0BAK3Dh7H,EAAOg8C,aAAal7C,UAAUC,YAAcf,EAAOg8C,aAMnDx2C,OAAOyF,eAAejL,EAAOg8C,aAAal7C,UAAW,QAEjD4E,IAAK,WAED,OAAOlH,KAAK45H,QAGhBzyH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAIpH,KAAK45H,OAEL,OAGJ55H,KAAKi8H,YAAa,EAClBj8H,KAAKogD,cAGT,CACI,IAAKpgD,KAAK45H,OAEN,OAGJ55H,KAAKi8H,YAAa,EAClBj8H,KAAKugD,gBAUjBv5C,OAAOyF,eAAejL,EAAOg8C,aAAal7C,UAAW,UAEjD4E,IAAK,WAED,OAAOlH,KAAK05H,SAGhBvyH,IAAK,SAAUC,GAWX,GATIA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRpH,KAAK05H,UAAYtyH,EACrB,CAGI,GAFApH,KAAK05H,QAAUtyH,EAEXpH,KAAKgwH,cAELhwH,KAAKg5H,WAAWG,KAAK/xH,MAAQA,OAK7B,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKm8H,QAAQx5H,OAAQD,IAEjC1C,KAAKm8H,QAAQz5H,GAAGutH,eAEhBjwH,KAAKm8H,QAAQz5H,GAAG44H,mBAAmBl0H,GAK/CpH,KAAK47H,eAAex2F,SAASh+B,OAyEzC5F,EAAOw7C,aAAe,SAAUj6C,EAAMnF,EAAOC,GAQzCmC,KAAK+C,KAAOA,EAQZ/C,KAAKw9H,IAAMh8H,EAAOmuC,IAOlB3vC,KAAKi4D,KAAO,KAOZj4D,KAAKpC,MAAQ,EAOboC,KAAKnC,OAAS,EASdmC,KAAKy9H,SAAW,KAUhBz9H,KAAK43F,SAAW,KAShB53F,KAAK09H,UAAY,KAUjB19H,KAAK29H,UAAY,KASjB39H,KAAKyX,OAAS,IAAIjW,EAAOX,MAUzBb,KAAK49H,gBAAiB,EAUtB59H,KAAK69H,eAAgB,EAWrB79H,KAAK89H,sBAAuB,EAO5B99H,KAAK+9H,wBAAyB,EAO9B/9H,KAAKg+H,sBAAuB,EA0B5Bh+H,KAAKi+H,oBAAsB,IAAIz8H,EAAO6gC,OAUtCriC,KAAKk+H,0BAA4B,IAAI18H,EAAO6gC,OAU5CriC,KAAKm+H,0BAA4B,IAAI38H,EAAO6gC,OAY5CriC,KAAKo+H,wBAAyB,EAe9Bp+H,KAAKq+H,iBAAmB,KAQxBr+H,KAAKs+H,yBAA2B,KAuBhCt+H,KAAKu+H,iBAAmB,IAAI/8H,EAAO6gC,OAWnCriC,KAAKw+H,mBAAqB,IAAIh9H,EAAO6gC,OAWrCriC,KAAKy+H,kBAAoB,IAAIj9H,EAAO6gC,OAUpCriC,KAAK0+H,kBAAoB1+H,KAAKw9H,IAAImB,uBAOlC3+H,KAAK4+H,YAAc,IAAIp9H,EAAOX,MAAM,EAAG,GAQvCb,KAAK6+H,oBAAsB,IAAIr9H,EAAOX,MAAM,EAAG,GAS/Cb,KAAK2/G,QAAUhsF,KAAM,EAAG0C,IAAK,EAAG3C,MAAO,EAAG4C,OAAQ,EAAGvyB,EAAG,EAAGC,EAAG,GAO9DhE,KAAK8E,OAAS,IAAItD,EAAOS,UAOzBjC,KAAK8+H,YAAc,EAOnB9+H,KAAK++H,kBAAoB,EAQzB/+H,KAAKqwC,MAAQ,KAebrwC,KAAKg/H,mBACDtrG,MAAO,SACP4C,OAAQ,IA6BZt2B,KAAKi/H,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrBx/H,KAAKy/H,WAAaj+H,EAAOw7C,aAAa0iF,SAOtC1/H,KAAK2/H,qBAAuBn+H,EAAOw7C,aAAa0iF,SAWhD1/H,KAAK4/H,gBAAiB,EAYtB5/H,KAAKwpG,WAAa,KAOlBxpG,KAAK6/H,kBAAoB,IAAIr+H,EAAOX,MAAM,EAAG,GAW7Cb,KAAK8/H,oBAAsB,IAkB3B9/H,KAAK+/H,aAAe,IAAIv+H,EAAO6gC,OAO/BriC,KAAKggI,SAAW,KAOhBhgI,KAAKigI,gBAAkB,KAMvBjgI,KAAKkgI,kBAAoB,KAOzBlgI,KAAKmgI,mBAAqB,KAO1BngI,KAAKogI,UAAY,IAAI5+H,EAAOS,UAO5BjC,KAAKqgI,iBAAmB,IAAI7+H,EAAOX,MAAM,EAAG,GAO5Cb,KAAKsgI,eAAiB,IAAI9+H,EAAOX,MAAM,EAAG,GAO1Cb,KAAKugI,YAAc,EASnBvgI,KAAKwgI,gBAAkB,EAOvBxgI,KAAKygI,qBAAuB,IAO5BzgI,KAAK0gI,cAAgB,IAAIl/H,EAAOS,UAOhCjC,KAAK2gI,YAAc,IAAIn/H,EAAOS,UAO9BjC,KAAK4gI,wBAA0B,IAAIp/H,EAAOS,UAO1CjC,KAAK6gI,sBAAwB,IAAIr/H,EAAOS,UAMxCjC,KAAK8gI,SAAU,EAEX/9H,EAAKyT,QAELxW,KAAKwvC,YAAYzsC,EAAKyT,QAG1BxW,KAAK+gI,WAAWnjI,EAAOC,IAS3B2D,EAAOw7C,aAAagkF,UAAY,EAQhCx/H,EAAOw7C,aAAa0iF,SAAW,EAQ/Bl+H,EAAOw7C,aAAaikF,SAAW,EAQ/Bz/H,EAAOw7C,aAAakkF,OAAS,EAQ7B1/H,EAAOw7C,aAAamkF,WAAa,EAQjC3/H,EAAOw7C,aAAaokF,OAChB,YACA,WACA,WACA,SACA,cAGJ5/H,EAAOw7C,aAAa16C,WAQhBshC,KAAM,WAIF,IAAIy9F,EAASrhI,KAAKi/H,cAElBoC,EAAOnC,mBAAqBl/H,KAAK+C,KAAKknB,OAAOm5E,aAAepjG,KAAK+C,KAAKknB,OAAOi1B,SAGxEl/C,KAAK+C,KAAKknB,OAAO+4E,MAAShjG,KAAK+C,KAAKknB,OAAO63E,QAAW9hG,KAAK+C,KAAKknB,OAAOw1E,UAEpEz/F,KAAK+C,KAAKknB,OAAO+1E,UAAYhgG,KAAK+C,KAAKknB,OAAOg3E,OAE9CogC,EAAOhC,SAAW,IAAI79H,EAAOX,MAAM,EAAG,GAItCwgI,EAAOhC,SAAW,IAAI79H,EAAOX,MAAM,EAAG,IAI1Cb,KAAK+C,KAAKknB,OAAOw1E,SAEjB4hC,EAAOlC,oBAAsB,SAC7BkC,EAAO7B,gBAAkB,mBAIzB6B,EAAOlC,oBAAsB,GAC7BkC,EAAO7B,gBAAkB,IAK7B,IAAInzF,EAAQrsC,KAEZA,KAAKshI,mBAAqB,SAAUjxF,GAEhC,OAAOhE,EAAMk1F,kBAAkBlxF,IAGnCrwC,KAAKwhI,cAAgB,SAAUnxF,GAE3B,OAAOhE,EAAMo1F,aAAapxF,IAI9BjgC,OAAOugC,iBAAiB,oBAAqB3wC,KAAKshI,oBAAoB,GACtElxH,OAAOugC,iBAAiB,SAAU3wC,KAAKwhI,eAAe,GAElDxhI,KAAKi/H,cAAcC,qBAEnBl/H,KAAK0hI,kBAAoB,SAAUrxF,GAE/B,OAAOhE,EAAMs1F,iBAAiBtxF,IAGlCrwC,KAAK4hI,iBAAmB,SAAUvxF,GAE9B,OAAOhE,EAAMw1F,gBAAgBxxF,IAGjCL,SAASW,iBAAiB,yBAA0B3wC,KAAK0hI,mBAAmB,GAC5E1xF,SAASW,iBAAiB,sBAAuB3wC,KAAK0hI,mBAAmB,GACzE1xF,SAASW,iBAAiB,qBAAsB3wC,KAAK0hI,mBAAmB,GACxE1xF,SAASW,iBAAiB,mBAAoB3wC,KAAK0hI,mBAAmB,GAEtE1xF,SAASW,iBAAiB,wBAAyB3wC,KAAK4hI,kBAAkB,GAC1E5xF,SAASW,iBAAiB,qBAAsB3wC,KAAK4hI,kBAAkB,GACvE5xF,SAASW,iBAAiB,oBAAqB3wC,KAAK4hI,kBAAkB,GACtE5xF,SAASW,iBAAiB,kBAAmB3wC,KAAK4hI,kBAAkB,IAGxE5hI,KAAK+C,KAAK6lC,SAAS3P,IAAIj5B,KAAK8hI,aAAc9hI,MAI1CA,KAAKw9H,IAAI5tF,UAAU5vC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE1CzX,KAAK8E,OAAOswB,MAAMp1B,KAAKyX,OAAO1T,EAAG/D,KAAKyX,OAAOzT,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAEjEmC,KAAK+hI,YAAY/hI,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAG5CmC,KAAK0+H,kBAAoB1+H,KAAKw9H,IAAImB,qBAAqB3+H,KAAKi/H,cAAcE,qBAEtE39H,EAAOwgI,WAEPhiI,KAAKi4D,KAAO,IAAIz2D,EAAOwgI,SAAShiI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAG3DmC,KAAK8gI,SAAU,EAEgB,OAA3B9gI,KAAKkgI,oBAELlgI,KAAKlC,UAAYkC,KAAKkgI,kBACtBlgI,KAAKkgI,kBAAoB,OAWjC1wF,YAAa,SAAUh5B,QAEMjQ,IAArBiQ,EAAO1Y,YAEHkC,KAAK8gI,QAEL9gI,KAAKlC,UAAY0Y,EAAO1Y,UAIxBkC,KAAKkgI,kBAAoB1pH,EAAO1Y,gBAILyI,IAA/BiQ,EAAOyrH,sBAEPjiI,KAAKiiI,oBAAsBzrH,EAAOyrH,qBAGlCzrH,EAAO6nH,mBAEPr+H,KAAKq+H,iBAAmB7nH,EAAO6nH,kBAGnCr+H,KAAKkiI,sBAAwB1rH,EAAO2rH,SAAU,EAC9CniI,KAAKoiI,oBAAsB5rH,EAAO6rH,SAAU,EAExC7rH,EAAO8rH,QAAU9rH,EAAO+rH,QAExBviI,KAAKwiI,aAAahsH,EAAO8rH,OAAQ9rH,EAAO+rH,OAAQ/rH,EAAOisH,MAAOjsH,EAAOksH,QAc7E3B,WAAY,SAAUnjI,EAAOC,GAEzB,IAAImK,EACA4yB,EAAO,IAAIp5B,EAAOS,UAEG,KAArBjC,KAAK+C,KAAK1B,SAEsB,iBAArBrB,KAAK+C,KAAK1B,OAGjB2G,EAASgoC,SAASq5D,eAAerpG,KAAK+C,KAAK1B,QAEtCrB,KAAK+C,KAAK1B,QAAwC,IAA9BrB,KAAK+C,KAAK1B,OAAOwyB,WAG1C7rB,EAAShI,KAAK+C,KAAK1B,SAKtB2G,GAaDhI,KAAKwpG,WAAaxhG,EAClBhI,KAAK4/H,gBAAiB,EAEtB5/H,KAAK2iI,gBAAgB3iI,KAAK0gI,cAAe1gI,KAAKwpG,YAE9C5uE,EAAKh9B,MAAQoC,KAAK0gI,cAAc9iI,MAChCg9B,EAAK/8B,OAASmC,KAAK0gI,cAAc7iI,OAEjCmC,KAAKyX,OAAOtQ,IAAInH,KAAK0gI,cAAc38H,EAAG/D,KAAK0gI,cAAc18H,KAlBzDhE,KAAKwpG,WAAa,KAClBxpG,KAAK4/H,gBAAiB,EAEtBhlG,EAAKh9B,MAAQoC,KAAKw9H,IAAIoF,aAAahlI,MACnCg9B,EAAK/8B,OAASmC,KAAKw9H,IAAIoF,aAAa/kI,OAEpCmC,KAAKyX,OAAOtQ,IAAI,EAAG,IAevB,IAAI82E,EAAW,EACXC,EAAY,EAEK,iBAAVtgF,EAEPqgF,EAAWrgF,GAKXoC,KAAK6/H,kBAAkB97H,EAAIovB,SAASv1B,EAAO,IAAM,IACjDqgF,EAAWrjD,EAAKh9B,MAAQoC,KAAK6/H,kBAAkB97H,GAG7B,iBAAXlG,EAEPqgF,EAAYrgF,GAKZmC,KAAK6/H,kBAAkB77H,EAAImvB,SAASt1B,EAAQ,IAAM,IAClDqgF,EAAYtjD,EAAK/8B,OAASmC,KAAK6/H,kBAAkB77H,GAGrDi6E,EAAWv6E,KAAKmsB,MAAMouD,GACtBC,EAAYx6E,KAAKmsB,MAAMquD,GAEvBl+E,KAAKogI,UAAUhrG,MAAM,EAAG,EAAG6oD,EAAUC,GAErCl+E,KAAK6iI,iBAAiB5kD,EAAUC,GAAW,IAS/C4jD,aAAc,WAEV9hI,KAAK8iI,aAAY,IAkBrBf,YAAa,SAAUnkI,EAAOC,GAE1BmC,KAAKogI,UAAUhrG,MAAM,EAAG,EAAGx3B,EAAOC,GAE9BmC,KAAK+iI,mBAAqBvhI,EAAOw7C,aAAakkF,QAE9ClhI,KAAK6iI,iBAAiBjlI,EAAOC,GAAQ,GAGzCmC,KAAK8iI,aAAY,IAqBrBN,aAAc,SAAUQ,EAAQC,EAAQC,EAAOC,EAAOL,EAAav+F,GAE/DvkC,KAAKqgI,iBAAiBjrG,MAAM4tG,EAAQC,GACpCjjI,KAAKsgI,eAAelrG,MAAc,EAAR8tG,EAAmB,EAARC,QAEjB58H,IAAhBu8H,IAA6BA,GAAc,QACjCv8H,IAAVg+B,IAAuBA,GAAQ,GAE/Bu+F,GAEA9iI,KAAK8iI,YAAYv+F,IA8BzB6+F,kBAAmB,SAAUzuF,EAAU7mC,GAEnC9N,KAAKggI,SAAWrrF,EAChB30C,KAAKigI,gBAAkBnyH,GAa3Bu1H,iBAAkB,WAEd,IAAK7hI,EAAOS,UAAUu/B,eAAexhC,KAAMA,KAAK4gI,2BAC3Cp/H,EAAOS,UAAUu/B,eAAexhC,KAAK+C,KAAM/C,KAAK6gI,uBACrD,CACI,IAAIjjI,EAAQoC,KAAKpC,MACbC,EAASmC,KAAKnC,OAElBmC,KAAK4gI,wBAAwBxrG,MAAM,EAAG,EAAGx3B,EAAOC,GAChDmC,KAAK6gI,sBAAsBzrG,MAAM,EAAG,EAAGp1B,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE9DmC,KAAKi4D,MAELj4D,KAAKi4D,KAAK+nE,SAASpiI,EAAOC,GAG9BmC,KAAK+/H,aAAa36F,SAASplC,KAAMpC,EAAOC,GAGpCmC,KAAK+iI,mBAAqBvhI,EAAOw7C,aAAakkF,SAE9ClhI,KAAK+C,KAAKujC,MAAMngC,OAAOvI,EAAOC,GAC9BmC,KAAK+C,KAAKqjC,KAAKjgC,OAAOvI,EAAOC,MAoBzCylI,UAAW,SAAU7F,EAAUC,EAAW9lC,EAAU+lC,GAEhD39H,KAAKy9H,SAAWA,EAChBz9H,KAAK09H,UAAYA,OAEO,IAAb9lC,IAEP53F,KAAK43F,SAAWA,QAGK,IAAd+lC,IAEP39H,KAAK29H,UAAYA,IAUzBj5H,UAAW,WAEP,KAAI1E,KAAK+C,KAAKmiC,KAAKA,KAAQllC,KAAKugI,YAAcvgI,KAAKwgI,iBAAnD,CAKA,IAAI+C,EAAevjI,KAAKwgI,gBACxBxgI,KAAKygI,qBAAuB8C,GAAgB,IAAM,EAAI,IAEtDvjI,KAAKw9H,IAAI5tF,UAAU5vC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE1C,IAAI+rH,EAAYxjI,KAAK0gI,cAAc9iI,MAC/B6lI,EAAazjI,KAAK0gI,cAAc7iI,OAChCiH,EAAS9E,KAAK2iI,gBAAgB3iI,KAAK0gI,eAEnCgD,EAAgB5+H,EAAOlH,QAAU4lI,GAAa1+H,EAAOjH,SAAW4lI,EAGhEE,EAAqB3jI,KAAK4jI,0BAE1BF,GAAiBC,KAEb3jI,KAAKggI,UAELhgI,KAAKggI,SAASx7H,KAAKxE,KAAKigI,gBAAiBjgI,KAAM8E,GAGnD9E,KAAK6jI,eAEL7jI,KAAKqjI,oBAIT,IAAIS,EAAkC,EAAvB9jI,KAAKwgI,gBAGhBxgI,KAAKwgI,gBAAkB+C,IAEvBO,EAAWpgI,KAAK41B,IAAIiqG,EAAcvjI,KAAKygI,uBAG3CzgI,KAAKwgI,gBAAkBh/H,EAAOkC,KAAK+4B,MAAMqnG,EAAU,GAAI9jI,KAAK8/H,qBAC5D9/H,KAAKugI,YAAcvgI,KAAK+C,KAAKmiC,KAAKA,OAStC+B,YAAa,WAETjnC,KAAK0E,YAGL1E,KAAKwgI,gBAAkBxgI,KAAK8/H,qBAYhC+C,iBAAkB,SAAUjlI,EAAOC,EAAQsI,GAEvCnG,KAAKpC,MAAQA,EAAQoC,KAAK6/H,kBAAkB97H,EAC5C/D,KAAKnC,OAASA,EAASmC,KAAK6/H,kBAAkB77H,EAE9ChE,KAAK+C,KAAKnF,MAAQoC,KAAKpC,MACvBoC,KAAK+C,KAAKlF,OAASmC,KAAKnC,OAExBmC,KAAK++H,kBAAoB/+H,KAAKpC,MAAQoC,KAAKnC,OAC3CmC,KAAK+jI,yBAED59H,IAGAnG,KAAK+C,KAAK8B,SAASsB,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAG3CmC,KAAK+C,KAAK+X,OAAOgrB,QAAQ9lC,KAAKpC,MAAOoC,KAAKnC,QAG1CmC,KAAK+C,KAAKE,MAAMkD,OAAOnG,KAAKpC,MAAOoC,KAAKnC,UAWhDkmI,uBAAwB,WAEpB/jI,KAAK4+H,YAAY76H,EAAI/D,KAAK+C,KAAKnF,MAAQoC,KAAKpC,MAC5CoC,KAAK4+H,YAAY56H,EAAIhE,KAAK+C,KAAKlF,OAASmC,KAAKnC,OAE7CmC,KAAK6+H,oBAAoB96H,EAAI/D,KAAKpC,MAAQoC,KAAK+C,KAAKnF,MACpDoC,KAAK6+H,oBAAoB76H,EAAIhE,KAAKnC,OAASmC,KAAK+C,KAAKlF,OAErDmC,KAAK8+H,YAAc9+H,KAAKpC,MAAQoC,KAAKnC,OAGjCmC,KAAK+C,KAAKmU,QAEVlX,KAAKw9H,IAAI5tF,UAAU5vC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAG9CzX,KAAK8E,OAAOswB,MAAMp1B,KAAKyX,OAAO1T,EAAG/D,KAAKyX,OAAOzT,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAG7DmC,KAAK+C,KAAKojC,OAASnmC,KAAK+C,KAAKojC,MAAMrlC,OAEnCd,KAAK+C,KAAKojC,MAAMrlC,MAAMs0B,MAAMp1B,KAAK4+H,YAAY76H,EAAG/D,KAAK4+H,YAAY56H,IAkBzEggI,iBAAkB,SAAUpG,EAAgBC,QAElBt3H,IAAlBs3H,IAA+BA,GAAgB,IAE5B,IAAnBD,IAA6C,IAAlBC,GAM/B79H,KAAK49H,eAAiBA,EACtB59H,KAAK69H,cAAgBA,EAErB79H,KAAK8iI,aAAY,IAPbxiI,QAAQ+Z,KAAK,+EAkBrB4pH,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAWfN,uBAAwB,WAEpB,IAAIO,EAAsBnkI,KAAK0+H,kBAC3B0F,EAAsBpkI,KAAK89H,qBAE/B99H,KAAK0+H,kBAAoB1+H,KAAKw9H,IAAImB,qBAAqB3+H,KAAKi/H,cAAcE,qBAE1En/H,KAAK89H,qBAAwB99H,KAAK49H,iBAAmB59H,KAAKqkI,aACrDrkI,KAAK69H,gBAAkB79H,KAAKskI,WAEjC,IAAIC,EAAUJ,IAAwBnkI,KAAK0+H,kBACvC8F,EAAqBJ,IAAwBpkI,KAAK89H,qBAmBtD,OAjBI0G,IAEIxkI,KAAK89H,qBAEL99H,KAAKk+H,0BAA0B94F,WAI/BplC,KAAKm+H,0BAA0B/4F,aAInCm/F,GAAWC,IAEXxkI,KAAKi+H,oBAAoB74F,SAASplC,KAAMmkI,EAAqBC,GAG1DG,GAAWC,GAUtBjD,kBAAmB,SAAUlxF,GAEzBrwC,KAAKqwC,MAAQA,EAEbrwC,KAAK8iI,aAAY,IAUrBrB,aAAc,SAAUpxF,GAEpBrwC,KAAKqwC,MAAQA,EAEbrwC,KAAK8iI,aAAY,IASrB2B,UAAW,WAEP,IAAIpF,EAAWr/H,KAAKi/H,cAAcI,SAE9BA,GAEAjvH,OAAOivH,SAASA,EAASt7H,EAAGs7H,EAASr7H,IAwB7CwlB,QAAS,WAELxpB,KAAKykI,YACLzkI,KAAK8iI,aAAY,IASrBe,aAAc,WAEV,IAAI/lI,EAAYkC,KAAK+iI,iBAErB,GAAIjlI,IAAc0D,EAAOw7C,aAAakkF,OAAtC,CAwDA,GAlDAlhI,KAAKykI,YAEDzkI,KAAKi/H,cAAcK,6BAMnBtvF,SAASu4D,gBAAgBjtF,MAAMoiH,UAAYttH,OAAOijB,YAAc,MAGhErzB,KAAK89H,qBAEL99H,KAAK0kI,aAGL5mI,IAAc0D,EAAOw7C,aAAagkF,UAElChhI,KAAK2kI,cAEA7mI,IAAc0D,EAAOw7C,aAAaikF,UAElCjhI,KAAK4kI,cAAgB5kI,KAAK6kI,gBACvB7kI,KAAKi/H,cAAcM,iBAOvBv/H,KAAK8kI,YAAW,GAChB9kI,KAAK+kI,cACL/kI,KAAK8kI,cAIL9kI,KAAK8kI,aAGJhnI,IAAc0D,EAAOw7C,aAAa0iF,UAEvC1/H,KAAKpC,MAAQoC,KAAK+C,KAAKnF,MACvBoC,KAAKnC,OAASmC,KAAK+C,KAAKlF,QAEnBC,IAAc0D,EAAOw7C,aAAamkF,aAEvCnhI,KAAKpC,MAASoC,KAAK+C,KAAKnF,MAAQoC,KAAKqgI,iBAAiBt8H,EAAK/D,KAAKsgI,eAAev8H,EAC/E/D,KAAKnC,OAAUmC,KAAK+C,KAAKlF,OAASmC,KAAKqgI,iBAAiBr8H,EAAKhE,KAAKsgI,eAAet8H,IAGhFhE,KAAKi/H,cAAcM,kBACnBzhI,IAAc0D,EAAOw7C,aAAaikF,UAAYnjI,IAAc0D,EAAOw7C,aAAamkF,YACrF,CACI,IAAIr8H,EAAS9E,KAAK2iI,gBAAgB3iI,KAAK2gI,aACvC3gI,KAAKpC,MAAQ8F,KAAK41B,IAAIt5B,KAAKpC,MAAOkH,EAAOlH,OACzCoC,KAAKnC,OAAS6F,KAAK41B,IAAIt5B,KAAKnC,OAAQiH,EAAOjH,QAI/CmC,KAAKpC,MAAqB,EAAboC,KAAKpC,MAClBoC,KAAKnC,OAAuB,EAAdmC,KAAKnC,OAEnBmC,KAAKglI,oBAlEDhlI,KAAKilI,cAsFbtC,gBAAiB,SAAU36H,EAAQ3G,GAE/B,IAAIyD,EAASkD,GAAU,IAAIxG,EAAOS,UAC9BunG,EAAanoG,GAAUrB,KAAK6kI,eAC5BjC,EAAe5iI,KAAKw9H,IAAIoF,aACxBsC,EAAellI,KAAKw9H,IAAI0H,aAE5B,GAAK17B,EAKL,CAEI,IAAI27B,EAAa37B,EAAW47B,wBACxBC,EAAc77B,EAAuB,aAAIA,EAAW87B,aAAaF,wBAA0B57B,EAAW47B,wBAE1GtgI,EAAOswB,MAAM+vG,EAAWxxG,KAAO0xG,EAAW1xG,KAAMwxG,EAAW9uG,IAAMgvG,EAAWhvG,IAAK8uG,EAAWvnI,MAAOunI,EAAWtnI,QAE9G,IAAI0nI,EAAKvlI,KAAKg/H,kBAEd,GAAIuG,EAAG7xG,MACP,CACQ8xG,EAA4B,WAAbD,EAAG7xG,MAAqBwxG,EAAetC,EAC1D99H,EAAO4uB,MAAQhwB,KAAK41B,IAAIx0B,EAAO4uB,MAAO8xG,EAAa5nI,OAGvD,GAAI2nI,EAAGjvG,OACP,CACI,IAAIkvG,EAA6B,WAAdD,EAAGjvG,OAAsB4uG,EAAetC,EAC3D99H,EAAOwxB,OAAS5yB,KAAK41B,IAAIx0B,EAAOwxB,OAAQkvG,EAAa3nI,cArBzDiH,EAAOswB,MAAM,EAAG,EAAGwtG,EAAahlI,MAAOglI,EAAa/kI,QA6BxD,OAJAiH,EAAOswB,MACH1xB,KAAK+xB,MAAM3wB,EAAOf,GAAIL,KAAK+xB,MAAM3wB,EAAOd,GACxCN,KAAK+xB,MAAM3wB,EAAOlH,OAAQ8F,KAAK+xB,MAAM3wB,EAAOjH,SAEzCiH,GAWXgwC,MAAO,SAAUhS,EAAYC,GAEP,MAAdD,IAEA9iC,KAAKkiI,sBAAwBp/F,GAGjB,MAAZC,IAEA/iC,KAAKoiI,oBAAsBr/F,IAcnC0iG,YAAa,SAAU3iG,EAAYC,GAE/B,IAAI2iG,EAAe1lI,KAAK2iI,gBAAgB3iI,KAAK2gI,aACzCzpH,EAASlX,KAAK+C,KAAKmU,OACnByoG,EAAS3/G,KAAK2/G,OAElB,GAAI78E,EACJ,CACI68E,EAAOhsF,KAAOgsF,EAAOjsF,MAAQ,EAEzBiyG,EAAezuH,EAAOkuH,wBAE1B,GAAIplI,KAAKpC,MAAQ8nI,EAAa9nI,QAAUoC,KAAK89H,qBAC7C,CACI,IAAI8H,EAAcD,EAAahyG,KAAO+xG,EAAa3hI,EAC/C8hI,EAAcH,EAAa9nI,MAAQ,EAAMoC,KAAKpC,MAAQ,EAItD6Z,GAFJouH,EAAaniI,KAAKuC,IAAI4/H,EAAY,IAERD,EAE1BjmB,EAAOhsF,KAAOjwB,KAAK+xB,MAAMhe,GAG7BP,EAAOoE,MAAMwqH,WAAanmB,EAAOhsF,KAAO,KAEpB,IAAhBgsF,EAAOhsF,OAEPgsF,EAAOjsF,QAAUgyG,EAAa9nI,MAAQ+nI,EAAa/nI,MAAQ+hH,EAAOhsF,MAClEzc,EAAOoE,MAAMyqH,YAAcpmB,EAAOjsF,MAAQ,MAIlD,GAAIqP,EACJ,CACI48E,EAAOtpF,IAAMspF,EAAOrpF,OAAS,EAE7B,IAAIqvG,EAAezuH,EAAOkuH,wBAE1B,GAAIplI,KAAKnC,OAAS6nI,EAAa7nI,SAAWmC,KAAK89H,qBAC/C,CACI,IAAI8H,EAAcD,EAAatvG,IAAMqvG,EAAa1hI,EAC9C6hI,EAAcH,EAAa7nI,OAAS,EAAMmC,KAAKnC,OAAS,EAIxD4Z,GAFJouH,EAAaniI,KAAKuC,IAAI4/H,EAAY,IAERD,EAC1BjmB,EAAOtpF,IAAM3yB,KAAK+xB,MAAMhe,GAG5BP,EAAOoE,MAAM0qH,UAAYrmB,EAAOtpF,IAAM,KAEnB,IAAfspF,EAAOtpF,MAEPspF,EAAOrpF,SAAWovG,EAAa7nI,OAAS8nI,EAAa9nI,OAAS8hH,EAAOtpF,KACrEnf,EAAOoE,MAAM2qH,aAAetmB,EAAOrpF,OAAS,MAKpDqpF,EAAO57G,EAAI47G,EAAOhsF,KAClBgsF,EAAO37G,EAAI27G,EAAOtpF,KAWtB4uG,WAAY,WAERjlI,KAAK+kI,YAAY,GAAI,IAErB,IAAIjgI,EAAS9E,KAAK2iI,gBAAgB3iI,KAAK2gI,aACvC3gI,KAAK6iI,iBAAiB/9H,EAAOlH,MAAOkH,EAAOjH,QAAQ,IAWvDmnI,aAAc,WAELhlI,KAAK89H,uBAEN99H,KAAKpC,MAAQ4D,EAAOkC,KAAK+4B,MAAMz8B,KAAKpC,MAAOoC,KAAKy9H,UAAY,EAAGz9H,KAAK43F,UAAY53F,KAAKpC,OACrFoC,KAAKnC,OAAS2D,EAAOkC,KAAK+4B,MAAMz8B,KAAKnC,OAAQmC,KAAK09H,WAAa,EAAG19H,KAAK29H,WAAa39H,KAAKnC,SAG7FmC,KAAK+kI,cAEA/kI,KAAKi/H,cAAcG,YAEhBp/H,KAAK4kI,cAAgB5kI,KAAKs+H,yBAE1Bt+H,KAAKylI,aAAY,GAAM,GAIvBzlI,KAAKylI,YAAYzlI,KAAKkiI,sBAAuBliI,KAAKoiI,sBAI1DpiI,KAAK+jI,0BAWTgB,YAAa,SAAUmB,EAAUC,QAEZ5/H,IAAb2/H,IAA0BA,EAAWlmI,KAAKpC,MAAQ,WACpC2I,IAAd4/H,IAA2BA,EAAYnmI,KAAKnC,OAAS,MAEzD,IAAIqZ,EAASlX,KAAK+C,KAAKmU,OAElBlX,KAAKi/H,cAAcG,YAEpBloH,EAAOoE,MAAMwqH,WAAa,GAC1B5uH,EAAOoE,MAAM0qH,UAAY,GACzB9uH,EAAOoE,MAAMyqH,YAAc,GAC3B7uH,EAAOoE,MAAM2qH,aAAe,IAGhC/uH,EAAOoE,MAAM1d,MAAQsoI,EACrBhvH,EAAOoE,MAAMzd,OAASsoI,GAU1BrD,YAAa,SAAUv+F,GAEfA,IAEAvkC,KAAK0gI,cAAc9iI,MAAQ,EAC3BoC,KAAK0gI,cAAc7iI,OAAS,GAGhCmC,KAAKwgI,gBAAkBxgI,KAAKygI,sBAShC16F,MAAO,SAAUmD,GAETA,GAAclpC,KAAKi4D,MAEnBj4D,KAAKi4D,KAAKlyB,SAUlB2+F,WAAY,WAER1kI,KAAKpC,MAAQoC,KAAKw9H,IAAIoF,aAAahlI,MACnCoC,KAAKnC,OAASmC,KAAKw9H,IAAIoF,aAAa/kI,QAUxCinI,WAAY,SAAUsB,GAElB,IAIIC,EAJAvhI,EAAS9E,KAAK2iI,gBAAgB3iI,KAAK2gI,aACnC/iI,EAAQkH,EAAOlH,MACfC,EAASiH,EAAOjH,OAMhBwoI,EAFAD,EAEa1iI,KAAKuC,IAAKpI,EAASmC,KAAK+C,KAAKlF,OAAUD,EAAQoC,KAAK+C,KAAKnF,OAIzD8F,KAAK41B,IAAKz7B,EAASmC,KAAK+C,KAAKlF,OAAUD,EAAQoC,KAAK+C,KAAKnF,OAG1EoC,KAAKpC,MAAQ8F,KAAK+xB,MAAMz1B,KAAK+C,KAAKnF,MAAQyoI,GAC1CrmI,KAAKnC,OAAS6F,KAAK+xB,MAAMz1B,KAAK+C,KAAKlF,OAASwoI,IAUhD1B,YAAa,WAET,IAAI7/H,EAAS9E,KAAK2iI,gBAAgB3iI,KAAK2gI,aAEvC3gI,KAAKpC,MAAQkH,EAAOlH,MACpBoC,KAAKnC,OAASiH,EAAOjH,OAEjBmC,KAAK4kI,eAML5kI,KAAK43F,WAEL53F,KAAKpC,MAAQ8F,KAAK41B,IAAIt5B,KAAKpC,MAAOoC,KAAK43F,WAGvC53F,KAAK29H,YAEL39H,KAAKnC,OAAS6F,KAAK41B,IAAIt5B,KAAKnC,OAAQmC,KAAK29H,cAajD2I,uBAAwB,WAEpB,IAAIC,EAAWv2F,SAAS0mD,cAAc,OAMtC,OAJA6vC,EAASjrH,MAAMqkG,OAAS,IACxB4mB,EAASjrH,MAAMkL,QAAU,IACzB+/G,EAASjrH,MAAMkrH,WAAa,OAErBD,GA+BXE,gBAAiB,SAAUrvH,EAAWsvH,EAAiB3yG,GAEnD,GAAI/zB,KAAK4kI,aAEL,OAAO,EAGX,CAAA,GAAK5kI,KAAKi/H,cAAcC,mBAAxB,CAaA,GAA2C,mBAAvCl/H,KAAKi/H,cAAcO,gBACvB,CACI,IAAIr5F,EAAQnmC,KAAK+C,KAAKojC,MAEtB,GAAIA,EAAMuc,eACNvc,EAAMuc,gBAAkBvc,EAAMwc,eAC7B+jF,IAAuC,IAApBA,GAGpB,YADAvgG,EAAMuc,cAAcyN,mBAAmB,kBAAmBnwD,KAAKymI,gBAAiBzmI,MAAQoX,GAAW,SAKzF7Q,IAAd6Q,GAA2BpX,KAAK+C,KAAKsnC,aAAe7oC,EAAO+nB,SAE3DvpB,KAAK+C,KAAKuX,MAAM6kC,SAAW/nC,GAG/B,IAAImvH,EAAWvmI,KAAKq+H,iBAEfkI,IAEDvmI,KAAK2mI,uBAEL3mI,KAAKs+H,yBAA2Bt+H,KAAKsmI,yBACrCC,EAAWvmI,KAAKs+H,0BAGpB,IAAIsI,GAAYC,cAAeN,GAM/B,GAJAvmI,KAAKo+H,wBAAyB,EAE9Bp+H,KAAKu+H,iBAAiBn5F,SAASplC,KAAM4mI,GAEjC5mI,KAAKs+H,yBACT,CAKI,IAAIpnH,EAASlX,KAAK+C,KAAKmU,OACVA,EAAOsyF,WACbvD,aAAasgC,EAAUrvH,GAC9BqvH,EAASh9B,YAAYryF,GAiBzB,YAdgB3Q,IAAZwtB,IAEAA,GAAY+yG,aAAc,SAG1B9mI,KAAK+C,KAAKknB,OAAOs5E,mBAEjBgjC,EAASvmI,KAAK+C,KAAKknB,OAAOo5E,mBAAmB+E,QAAQC,sBAIrDk+B,EAASvmI,KAAK+C,KAAKknB,OAAOo5E,mBAAmBtvE,IAG1C,EAtEH,IAAIsY,EAAQrsC,KAEZ+jG,WAAW,WAEP13D,EAAMw1F,mBACP,MA2EXkF,eAAgB,WAEZ,SAAK/mI,KAAK4kI,eAAiB5kI,KAAKi/H,cAAcC,sBAK9Cl/H,KAAKo+H,wBAAyB,EAE9BpuF,SAAShwC,KAAK+C,KAAKknB,OAAOq5E,qBAEnB,IAUXqjC,qBAAsB,WAElB,IAAIJ,EAAWvmI,KAAKs+H,yBAEpB,GAAIiI,GAAYA,EAAS/8B,WACzB,CAKI,IAAInoG,EAASklI,EAAS/8B,WACtBnoG,EAAO4kG,aAAajmG,KAAK+C,KAAKmU,OAAQqvH,GACtCllI,EAAOwH,YAAY09H,GAGvBvmI,KAAKs+H,yBAA2B,MAWpC0I,eAAgB,SAAUC,GAEtB,IAAIC,IAAkBlnI,KAAKs+H,yBACvBiI,EAAWvmI,KAAKs+H,0BAA4Bt+H,KAAKq+H,iBAEjD4I,GAEIC,GAAiBlnI,KAAKiiI,sBAAwBzgI,EAAOw7C,aAAagkF,YAG9DuF,IAAavmI,KAAK+C,KAAKmU,SAEvBlX,KAAKmgI,oBACDlhC,YAAasnC,EAASjrH,MAAM1d,MAC5BshG,aAAcqnC,EAASjrH,MAAMzd,QAGjC0oI,EAASjrH,MAAM1d,MAAQ,OACvB2oI,EAASjrH,MAAMzd,OAAS,SAO5BmC,KAAKmgI,qBAELoG,EAASjrH,MAAM1d,MAAQoC,KAAKmgI,mBAAmBlhC,YAC/CsnC,EAASjrH,MAAMzd,OAASmC,KAAKmgI,mBAAmBjhC,aAEhDl/F,KAAKmgI,mBAAqB,MAI9BngI,KAAK6iI,iBAAiB7iI,KAAKogI,UAAUxiI,MAAOoC,KAAKogI,UAAUviI,QAAQ,GACnEmC,KAAK+kI,gBAWbpD,iBAAkB,SAAUtxF,GAExBrwC,KAAKqwC,MAAQA,EAETrwC,KAAK4kI,cAEL5kI,KAAKgnI,gBAAe,GAEpBhnI,KAAK6jI,eACL7jI,KAAK8iI,aAAY,KAIjB9iI,KAAKgnI,gBAAe,GAEpBhnI,KAAK2mI,uBAEL3mI,KAAK6jI,eACL7jI,KAAK8iI,aAAY,IAGrB9iI,KAAKw+H,mBAAmBp5F,SAASplC,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAW5DgkI,gBAAiB,SAAUxxF,GAEvBrwC,KAAKqwC,MAAQA,EAEbrwC,KAAK2mI,uBAELrmI,QAAQ+Z,KAAK,+FAEbra,KAAKy+H,kBAAkBr5F,SAASplC,OAkBpCmnI,YAAa,SAAU7jH,EAAQ1lB,EAAOC,EAAQupI,GAM1C,QAJc7gI,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,aACxB0I,IAAd6gI,IAA2BA,GAAY,IAEtC9jH,IAAWA,EAAOxiB,MAEnB,OAAOwiB,EAMX,GAHAA,EAAOxiB,MAAMiD,EAAI,EACjBuf,EAAOxiB,MAAMkD,EAAI,EAEZsf,EAAO1lB,OAAS,GAAO0lB,EAAOzlB,QAAU,GAAOD,GAAS,GAAOC,GAAU,EAE1E,OAAOylB,EAGX,IAAI+jH,EAAUzpI,EACV0pI,EAAWhkH,EAAOzlB,OAASD,EAAS0lB,EAAO1lB,MAE3C2pI,EAAWjkH,EAAO1lB,MAAQC,EAAUylB,EAAOzlB,OAC3C2pI,EAAU3pI,EAEV4pI,EAAgBF,EAAU3pI,EA4B9B,OAxBI6pI,EAFAA,EAEeL,GAICA,IAKhB9jH,EAAO1lB,MAAQ8F,KAAKmsB,MAAMw3G,GAC1B/jH,EAAOzlB,OAAS6F,KAAKmsB,MAAMy3G,KAI3BhkH,EAAO1lB,MAAQ8F,KAAKmsB,MAAM03G,GAC1BjkH,EAAOzlB,OAAS6F,KAAKmsB,MAAM23G,IASxBlkH,GAUX9gB,QAAS,WAELxC,KAAK+C,KAAK6lC,SAASzsB,OAAOnc,KAAK8hI,aAAc9hI,MAE7CoQ,OAAOwhC,oBAAoB,oBAAqB5xC,KAAKshI,oBAAoB,GACzElxH,OAAOwhC,oBAAoB,SAAU5xC,KAAKwhI,eAAe,GAErDxhI,KAAKi/H,cAAcC,qBAEnBlvF,SAAS4B,oBAAoB,yBAA0B5xC,KAAK0hI,mBAAmB,GAC/E1xF,SAAS4B,oBAAoB,sBAAuB5xC,KAAK0hI,mBAAmB,GAC5E1xF,SAAS4B,oBAAoB,qBAAsB5xC,KAAK0hI,mBAAmB,GAC3E1xF,SAAS4B,oBAAoB,mBAAoB5xC,KAAK0hI,mBAAmB,GAEzE1xF,SAAS4B,oBAAoB,wBAAyB5xC,KAAK4hI,kBAAkB,GAC7E5xF,SAAS4B,oBAAoB,qBAAsB5xC,KAAK4hI,kBAAkB,GAC1E5xF,SAAS4B,oBAAoB,oBAAqB5xC,KAAK4hI,kBAAkB,GACzE5xF,SAAS4B,oBAAoB,kBAAmB5xC,KAAK4hI,kBAAkB,MAMnFpgI,EAAOw7C,aAAa16C,UAAUC,YAAcf,EAAOw7C,aAYnDh2C,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,kBAEjD4E,IAAK,WAED,OAAIlH,KAAK4/H,gBACJ5/H,KAAK4kI,cAAgB5kI,KAAKo+H,yBAA2Bp+H,KAAKs+H,yBAEpD,KAGMt+H,KAAK+C,KAAKmU,QAAUlX,KAAK+C,KAAKmU,OAAOsyF,YAEjC,QA0C7BxiG,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,aAEjD4E,IAAK,WAED,OAAOlH,KAAKy/H,YAGhBt4H,IAAK,SAAUC,GAaX,OAXIA,IAAUpH,KAAKy/H,aAEVz/H,KAAK4kI,eAEN5kI,KAAK6iI,iBAAiB7iI,KAAKogI,UAAUxiI,MAAOoC,KAAKogI,UAAUviI,QAAQ,GACnEmC,KAAK8iI,aAAY,IAGrB9iI,KAAKy/H,WAAar4H,GAGfpH,KAAKy/H,cAapBz4H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,uBAEjD4E,IAAK,WAED,OAAOlH,KAAK2/H,sBAGhBx4H,IAAK,SAAUC,GAmBX,OAjBIA,IAAUpH,KAAK2/H,uBAGX3/H,KAAK4kI,cAEL5kI,KAAKgnI,gBAAe,GACpBhnI,KAAK2/H,qBAAuBv4H,EAC5BpH,KAAKgnI,gBAAe,GAEpBhnI,KAAK8iI,aAAY,IAIjB9iI,KAAK2/H,qBAAuBv4H,GAI7BpH,KAAK2/H,wBAepB34H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,oBAEjD4E,IAAK,WAED,OAAOlH,KAAK4kI,aAAe5kI,KAAK2/H,qBAAuB3/H,KAAKy/H,cAiBpEz4H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,yBAEjD4E,IAAK,WAED,OAAOlH,KAAK+9H,wBAGhB52H,IAAK,SAAUC,GAEPA,IAAUpH,KAAK+9H,yBAEf/9H,KAAK+9H,uBAAyB32H,EAC9BpH,KAAK8iI,aAAY,OAyB7B97H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,uBAEjD4E,IAAK,WAED,OAAOlH,KAAKg+H,sBAGhB72H,IAAK,SAAUC,GAEPA,IAAUpH,KAAKg+H,uBAEfh+H,KAAKg+H,qBAAuB52H,EAC5BpH,KAAK8iI,aAAY,OAY7B97H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,gBAEjD4E,IAAK,WAED,SAAU8oC,SAAS03F,mBACf13F,SAAS23F,yBACT33F,SAAS43F,sBACT53F,SAAS63F,wBAYrB7gI,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,cAEjD4E,IAAK,WAED,MAA4D,aAArDlH,KAAKikI,oBAAoBjkI,KAAK0+H,sBAY7C13H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,eAEjD4E,IAAK,WAED,MAA4D,cAArDlH,KAAKikI,oBAAoBjkI,KAAK0+H,sBAe7C13H,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,kBAEjD4E,IAAK,WAED,OAAQlH,KAAKnC,OAASmC,KAAKpC,SAenCoJ,OAAOyF,eAAejL,EAAOw7C,aAAa16C,UAAW,mBAEjD4E,IAAK,WAED,OAAQlH,KAAKpC,MAAQoC,KAAKnC,UA2BlC2D,EAAOgwB,MAAMosB,MAAQ,SAAU76C,GAK3B/C,KAAK+C,KAAOA,EAKZ/C,KAAKsjB,OAAS,KAKdtjB,KAAK8nI,IAAM,KAKX9nI,KAAKkX,OAAS,KAKdlX,KAAK8N,QAAU,KAMf9N,KAAKm1E,KAAO,iBAMZn1E,KAAK+nI,YAAc,IAMnB/nI,KAAKozF,WAAa,GAMlBpzF,KAAK+/E,UAAY,EAMjB//E,KAAKgoI,cAAe,EAOpBhoI,KAAKioI,aAAe,KAMpBjoI,KAAKk5F,SAAW,EAMhBl5F,KAAKm5F,SAAW,EAMhBn5F,KAAKkoI,aAAe,EAMpBloI,KAAKwR,OAAQ,EAObxR,KAAK89C,YAAa,EAMlB99C,KAAKmoI,MAAQ,KAMbnoI,KAAKooI,MAAQ,MAOjB5mI,EAAOgwB,MAAMosB,MAAMyqF,UAAY,EAM/B7mI,EAAOgwB,MAAMosB,MAAM0qF,eAAiB,EAMpC9mI,EAAOgwB,MAAMosB,MAAM2qF,YAAc,EAMjC/mI,EAAOgwB,MAAMosB,MAAM4qF,WAAa,EAMhChnI,EAAOgwB,MAAMosB,MAAM6qF,UAAY,EAM/BjnI,EAAOgwB,MAAMosB,MAAM8qF,aAAe,EAElClnI,EAAOgwB,MAAMosB,MAAMt7C,WAQfshC,KAAM,WAEE5jC,KAAK+C,KAAKsnC,aAAe7oC,EAAO+nB,OAEhCvpB,KAAK8N,QAAU9N,KAAK+C,KAAK+K,SAIzB9N,KAAK8nI,IAAM,IAAItmI,EAAOkwE,WAAW1xE,KAAK+C,KAAM,UAAW/C,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAAQ,GAC1FmC,KAAKsjB,OAAStjB,KAAK+C,KAAKmjC,KAAKhsB,MAAM,EAAG,EAAGla,KAAK8nI,KAC9C9nI,KAAK+C,KAAKuX,MAAM7R,SAASzI,KAAKsjB,QAE9BtjB,KAAK+C,KAAKjC,MAAMi/H,aAAa9mG,IAAIj5B,KAAKmG,OAAQnG,MAE9CA,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QACxEmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,OAG1CxY,KAAKmoI,MAAQ,IAAI3mI,EAAOy2B,KACxBj4B,KAAKooI,MAAQ,IAAI5mI,EAAOS,WAU5BkE,OAAQ,WAEJnG,KAAK8nI,IAAI3hI,OAAOnG,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE3CmC,KAAKkX,OAAOtZ,MAAQoC,KAAK+C,KAAKnF,MAC9BoC,KAAKkX,OAAOrZ,OAASmC,KAAK+C,KAAKlF,QASnC6G,UAAW,WAEH1E,KAAKwR,OAASxR,KAAKsjB,SAEnBtjB,KAAK8nI,IAAIltH,QACT5a,KAAK8nI,IAAIvsD,KAAKv7E,KAAKkX,OAAQ,EAAG,GAE9BlX,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QACxDmC,KAAKwR,OAAQ,IASrBu0B,MAAO,WAEC/lC,KAAK8N,SAEL9N,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAGxDmC,KAAKsjB,QAELtjB,KAAK8nI,IAAIltH,SAcjBtO,MAAO,SAAUvI,EAAGC,EAAGqS,EAAO0xH,GAET,iBAANhkI,IAAkBA,EAAI,GAChB,iBAANC,IAAkBA,EAAI,GACjCqS,EAAQA,GAAS,wBACG9P,IAAhBwhI,IAA6BA,EAAc,GAE/C/nI,KAAKk5F,SAAWn1F,EAChB/D,KAAKm5F,SAAWn1F,EAChBhE,KAAKioI,aAAe5xH,EACpBrW,KAAK+nI,YAAcA,EAEnB/nI,KAAKwR,OAAQ,EAEbxR,KAAK8N,QAAQoa,OACbloB,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC7O,KAAK8N,QAAQkyE,YAAc3pE,EAC3BrW,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQqnE,KAAOn1E,KAAKm1E,KACzBn1E,KAAK8N,QAAQG,YAAcjO,KAAKkoI,cASpC/7H,KAAM,WAEFnM,KAAK8N,QAAQ0a,WASjBkQ,KAAM,WAIF,IAAK,IAFD30B,EAAI/D,KAAKk5F,SAEJx2F,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAE9B1C,KAAKgoI,eAELhoI,KAAK8N,QAAQ6a,UAAY,aACzB3oB,KAAK8N,QAAQ2xE,SAASnvD,UAAU5tB,GAAIqB,EAAI,EAAG/D,KAAKm5F,SAAW,GAC3Dn5F,KAAK8N,QAAQ6a,UAAY3oB,KAAKioI,cAGlCjoI,KAAK8N,QAAQ2xE,SAASnvD,UAAU5tB,GAAIqB,EAAG/D,KAAKm5F,UAE5Cp1F,GAAK/D,KAAK+nI,YAGd/nI,KAAKm5F,UAAYn5F,KAAKozF,YAW1Bu1C,SAAU,SAAU5kI,EAAGC,EAAGqS,GAEtB,IAAItT,EAAO/C,KAAK+C,KAEhB/C,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,WAAa31B,EAAKmR,IAC5BlU,KAAK04B,MAAMkwG,EAAG,SAAUC,EAAG,QAASC,EAAG,WAAYC,EAAG,sBAAsBhmI,EAAKsnC,YAAc,IAAMtnC,EAAKnF,MAAQ,MAAQmF,EAAKlF,QAC/HmC,KAAK04B,KAAK,WAAa31B,EAAKgkC,QAC5B/mC,KAAK04B,KAAK,aAAe31B,EAAKy4C,SAAW,KAAOz4C,EAAK24C,UAAY,KAEjE17C,KAAKmM,QAWTk6B,MAAO,SAAUtiC,EAAGC,EAAGqS,GAEnB,IAAIgwB,EAAQrmC,KAAK+C,KAAKsjC,MAEtBrmC,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEbgwB,EAAMknF,QAENvtH,KAAK04B,KAAK,sBAIV14B,KAAK04B,KAAK,WAAa2N,EAAM9E,OAAO0M,QAAQ,IAAM5H,EAAM20F,KAAO,UAAY,KAC3Eh7H,KAAK04B,KAAK,kBAAoB2N,EAAM8Z,aACpCngD,KAAK04B,KAAK,WAAa2N,EAAM2pF,cAAiB,eAAiB3pF,EAAMv4B,QAAQw4B,MAAS,cACtFtmC,KAAK04B,KAAK,iBAAmB2N,EAAM49E,aACnCjkH,KAAK04B,KAAK,WAAa2N,EAAM81F,QAAQx5H,SAGzC3C,KAAKmM,QAYT68H,UAAW,SAAU3iG,EAAOtiC,EAAGC,EAAGqS,GAgB9B,GAdArW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,UAAY2N,EAAMrzB,IAAM,mBAAqBqzB,EAAMtjC,KAAKsjC,MAAM49E,aACxEjkH,KAAK04B,KAAK,cAAgB14B,KAAK+C,KAAKiX,MAAMssG,aAAajgF,EAAMrzB,KAAO,uBAAyBqzB,EAAM8xF,iBACnGn4H,KAAK04B,KAAK,YAAc2N,EAAMm0F,UAAY,eAAiBn0F,EAAM29E,YACjEhkH,KAAK04B,KAAK,YAAc2N,EAAMu2E,UAAY,WAAav2E,EAAM8kC,MAC7DnrE,KAAK04B,KAAK,UAAY2N,EAAMuxF,YAAc,KAAM3pF,QAAQ,GAAK,aAAe5H,EAAMsxF,cAAc1pF,QAAQ,GAAK,KAC7GjuC,KAAK04B,KAAK,WAAa2N,EAAM9E,OAAO0M,QAAQ,IAAM5H,EAAM20F,KAAO,UAAY,KAC3Eh7H,KAAK04B,KAAK,WAAa2N,EAAM2pF,cAAgB,YAAc,cAEvD3pF,EAAM2pF,eAENhwH,KAAK04B,KAAK,cAAgB2N,EAAM4iG,UAAY,SAG5C5iG,EAAM4pF,eAAiB5pF,EAAMqyF,OACjC,CACI,IAAItpH,EAASi3B,EAAMqyF,OAEnB14H,KAAK04B,KAAK,iBAAmBtpB,EAAO85H,YACpClpI,KAAK04B,KAAK,kBAAoBtpB,EAAOwoH,aACrC53H,KAAK04B,KAAK,eAAiBtpB,EAAOyzB,UAClC7iC,KAAK04B,KAAK,YAActpB,EAAO+5H,OAC/BnpI,KAAK04B,KAAK,WAAatpB,EAAO+7D,MAC9BnrE,KAAK04B,KAAK,YAActpB,EAAO2rH,OAC/B/6H,KAAK04B,KAAK,aAAetpB,EAAO23B,QAGR,KAAxBV,EAAM4xF,gBAENj4H,KAAK04B,KAAK,WAAa2N,EAAM4xF,cAAgB,eAAiB5xF,EAAMxD,SAASoL,QAAQ,GAAK,MAAQ5H,EAAMwxF,WAAa,OACrH73H,KAAK04B,KAAK,UAAY2N,EAAMqxF,QAAQrxF,EAAM4xF,eAAe3rH,MAAM2hC,QAAQ,GAAK,WAAa5H,EAAMqxF,QAAQrxF,EAAM4xF,eAAe9rH,KAAK8hC,QAAQ,IACzIjuC,KAAK04B,KAAK,aAAe2N,EAAMzlC,SAASqtC,QAAQ,KAGpDjuC,KAAKmM,QAWT2O,OAAQ,SAAUA,EAAQzE,EAAO+yH,GAE7B,IAAIrnG,EAAWjnB,EAAOinB,SAClB/5B,EAAS8S,EAAO9S,OAChBiP,EAAO6D,EAAO7D,KAEd8qB,IAEA/hC,KAAKooI,MAAMhzG,MAAMne,EAAKlT,EAAIg+B,EAASh+B,EAAGkT,EAAKjT,EAAI+9B,EAAS/9B,EAAG+9B,EAASnkC,MAAOmkC,EAASlkC,QACpFmC,KAAKqpI,UAAUrpI,KAAKooI,MAAO/xH,EAAO+yH,IAGlCphI,IAEAhI,KAAKmoI,MAAM/yG,MAAMne,EAAK4gB,QAAS5gB,EAAK6gB,QAAS9vB,EAAOjE,EAAGiE,EAAOhE,GAC9DhE,KAAKspI,KAAKtpI,KAAKmoI,MAAO9xH,EAAO+yH,GAC7BppI,KAAKspI,KAAKthI,EAAQqO,GAAO,EAAO,KAaxCkzH,WAAY,SAAUzuH,EAAQ/W,EAAGC,EAAGqS,GAEhC,IAAIvR,EAASgW,EAAOhW,OAChBi9B,EAAWjnB,EAAOinB,SAClB/5B,EAAS8S,EAAO9S,OAChBiP,EAAO6D,EAAO7D,KAElBjX,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,WAAa5d,EAAOld,MAAQ,MAAQkd,EAAOjd,OAAS,KAC9DmC,KAAK04B,KAAK,MAAQ5d,EAAO/W,EAAI,OAAS+W,EAAO9W,GAC7ChE,KAAK04B,KAAK,YAAc5zB,EAAU,MAAQA,EAAOf,EAAI,OAASe,EAAOd,EAAI,OAASc,EAAOlH,MAAQ,OAASkH,EAAOjH,OAAU,SAC3HmC,KAAK04B,KAAK,YAAczhB,EAAKlT,EAAI,OAASkT,EAAKjT,EAAI,OAASiT,EAAKrZ,MAAQ,OAASqZ,EAAKpZ,QACvFmC,KAAK04B,KAAK,cAAgB5d,EAAO+c,QAAU,OAAS/c,EAAOgd,SAC3D93B,KAAK04B,KAAK,cAAgBqJ,EAAY,MAAQA,EAASh+B,EAAI,OAASg+B,EAAS/9B,EAAI,OAAS+9B,EAASnkC,MAAQ,OAASmkC,EAASlkC,OAAUkkC,IACvI/hC,KAAK04B,KAAK,kBAAoB5d,EAAOonB,aACrCliC,KAAK04B,KAAK,gBAAkB5d,EAAOmnB,QAAQl+B,EAAI,OAAS+W,EAAOmnB,QAAQj+B,GACvEhE,KAAK04B,KAAK,YAAc1wB,EAAUA,EAAOgqB,MAAQhqB,EAAU,SAC3DhI,KAAKmM,QAYT+tG,MAAO,SAAUA,EAAOn2G,EAAGC,EAAGqS,GAE1BrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,mBAAqBwhF,EAAMS,QAAU,aAAeT,EAAMU,QAAU,KAC9E56G,KAAK04B,KAAK,cAAgBwhF,EAAM/kE,KAAO,cAAgB+kE,EAAMr3E,UAC7D7iC,KAAK04B,KAAK,WAAawhF,EAAMnzE,OAAS,YAAcmzE,EAAMv3G,QAC1D3C,KAAKmM,QAcT6hC,QAAS,SAAUA,EAASw7F,EAAUC,EAAWC,EAASrzH,EAAOszH,GAE7D,GAAe,MAAX37F,SAKaznC,IAAbijI,IAA0BA,GAAW,GAEzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,sBACrBC,EAAgBA,GAAiB,qBAEhB,IAAbH,IAAsC,IAAjBx7F,EAAQid,MAAjC,CAKAjrD,KAAKsM,MAAM0hC,EAAQjqC,EAAGiqC,EAAQhqC,EAAI,IAAKqS,GACvCrW,KAAK8N,QAAQ4xE,YACb1/E,KAAK8N,QAAQ6xE,IAAI3xC,EAAQjqC,EAAGiqC,EAAQhqC,EAAGgqC,EAAQoT,OAAOjsB,OAAQ,EAAa,EAAVzxB,KAAKsxB,IAElEgZ,EAAQtD,OAER1qC,KAAK8N,QAAQ6a,UAAYqlB,EAAQgd,OAASy+E,EAAYC,EAItD1pI,KAAK8N,QAAQ6a,UAAYghH,EAG7B3pI,KAAK8N,QAAQ44C,OACb1mD,KAAK8N,QAAQ8xE,YAGb5/E,KAAK8N,QAAQ4xE,YACb1/E,KAAK8N,QAAQ+xE,OAAO7xC,EAAQ2f,aAAa5pD,EAAGiqC,EAAQ2f,aAAa3pD,GACjEhE,KAAK8N,QAAQgyE,OAAO9xC,EAAQptC,SAASmD,EAAGiqC,EAAQptC,SAASoD,GACzDhE,KAAK8N,QAAQiyE,UAAY,EACzB//E,KAAK8N,QAAQmyE,SACbjgF,KAAK8N,QAAQ8xE,YAEb,IAAIgqD,EAAK57F,EAAQmf,UACb08E,EAAK77F,EAAQof,WAEbw8E,GAAMC,KAEN7pI,KAAK8N,QAAQ4xE,YACb1/E,KAAK8N,QAAQ+xE,OAAO+pD,EAAK57F,EAAQptC,SAASmD,EAAG8lI,EAAK77F,EAAQptC,SAASoD,GACnEhE,KAAK8N,QAAQgyE,OAAO9xC,EAAQptC,SAASmD,EAAGiqC,EAAQptC,SAASoD,GACzDhE,KAAK8N,QAAQiyE,UAAY,EACzB//E,KAAK8N,QAAQmyE,SACbjgF,KAAK8N,QAAQ8xE,aAIjB5/E,KAAK04B,KAAK,OAASsV,EAAQ95B,GAAK,YAAc85B,EAAQtD,QACtD1qC,KAAK04B,KAAK,YAAcsV,EAAQ87F,OAAO77F,QAAQ,GAAK,aAAeD,EAAQ+7F,OAAO97F,QAAQ,IAC1FjuC,KAAK04B,KAAK,aAAesV,EAAQjqC,EAAEkqC,QAAQ,GAAK,cAAgBD,EAAQhqC,EAAEiqC,QAAQ,GAAK,QAAUD,EAAQ0a,YACzG1oD,KAAK04B,KAAK,gBAAkBkxG,EAAK,OAASC,GAC1C7pI,KAAK04B,KAAK,aAAesV,EAAQnL,SAAW,OAC5C7iC,KAAK04B,KAAK,YAAcsV,EAAQgd,OAAS,WAAahd,EAAQid,MAC9DjrD,KAAK04B,KAAK,eAAiBsV,EAAQ4X,WAAa,gBAAkB5X,EAAQmY,WAEtEnY,EAAQqf,SAERrtD,KAAK04B,KAAK,YAAc14B,KAAKgqI,mBAAmBh8F,EAAQge,YAAc,IAC9ChsD,KAAKgqI,mBAAmBh8F,EAAQie,cAAgB,IAChDjsD,KAAKgqI,mBAAmBh8F,EAAQke,cAG5DlsD,KAAKmM,SAGT69H,mBAAoB,SAAUC,GAE1B,OAAIA,EAAIj/E,OAAiB,IAChBi/E,EAAIh/E,KAAe,IAErB,KAYXi/E,gBAAiB,SAAU5mH,EAAQvf,EAAGC,EAAGqS,GAErCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,kBAAoBpV,EAAO1lB,MAAQ,MAAQ0lB,EAAOzlB,OAAS,KACrEmC,KAAK04B,KAAK,MAAQpV,EAAO6iB,MAAM8uB,WAAWhnB,QAAQ,GAAK,OAAS3qB,EAAO6iB,MAAM+uB,WAAWjnB,QAAQ,IAChGjuC,KAAK04B,KAAK,SAAWpV,EAAO6iB,MAAMovB,cAAgB,cAAgBjyC,EAAO6iB,MAAMoxB,eAAetpB,QAAQ,IACtGjuC,KAAK04B,KAAK,SAAWpV,EAAO6iB,MAAMgvB,cAAgB,cAAgB7xC,EAAO6iB,MAAMquB,eAAevmB,QAAQ,IACtGjuC,KAAK04B,KAAK,cAAgBpV,EAAO6iB,MAAMkxB,WAAa,cAAgB/zC,EAAO6iB,MAAMqxB,WACjFx3D,KAAKmM,QAYT6G,IAAK,SAAUA,EAAKjP,EAAGC,EAAGqS,GAEtBrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAExBrW,KAAK04B,KAAK,OAAQ1lB,EAAI4vD,QAAS,UAAW5vD,EAAIg4C,QAC9ChrD,KAAK04B,KAAK,YAAa1lB,EAAIm3H,SAAU,UAAWn3H,EAAIo3H,QACpDpqI,KAAK04B,KAAK,aAAc1lB,EAAIk4C,SAASjd,QAAQ,GAAI,YAAaj7B,EAAI6vB,SAASoL,QAAQ,IAEnFjuC,KAAKmM,QAYTk+H,UAAW,SAAUtmI,EAAGC,EAAGqS,EAAOi0H,GAE9B,IAAInkG,EAAQnmC,KAAK+C,KAAKojC,MAetB,QAboB5/B,IAAhB+jI,IAEAA,GAAc,GAGlBtqI,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,SACV14B,KAAK04B,KAAK,MAAQyN,EAAMpiC,EAAI,OAASoiC,EAAMniC,GAC3ChE,KAAK04B,KAAK,YAAcyN,EAAM2jG,OAAS,aAAe3jG,EAAM4jG,QAC5D/pI,KAAK04B,KAAK,YAAcyN,EAAMrlC,MAAMiD,EAAEkqC,QAAQ,GAAK,aAAe9H,EAAMrlC,MAAMiD,EAAEkqC,QAAQ,IACxFjuC,KAAK04B,KAAK,aAAeyN,EAAMuc,cAAcqK,QAAQ9e,QAAQ,GAAK,cAAgB9H,EAAMuc,cAAcsK,QAAQ/e,QAAQ,IAEjHq8F,EAAL,CAOAtqI,KAAK04B,KAAK,YACV14B,KAAK04B,KAAK,KAAO14B,KAAKuqI,cAAcpkG,EAAM+G,MAAO,UACjDltC,KAAK04B,KAAK,KAAO14B,KAAKuqI,cAAcpkG,EAAM2c,UAAW,cACrD9iD,KAAK04B,KAAK,KAAO14B,KAAKuqI,cAAcpkG,EAAM0c,MAAO,UAEjD,IAAIJ,EAAWtc,EAAMsc,SACjBE,EAAexc,EAAMwc,aACrBtmC,EAAQ7a,EAAOivD,aACf/lB,EAAS,EACT8/F,EAAO,EAEXxqI,KAAK04B,KAAK,aACV14B,KAAK04B,KAAK,MAAQiqB,EAAaqI,OAAS,IAAM,KAAO,IAAM3uC,EAAMsmC,EAAamJ,aAAe,IAAMnJ,EAAaiD,YAEhH,IAAK,IAAIljD,EAAI,EAAGA,EAAI+/C,EAAS9/C,OAAQD,IACrC,CACI,IAAIM,EAAIy/C,EAAS//C,GAEjB1C,KAAK04B,KAAK,MAAQ11B,EAAE0nC,OAAS,IAAM,KAAO,IAAMruB,EAAMrZ,EAAE8oD,aAAe,IAAM9oD,EAAE4iD,YAE3E5iD,EAAE0nC,OAAUA,GAAU,EACnB8/F,GAAQ,EAGnBxqI,KAAK04B,KAAK,aAAegS,EAAS,UAAY8/F,EAAO,SAAWrkG,EAAMkb,aAEtErhD,KAAKmM,YA/BDnM,KAAKmM,QA4Cbs+H,aAAc,SAAU5jF,EAAS70B,EAAMjuB,EAAGC,EAAGqS,GAEzCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK1G,GAAQ,KAClBhyB,KAAK04B,KAAK,WAAamuB,EAAQnc,QAE1Bmc,EAAQnc,QAOb1qC,KAAK04B,KAAK,YAAcmuB,EAAQ7F,SAE5B,YAAa6F,GAEb7mD,KAAK04B,KAAK,YAAcmuB,EAAQK,SAGhC,mBAAoBL,GAEpB7mD,KAAK04B,KAAK,mBAAqBmuB,EAAQxH,gBAGvC,UAAWwH,GAEX7mD,KAAK04B,KAAK,WAAamuB,EAAQxW,MAAQwW,EAAQxW,MAAM78B,KAAOqzC,EAAQxW,QAGxErwC,KAAKmM,QAtBDnM,KAAKmM,QAyBbo+H,cAAe,SAAU1jF,EAAS70B,GAE9B,OAAOhyB,KAAK0qI,wBAAwB7jF,GAAW,IAAM70B,EAAO,IAAMhyB,KAAK2qI,yBAAyB9jF,IAGpG6jF,wBAAyB,SAAU7jF,GAE/B,OAAKA,EAAQnc,OAKNmc,EAAQ7F,QAAU,IAAM,IAHpB,KAMf2pF,yBAA0B,SAAU9jF,GAEhC,OAAKA,EAAQnc,SAKLmc,EAAQK,SAAWL,EAAQxH,gBAAkB,IAH1C,KAcfurF,aAAc,SAAUtnH,EAAQjN,EAAO+yH,GAEnC,IAAItkI,EAASwe,EAAOpZ,YAEpBpF,EAAOf,GAAK/D,KAAK+C,KAAK+X,OAAO/W,EAC7Be,EAAOd,GAAKhE,KAAK+C,KAAK+X,OAAO9W,EAE7BhE,KAAKqpI,UAAUvkI,EAAQuR,EAAO+yH,IAWlCyB,aAAc,SAAUx2D,EAAMh+D,EAAO+yH,GAEjC,IAEIjuG,EAAOn7B,KAFIq0E,EAAK6Z,SAIXv9D,QAAQ,SAAUm6G,GAEvB3vG,EAAKkuG,UAAUyB,EAASz0H,EAAO+yH,IAChCppI,OAYP+qI,WAAY,SAAUznH,EAAQvf,EAAGC,EAAGqS,GAEhCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,YAAcpV,EAAO0O,MAAQ,IAAM,KAAO1O,EAAO1lB,MAAQ,MAAQ0lB,EAAOzlB,OAAS,aAAeylB,EAAO3c,OAAO5C,EAAI,MAAQuf,EAAO3c,OAAO3C,GAClJhE,KAAK04B,KAAK,MAAQpV,EAAOvf,EAAEkqC,QAAQ,GAAK,OAAS3qB,EAAOtf,EAAEiqC,QAAQ,IAClEjuC,KAAK04B,KAAK,UAAYpV,EAAOsS,MAAMqY,QAAQ,GAAK,cAAgB3qB,EAAOtiB,SAASitC,QAAQ,IACxFjuC,KAAK04B,KAAK,YAAcpV,EAAOpiB,QAAU,eAAiBoiB,EAAOkoD,UACjExrE,KAAK04B,KAAK,aAAepV,EAAOthB,QAAQ+B,EAAEkqC,QAAQ,GAAK,OAAS3qB,EAAOthB,QAAQgC,EAAEiqC,QAAQ,GAAK,OAAS3qB,EAAOthB,QAAQpE,MAAMqwC,QAAQ,GAAK,OAAS3qB,EAAOthB,QAAQnE,OAAOowC,QAAQ,IAChLjuC,KAAK04B,KAAK,YAAcpV,EAAOjiB,OAAUiiB,EAAOjiB,OAAO2wB,MAAQ,kBAAqB,WAEpFhyB,KAAKmM,QAYT6+H,aAAc,SAAU1nH,EAAQvf,EAAGC,EAAGqS,GAElCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAEpBiN,EAAO0O,MAEPhyB,KAAK04B,KAAKpV,EAAO0O,MAGrBhyB,KAAK04B,KAAK,KAAMpV,EAAOvf,EAAEkqC,QAAQ,GAAI,KAAM3qB,EAAOtf,EAAEiqC,QAAQ,IAC5DjuC,KAAK04B,KAAK,SAAUpV,EAAO1iB,SAASmD,EAAEkqC,QAAQ,GAAI,SAAU3qB,EAAO1iB,SAASoD,EAAEiqC,QAAQ,IACtFjuC,KAAK04B,KAAK,WAAYpV,EAAOrgB,MAAMc,EAAEkqC,QAAQ,GAAI,WAAY3qB,EAAOrgB,MAAMe,EAAEiqC,QAAQ,IAEpFjuC,KAAKmM,QAYT8+H,SAAU,SAAUvyG,EAAM30B,EAAGC,EAAGqS,GAE5BrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,IACxBrW,KAAK04B,KAAK,WAAYA,EAAKpsB,MAAMvI,EAAEkqC,QAAQ,GAAI,WAAYvV,EAAKpsB,MAAMtI,EAAEiqC,QAAQ,IAChFjuC,KAAK04B,KAAK,SAAUA,EAAKrd,IAAItX,EAAEkqC,QAAQ,GAAI,SAAUvV,EAAKrd,IAAIrX,EAAEiqC,QAAQ,IACxEjuC,KAAK04B,KAAK,UAAWA,EAAK/1B,OAAOsrC,QAAQ,GAAI,SAAUvV,EAAK9C,OAC5D51B,KAAKmM,QAYT8vE,MAAO,SAAUl4E,EAAGC,EAAGqS,EAAOyL,GAE1BA,EAAOA,GAAQ,EAEf9hB,KAAKsM,QACLtM,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQgb,SAAS/kB,EAAGC,EAAG8d,EAAMA,GAClC9hB,KAAKmM,QAYTm9H,KAAM,SAAUlwF,EAAQ/iC,EAAO+yH,EAAQ8B,QAEpB3kI,IAAX6iI,IAAwBA,GAAS,QACnB7iI,IAAd2kI,IAA2BA,EAAY,GAE3C70H,EAAQA,GAAS,oBAEjBrW,KAAKsM,QAELtM,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQkyE,YAAc3pE,EAC3BrW,KAAK8N,QAAQiyE,UAAY//E,KAAK+/E,UAE9B,IAAIniC,EAAQp8C,EAAOgwB,MAAMosB,MAErBstF,IAActtF,EAAM0qF,gBAAkBlvF,aAAkB53C,EAAOS,UAE3DmnI,EAEAppI,KAAK8N,QAAQgb,SAASswB,EAAOr1C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOp1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGo1C,EAAOx7C,MAAOw7C,EAAOv7C,QAIzGmC,KAAK8N,QAAQg9E,WAAW1xC,EAAOr1C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOp1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGo1C,EAAOx7C,MAAOw7C,EAAOv7C,QAG1GqtI,IAActtF,EAAM2qF,aAAenvF,aAAkB53C,EAAOmzB,QAEjE30B,KAAK8N,QAAQ4xE,YACb1/E,KAAK8N,QAAQ6xE,IAAIvmC,EAAOr1C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOp1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGo1C,EAAOjkB,OAAQ,EAAa,EAAVzxB,KAAKsxB,IAAQ,GAC9Gh1B,KAAK8N,QAAQ8xE,YAETwpD,EAEAppI,KAAK8N,QAAQ44C,OAIb1mD,KAAK8N,QAAQmyE,UAGZirD,IAActtF,EAAM4qF,YAAcpvF,aAAkB53C,EAAOX,MAEhEb,KAAK8N,QAAQgb,SAASswB,EAAOr1C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOp1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAG,EAAG,GAElFknI,IAActtF,EAAM6qF,WAAarvF,aAAkB53C,EAAOy2B,MAE/Dj4B,KAAK8N,QAAQ4xE,YACb1/E,KAAK8N,QAAQ+xE,OAAQzmC,EAAO9sC,MAAMvI,EAAI,GAAO/D,KAAK+C,KAAK+X,OAAO/W,EAAIq1C,EAAO9sC,MAAMtI,EAAI,GAAOhE,KAAK+C,KAAK+X,OAAO9W,GAC3GhE,KAAK8N,QAAQgyE,OAAQ1mC,EAAO/9B,IAAItX,EAAI,GAAO/D,KAAK+C,KAAK+X,OAAO/W,EAAIq1C,EAAO/9B,IAAIrX,EAAI,GAAOhE,KAAK+C,KAAK+X,OAAO9W,GACvGhE,KAAK8N,QAAQ8xE,YACb5/E,KAAK8N,QAAQmyE,WAERirD,IAActtF,EAAM8qF,cAAgBtvF,aAAkB53C,EAAOo2B,WAElE53B,KAAK8N,QAAQ4xE,YACb1/E,KAAK8N,QAAQq9H,QAAQ/xF,EAAOvhB,QAAU73B,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOthB,QAAU93B,KAAK+C,KAAK+X,OAAO9W,EAAGo1C,EAAOx7C,MAAQ,EAAGw7C,EAAOv7C,OAAS,EAAG,EAAG,EAAI6F,KAAKsxB,IAAI,GACpJh1B,KAAK8N,QAAQ8xE,YAETwpD,EAEAppI,KAAK8N,QAAQ44C,OAIb1mD,KAAK8N,QAAQmyE,UAIrBjgF,KAAKmM,QAWTk9H,UAAW,SAAUjwF,EAAQ/iC,EAAO+yH,QAEjB7iI,IAAX6iI,IAAwBA,GAAS,GAErC/yH,EAAQA,GAAS,uBAEjBrW,KAAKsM,QAED88H,GAEAppI,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQgb,SAASswB,EAAOr1C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOp1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGo1C,EAAOx7C,MAAOw7C,EAAOv7C,UAIzGmC,KAAK8N,QAAQiyE,UAAY//E,KAAK+/E,UAC9B//E,KAAK8N,QAAQkyE,YAAc3pE,EAC3BrW,KAAK8N,QAAQg9E,WAAW1xC,EAAOr1C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAGq1C,EAAOp1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGo1C,EAAOx7C,MAAOw7C,EAAOv7C,SAG/GmC,KAAKmM,QAaTooE,KAAM,SAAUA,EAAMxwE,EAAGC,EAAGqS,EAAO8+D,GAE/B9+D,EAAQA,GAAS,mBACjB8+D,EAAOA,GAAQn1E,KAAKm1E,KAEpBn1E,KAAKsM,QACLtM,KAAK8N,QAAQqnE,KAAOA,EAEhBn1E,KAAKgoI,eAELhoI,KAAK8N,QAAQ6a,UAAY,aACzB3oB,KAAK8N,QAAQ2xE,SAASlL,EAAMxwE,EAAI,EAAGC,EAAI,IAG3ChE,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQ2xE,SAASlL,EAAMxwE,EAAGC,GAE/BhE,KAAKmM,QAUTi/H,SAAU,SAAUC,EAAUh1H,GAE1BA,EAAQA,GAAS,oBAEjBrW,KAAKsM,QAEL,IAAIxH,EAASumI,EAASvmI,OAEtB,GAA8B,IAA1BumI,EAAS37B,MAAM/sG,OACnB,CACI3C,KAAK8N,QAAQkyE,YAAc3pE,EAC3BrW,KAAK8N,QAAQg9E,WAAWhmF,EAAOf,EAAGe,EAAOd,EAAGc,EAAOlH,MAAOkH,EAAOjH,QACjEmC,KAAKu0E,KAAK,SAAW82D,EAAS57B,QAAQ9sG,OAAQmC,EAAOf,EAAI,EAAGe,EAAOd,EAAI,GAAI,eAAgB,gBAE3FhE,KAAK8N,QAAQkyE,YAAc,eAE3B,IAASt9E,EAAI,EAAGA,EAAI2oI,EAAS57B,QAAQ9sG,OAAQD,IAEzC1C,KAAK8N,QAAQg9E,WAAWugD,EAAS57B,QAAQ/sG,GAAGqB,EAAGsnI,EAAS57B,QAAQ/sG,GAAGsB,EAAGqnI,EAAS57B,QAAQ/sG,GAAG9E,MAAOytI,EAAS57B,QAAQ/sG,GAAG7E,aAKzH,IAAK,IAAI6E,EAAI,EAAGA,EAAI2oI,EAAS37B,MAAM/sG,OAAQD,IAEvC1C,KAAKorI,SAASC,EAAS37B,MAAMhtG,IAIrC1C,KAAKmM,QAaT2lC,KAAM,SAAUxuB,EAAQjN,EAAO+yH,GAEvB9lH,EAAOwuB,OAEP9xC,KAAKsM,QAEDgX,EAAOwuB,KAAKt+B,OAAShS,EAAO6wC,QAAQC,OAEpC9wC,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKnmI,OAAOnF,KAAK8N,QAASwV,EAAOwuB,KAAMz7B,EAAO+yH,EAAQppI,KAAK+/E,WAE5Ez8D,EAAOwuB,KAAKt+B,OAAShS,EAAO6wC,QAAQk5F,MAEzC/pI,EAAO6wC,QAAQm5F,MAAMF,KAAKnmI,OAAOnF,KAAK8N,QAASwV,EAAOwuB,KAAMz7B,EAAO+yH,GAE9D9lH,EAAOwuB,KAAKt+B,OAAShS,EAAO6wC,QAAQo5F,OAEzCjqI,EAAO6wC,QAAQq5F,MAAMC,WAAW3rI,KAAK8N,QAASwV,EAAOwuB,KAAMz7B,GAG/DrW,KAAKmM,SAaby/H,SAAU,SAAUtoH,EAAQvf,EAAGC,EAAGqS,GAE1BiN,EAAOwuB,OAEP9xC,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAEpBiN,EAAOwuB,KAAKt+B,OAAShS,EAAO6wC,QAAQC,OAEpC9wC,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKO,eAAe7rI,KAAMsjB,EAAOwuB,MAElDxuB,EAAOwuB,KAAKt+B,OAAShS,EAAO6wC,QAAQo5F,OAEzCzrI,KAAK+C,KAAK0jC,QAAQqlG,MAAMD,eAAe7rI,KAAMsjB,EAAOwuB,MAGxD9xC,KAAKmM,SAWb4/H,WAAY,WAER/rI,KAAKsM,QAELtM,KAAK8N,QAAQ+tB,WAAW77B,KAAK+C,KAAK+X,OAAO7D,KAAKlT,GAAI/D,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAG,GAC3EhE,KAAK+C,KAAK0jC,QAAQqlG,MAAME,gBAAgBhsI,KAAK8N,SAE7C9N,KAAKmM,QAWT8/H,UAAW,SAAUn6F,EAAMz7B,GAEvBrW,KAAKsM,QACL9K,EAAO6wC,QAAQq5F,MAAMC,WAAW3rI,KAAK8N,QAASgkC,EAAMz7B,GACpDrW,KAAKmM,QAaT+/H,YAAa,SAAUjxH,GAanB,QAXsB1U,IAAlB0U,IAA+BA,EAAgBjb,KAAK+C,KAAKE,OAEzDgY,EAAcoW,eAAe,iBAE7B/wB,QAAQ+P,IAAI,IAAM4K,EAAc68B,cAAgB,IAAK78B,GAIrD3a,QAAQ+P,IAAI,KAAM4K,GAGlBA,EAAcxY,UAAYwY,EAAcxY,SAASE,OAAS,EAE1D,IAAK,IAAID,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/C1C,KAAK+C,KAAK+mC,MAAMoiG,YAAYjxH,EAAcxY,SAASC,KAa/DmC,SAAU,SAAUd,EAAGC,EAAGqS,GAEtB,IAAInS,EAAIlE,KAAK+C,KAAK8B,SACdR,EAAIH,EAAE0B,cAWV,GATA5F,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,MAAMx0B,EAAEvG,GAAK,QAAU,UAAY,cAAgBuG,EAAEtG,MAAQ,MAAQsG,EAAErG,OAAS,KACrFmC,KAAK04B,KAAK,eAAiBx0B,EAAE2S,YAC7B7W,KAAK04B,KAAK,sBAAwBx0B,EAAE6S,mBACpC/W,KAAK04B,KAAK,eAAiBx0B,EAAEU,YAC7B5E,KAAK04B,KAAK,gBAAkBx0B,EAAE0S,aAC9B5W,KAAK04B,KAAK,kBAENx0B,EAAEvG,GACN,CACIqC,KAAK04B,KAAK,8BAAgCx0B,EAAEiU,uBAAuBxV,OAAS,KAE5E,IAAK,IAAID,EAAI,EAAGA,EAAIwB,EAAEiU,uBAAuBxV,OAAQD,IAEjD1C,KAAK04B,KAAK,OAASx0B,EAAEiU,uBAAuBzV,IAGhD1C,KAAK04B,KAAK,gBAAkBr0B,EAAE+T,WAC9BpY,KAAK04B,KAAK,kBAAoBx0B,EAAEuU,aAChCzY,KAAK04B,KAAK,qBAAuBx0B,EAAEwU,gBACnC1Y,KAAK04B,KAAK,+BAAiCr0B,EAAEgU,0BAC7CrY,KAAK04B,KAAK,kBAAoBr0B,EAAEuK,kBAIhC5O,KAAK04B,KAAK,kBAAoBr0B,EAAEuK,aAChC5O,KAAK04B,KAAK,iBAAmC,IAAhBr0B,EAAEvG,UAAkB,SAA4B,IAAhBuG,EAAEvG,UAAkB,UAAYuG,EAAEvG,YAGnGkC,KAAKmM,QAGTggI,WAAY,SAAUpoI,EAAGC,EAAGqS,EAAO0xH,GAE/B,IAAI3oC,EAAO59F,EAAOqF,WAElB7G,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO0xH,GAAe,KACvC/nI,KAAK04B,KAAK,eACV14B,KAAK04B,KAAK,QAAS0mE,EAAKC,YACxBr/F,KAAK04B,KAAK,QAAS0mE,EAAKE,WACxBt/F,KAAK04B,KAAK,SAAU0mE,EAAKz8F,QACzB3C,KAAKmM,QAYT4nE,aAAc,SAAU75B,EAAO7jC,EAAO+yH,EAAQ9xF,GAE1C4C,EAAMvpB,QAAQ3wB,KAAK8xC,KAAM9xC,KAAMs3C,EAAajhC,EAAO+yH,IAWvDgD,OAAQ,SAAUroI,EAAGC,EAAGqS,GAEpBrW,KAAKu0E,KAAK,WAAa/yE,EAAOgqB,QAAU,KACnCxrB,KAAK+C,KAAKsnC,aAAe7oC,EAAOmV,MAAQ,QAAU,UAAY,KAC9D3W,KAAK+C,KAAKknB,OAAOw0B,SAAW,WAAa,cAC9C16C,EAAGC,EAAGqS,EAAOrW,KAAKm1E,OAWtBr0E,MAAO,SAAUiD,EAAGC,EAAGqS,GAEnBrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjB,IAAIvV,EAAQd,KAAK+C,KAAKjC,MAClBurI,EAASvrI,EAAM+9H,oBACf/5H,EAAShE,EAAM4/H,cACf38H,EAAI,MAER/D,KAAK04B,KAAK,SAAW14B,KAAK+C,KAAKnF,MAAQmG,EAAI/D,KAAK+C,KAAKlF,QACrDmC,KAAK04B,KAAK,WAAa53B,EAAMlD,MAAQmG,EAAIjD,EAAMjD,OAC3C,KAAOwuI,EAAOtoI,EAAEkqC,QAAQ,GAAKlqC,EAAIsoI,EAAOroI,EAAEiqC,QAAQ,GAAK,MAChDntC,EAAMg+H,YAAY7wF,QAAQ,GAAK,KAC1CjuC,KAAK04B,KAAK,SAAWl3B,EAAOw7C,aAAaokF,MAAMtgI,EAAMiiI,mBAChDjiI,EAAMiiI,mBAAqBvhI,EAAOw7C,aAAamkF,WAC3C,KAAOrgI,EAAMu/H,iBAAiBt8H,EAAIA,EAAIjD,EAAMu/H,iBAAiBr8H,EAAI,IAClE,KACRhE,KAAK04B,KAAK,YAAc53B,EAAM8+H,eAAiB,SAAW9+H,EAAM0oG,aAC3D1kG,EAAO+1B,MAAQ,GAAM,KAAO/1B,EAAOlH,MAAQmG,EAAIe,EAAOjH,OAAS,MACpEmC,KAAK04B,KAAK,WAAa53B,EAAMmjI,oBAAoBnjI,EAAM49H,oBAClD59H,EAAMg9H,qBAAuB,eAAiB,KAEnD99H,KAAKmM,QAiBTmgI,OAAQ,SAAUA,EAAQvoI,EAAGC,EAAGqS,GAE5B,IAAIid,EAAM9xB,EAAOgwB,MAAM8B,IAEvBtzB,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEbi2H,EAAOn/H,UAEPnN,KAAK04B,KAAK,YAAc4zG,EAAOtpF,YAAc,YAAc,KAEtDspF,EAAOriB,UAEZjqH,KAAK04B,KAAK,WAIV14B,KAAK04B,KAAK,eAGT4zG,EAAOn/H,YAAam/H,EAAOtpF,cAE5BhjD,KAAK04B,KAAK,aAAgBpF,EAAIg5G,EAAOpd,SAAU,GAAK,KACpDlvH,KAAK04B,KAAK,UAAY4zG,EAAO/gB,iBAAmB,OAC1B+gB,EAAOjhB,iBAC7BrrH,KAAK04B,KAAK,UAAY4zG,EAAOhhB,iBAAmB,OAC1BghB,EAAOhhB,mBAGjCtrH,KAAKmM,QAWT8d,OAAQ,SAAUlmB,EAAGC,EAAGqS,GAEpB,IAAI4T,EAASjqB,KAAK+C,KAAKknB,OAEvBjqB,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,UACV14B,KAAK04B,KAAK,mBAAqBzO,EAAO64B,WACtC9iD,KAAK04B,KAAK,UAAYzO,EAAO44B,OAC7B7iD,KAAK04B,KAAK,cAAgBzO,EAAOw0B,UACjCz+C,KAAK04B,KAAK,UAAYzO,EAAO80B,OAE7B/+C,KAAKmM,QAQT3J,QAAS,WAELhB,EAAOqF,WAAWsV,OAAOnc,QAKjCwB,EAAOgwB,MAAMosB,MAAMt7C,UAAUC,YAAcf,EAAOgwB,MAAMosB,MAmBxDp8C,EAAOmuC,KAYHC,UAAW,SAAUiZ,EAASzyB,GAE1BA,EAAQA,GAAS,IAAI50B,EAAOX,MAE5B,IAAI0rI,EAAM1jF,EAAQu8E,wBAEdX,EAAYjjI,EAAOmuC,IAAI68F,QACvBC,EAAajrI,EAAOmuC,IAAI+8F,QACxBC,EAAY38F,SAASu4D,gBAAgBokC,UACrCC,EAAa58F,SAASu4D,gBAAgBqkC,WAK1C,OAHAx2G,EAAMryB,EAAIwoI,EAAI54G,KAAO84G,EAAaG,EAClCx2G,EAAMpyB,EAAIuoI,EAAIl2G,IAAMouG,EAAYkI,EAEzBv2G,GAgBXlsB,UAAW,SAAU2+C,EAASgkF,GAM1B,YAJgBtmI,IAAZsmI,IAAyBA,EAAU,OAEvChkF,EAAUA,IAAYA,EAAQh1B,SAAWg1B,EAAQ,GAAKA,IAEjB,IAArBA,EAAQh1B,WAMb7zB,KAAK8sI,UAAUjkF,EAAQu8E,wBAAyByH,IAa/DC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,EAEtB,IAAIn3G,GAAW93B,MAAO,EAAGC,OAAQ,EAAG81B,KAAM,EAAGD,MAAO,EAAG2C,IAAK,EAAGC,OAAQ,GAKvE,OAHAZ,EAAO93B,OAAS83B,EAAOhC,MAAQq5G,EAAOr5G,MAAQm5G,IAAYn3G,EAAO/B,KAAOo5G,EAAOp5G,KAAOk5G,GACtFn3G,EAAO73B,QAAU63B,EAAOY,OAASy2G,EAAOz2G,OAASu2G,IAAYn3G,EAAOW,IAAM02G,EAAO12G,IAAMw2G,GAEhFn3G,GAUXs3G,eAAgB,SAAU5zF,GAItB,IAAI/jC,GAFJ+jC,EAAmB,MAAVA,EAAiBp5C,KAAK4iI,aAAmC,IAApBxpF,EAAOvlB,SAAiB7zB,KAAKkK,UAAUkvC,GAAUA,GAEhFx7C,MACX2mB,EAAI60B,EAAOv7C,OAYf,MAViB,mBAANwX,IAEPA,EAAIA,EAAE7Q,KAAK40C,IAGE,mBAAN70B,IAEPA,EAAIA,EAAE/f,KAAK40C,IAGR/jC,EAAIkP,GAgBf0oH,iBAAkB,SAAUpkF,EAASgkF,GAEjC,IAAI3oI,EAAIlE,KAAKkK,UAAU2+C,EAASgkF,GAEhC,QAAS3oI,GAAKA,EAAEoyB,QAAU,GAAKpyB,EAAEwvB,OAAS,GAAKxvB,EAAEmyB,KAAOr2B,KAAKklI,aAAatnI,OAASsG,EAAEyvB,MAAQ3zB,KAAKklI,aAAarnI,QA4BnH8gI,qBAAsB,SAAUuO,GAE5B,IAAIC,EAAS/8H,OAAO+8H,OAChBjJ,EAAciJ,EAAOjJ,aAAeiJ,EAAOC,gBAAkBD,EAAOE,cAExE,GAAInJ,GAA2C,iBAArBA,EAAY1wH,KAGlC,OAAO0wH,EAAY1wH,KAElB,GAA2B,iBAAhB0wH,EAGZ,OAAOA,EAGX,IAAI/1G,EAAW,mBACXD,EAAY,oBAEhB,GAAwB,WAApBg/G,EAEA,OAAQC,EAAOtvI,OAASsvI,EAAOvvI,MAASuwB,EAAWD,EAElD,GAAwB,aAApBg/G,EAEL,OAAQltI,KAAK4iI,aAAa/kI,OAASmC,KAAK4iI,aAAahlI,MAASuwB,EAAWD,EAExE,GAAwB,uBAApBg/G,GAA0E,iBAAvB98H,OAAO8zH,YAG/D,OAA+B,IAAvB9zH,OAAO8zH,aAA4C,MAAvB9zH,OAAO8zH,YAAuB/1G,EAAWD,EAE5E,GAAI9d,OAAOk9H,WAChB,CACI,GAAIl9H,OAAOk9H,WAAW,2BAA2BrkC,QAE7C,OAAO96E,EAEN,GAAI/d,OAAOk9H,WAAW,4BAA4BrkC,QAEnD,OAAO/6E,EAIf,OAAQluB,KAAK4iI,aAAa/kI,OAASmC,KAAK4iI,aAAahlI,MAASuwB,EAAWD,GAoB7E00G,aAAc,IAAIphI,EAAOS,UAqBzBijI,aAAc,IAAI1jI,EAAOS,UAczBsrI,eAAgB,IAAI/rI,EAAOS,WAI/BT,EAAO85C,OAAOwB,UAAU,SAAU7yB,GAG9B,IAAIyiH,EAAUt8H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAOo9H,aAC5B,WAAc,OAAOx9F,SAASu4D,gBAAgBkkC,YAE9CD,EAAUp8H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAOq9H,aAC5B,WAAc,OAAOz9F,SAASu4D,gBAAgBk8B,WAuClD,GA7BAz9H,OAAOyF,eAAejL,EAAOmuC,IAAK,WAAYzoC,IAAKwlI,IAUnD1lI,OAAOyF,eAAejL,EAAOmuC,IAAK,WAAYzoC,IAAKslI,IAEnDxlI,OAAOyF,eAAejL,EAAOmuC,IAAIizF,aAAc,KAAM17H,IAAKwlI,IAE1D1lI,OAAOyF,eAAejL,EAAOmuC,IAAIizF,aAAc,KAAM17H,IAAKslI,IAE1DxlI,OAAOyF,eAAejL,EAAOmuC,IAAIu1F,aAAc,KAAM99H,MAAO,IAE5DJ,OAAOyF,eAAejL,EAAOmuC,IAAIu1F,aAAc,KAAM99H,MAAO,IAEvC6iB,EAAOw1E,SACvBzvD,SAASu4D,gBAAgBmlC,aAAet9H,OAAOgjB,YAC/C4c,SAASu4D,gBAAgBolC,cAAgBv9H,OAAOijB,YAQrD,CAKI,IAAIq6G,EAAc,WAEd,OAAOhqI,KAAKuC,IAAImK,OAAOgjB,WAAY4c,SAASu4D,gBAAgBmlC,cAE5DC,EAAe,WAEf,OAAOjqI,KAAKuC,IAAImK,OAAOijB,YAAa2c,SAASu4D,gBAAgBolC,eAIjE3mI,OAAOyF,eAAejL,EAAOmuC,IAAIizF,aAAc,SAAU17H,IAAKwmI,IAE9D1mI,OAAOyF,eAAejL,EAAOmuC,IAAIizF,aAAc,UAAW17H,IAAKymI,IAE/D3mI,OAAOyF,eAAejL,EAAOmuC,IAAIu1F,aAAc,SAAUh+H,IAAKwmI,IAE9D1mI,OAAOyF,eAAejL,EAAOmuC,IAAIu1F,aAAc,UAAWh+H,IAAKymI,SAI/D3mI,OAAOyF,eAAejL,EAAOmuC,IAAIizF,aAAc,SAC3C17H,IAAK,WAED,OAAOkJ,OAAOgjB,cAItBpsB,OAAOyF,eAAejL,EAAOmuC,IAAIizF,aAAc,UAC3C17H,IAAK,WAED,OAAOkJ,OAAOijB,eAItBrsB,OAAOyF,eAAejL,EAAOmuC,IAAIu1F,aAAc,SAE3Ch+H,IAAK,WAED,IAAIhE,EAAI8sC,SAASu4D,gBAAgBmlC,YAC7BvqI,EAAIiN,OAAOgjB,WAEf,OAAOlwB,EAAIC,EAAIA,EAAID,KAK3B8D,OAAOyF,eAAejL,EAAOmuC,IAAIu1F,aAAc,UAE3Ch+H,IAAK,WAED,IAAIhE,EAAI8sC,SAASu4D,gBAAgBolC,aAC7BxqI,EAAIiN,OAAOijB,YAEf,OAAOnwB,EAAIC,EAAIA,EAAID,KAW/B8D,OAAOyF,eAAejL,EAAOmuC,IAAI49F,eAAgB,KAAMnmI,MAAO,IAE9DJ,OAAOyF,eAAejL,EAAOmuC,IAAI49F,eAAgB,KAAMnmI,MAAO,IAE9DJ,OAAOyF,eAAejL,EAAOmuC,IAAI49F,eAAgB,SAE7CrmI,IAAK,WAED,IAAI7D,EAAI2sC,SAASu4D,gBACjB,OAAO7kG,KAAKuC,IAAI5C,EAAEqqI,YAAarqI,EAAEuqI,YAAavqI,EAAEwqI,gBAKxD7mI,OAAOyF,eAAejL,EAAOmuC,IAAI49F,eAAgB,UAE7CrmI,IAAK,WAED,IAAI7D,EAAI2sC,SAASu4D,gBACjB,OAAO7kG,KAAKuC,IAAI5C,EAAEsqI,aAActqI,EAAEyqI,aAAczqI,EAAE0qI,kBAI3D,MAAM,GAoBTvsI,EAAOw2C,SAAW,SAAU6B,GAOxB75C,KAAKY,SAAW,EAMhBZ,KAAK65C,KAAOA,OAGhBr4C,EAAOw2C,SAAS11C,WAUZ22B,IAAK,SAAU3xB,GAOX,OALKtH,KAAKkN,OAAO5F,IAEbtH,KAAK65C,KAAK/xC,KAAKR,GAGZA,GAUXkuC,SAAU,SAAUluC,GAEhB,OAAOtH,KAAK65C,KAAKxwC,QAAQ/B,IAY7B0mI,SAAU,SAAUr3F,EAAUvvC,GAI1B,IAFA,IAAI1E,EAAI1C,KAAK65C,KAAKl3C,OAEXD,KAEH,GAAI1C,KAAK65C,KAAKn3C,GAAGi0C,KAAcvvC,EAE3B,OAAOpH,KAAK65C,KAAKn3C,GAIzB,OAAO,MAUXwK,OAAQ,SAAU5F,GAEd,OAAQtH,KAAK65C,KAAKxwC,QAAQ/B,IAAS,GAQvCy+B,MAAO,WAEH/lC,KAAK65C,KAAKl3C,OAAS,GAUvBwZ,OAAQ,SAAU7U,GAEd,IAAIgvF,EAAMt2F,KAAK65C,KAAKxwC,QAAQ/B,GAE5B,GAAIgvF,GAAO,EAGP,OADAt2F,KAAK65C,KAAK/wC,OAAOwtF,EAAK,GACfhvF,GAWfgvC,OAAQ,SAAUtjC,EAAK5L,GAInB,IAFA,IAAI1E,EAAI1C,KAAK65C,KAAKl3C,OAEXD,KAEC1C,KAAK65C,KAAKn3C,KAEV1C,KAAK65C,KAAKn3C,GAAGsQ,GAAO5L,IAehCswC,QAAS,SAAU1kC,GAMf,IAJA,IAAImd,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAE7C5tB,EAAI1C,KAAK65C,KAAKl3C,OAEXD,KAEC1C,KAAK65C,KAAKn3C,IAAM1C,KAAK65C,KAAKn3C,GAAGsQ,IAE7BhT,KAAK65C,KAAKn3C,GAAGsQ,GAAKzN,MAAMvF,KAAK65C,KAAKn3C,GAAIytB,IAWlD0Z,UAAW,SAAUrnC,QAED+D,IAAZ/D,IAAyBA,GAAU,GAIvC,IAFA,IAAIE,EAAI1C,KAAK65C,KAAKl3C,OAEXD,KAEH,GAAI1C,KAAK65C,KAAKn3C,GACd,CACI,IAAI4E,EAAOtH,KAAKmc,OAAOnc,KAAK65C,KAAKn3C,IAE7BF,GAEA8E,EAAK9E,UAKjBxC,KAAKY,SAAW,EAChBZ,KAAK65C,UAWb7yC,OAAOyF,eAAejL,EAAOw2C,SAAS11C,UAAW,SAE7C4E,IAAK,WAED,OAAOlH,KAAK65C,KAAKl3C,UAWzBqE,OAAOyF,eAAejL,EAAOw2C,SAAS11C,UAAW,SAE7C4E,IAAK,WAID,OAFAlH,KAAKY,SAAW,EAEZZ,KAAK65C,KAAKl3C,OAAS,EAEZ3C,KAAK65C,KAAK,GAIV,QAYnB7yC,OAAOyF,eAAejL,EAAOw2C,SAAS11C,UAAW,QAE7C4E,IAAK,WAED,OAAIlH,KAAKY,SAAWZ,KAAK65C,KAAKl3C,QAE1B3C,KAAKY,WAEEZ,KAAK65C,KAAK75C,KAAKY,WAIf,QAMnBY,EAAOw2C,SAAS11C,UAAUC,YAAcf,EAAOw2C,SAc/Cx2C,EAAOk4C,YAcHC,cAAe,SAAU81D,EAAS/pF,EAAY/iB,GAE1C,GAAgB,OAAZ8sG,EAAoB,OAAO,UACZlpG,IAAfmf,IAA4BA,EAAa,QAC9Bnf,IAAX5D,IAAwBA,EAAS8sG,EAAQ9sG,QAE7C,IAAIsrI,EAAcvoH,EAAahiB,KAAKmsB,MAAMnsB,KAAKivB,SAAWhwB,GAE1D,YAAgC4D,IAAzBkpG,EAAQw+B,GAA6B,KAAOx+B,EAAQw+B,IAe/DC,iBAAkB,SAAUz+B,EAAS/pF,EAAY/iB,GAE7C,GAAe,MAAX8sG,EAEA,OAAO,UAGQlpG,IAAfmf,IAA4BA,EAAa,QAC9Bnf,IAAX5D,IAAwBA,EAAS8sG,EAAQ9sG,QAE7C,IAAIsrI,EAAcvoH,EAAahiB,KAAKmsB,MAAMnsB,KAAKivB,SAAWhwB,GAC1D,GAAIsrI,EAAcx+B,EAAQ9sG,OAC1B,CACI,IAAIqH,EAAUylG,EAAQ3mG,OAAOmlI,EAAa,GAC1C,YAAsB1nI,IAAfyD,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,OAAO,MAoBfmS,OAAQ,SAAUuf,EAAOhW,EAAYnH,GAEjC,IAAI5b,EAAS+4B,EAAM/4B,OAEnB,KAAI+iB,GAAc/iB,GAAoB,IAAV4b,GAA5B,CAEa,MAATA,IAAiBA,EAAQ,GAI7B,IAAK,IAFD4vH,EAAYxrI,EAAS4b,EAEhB7b,EAAIgjB,EAAYhjB,EAAIyrI,IAAazrI,EAEtCg5B,EAAMh5B,GAAKg5B,EAAMh5B,EAAI6b,GAGzBmd,EAAM/4B,OAASwrI,IAUnB7zF,QAAS,SAAU5e,GAEf,IAAK,IAAIh5B,EAAIg5B,EAAM/4B,OAAS,EAAGD,EAAI,EAAGA,IACtC,CACI,IAAImF,EAAInE,KAAKmsB,MAAMnsB,KAAKivB,UAAYjwB,EAAI,IACpCiL,EAAO+tB,EAAMh5B,GACjBg5B,EAAMh5B,GAAKg5B,EAAM7zB,GACjB6zB,EAAM7zB,GAAK8F,EAGf,OAAO+tB,GAUX0yG,gBAAiB,SAAU1yG,GAOvB,IAAK,IALD2yG,EAAiB3yG,EAAM/4B,OACvB2rI,EAAiB5yG,EAAM,GAAG/4B,OAE1Bi2B,EAAS,IAAInxB,MAAM6mI,GAEd5rI,EAAI,EAAGA,EAAI4rI,EAAgB5rI,IACpC,CACIk2B,EAAOl2B,GAAK,IAAI+E,MAAM4mI,GAEtB,IAAK,IAAIxmI,EAAIwmI,EAAiB,EAAGxmI,GAAK,EAAGA,IAErC+wB,EAAOl2B,GAAGmF,GAAK6zB,EAAM7zB,GAAGnF,GAIhC,OAAOk2B,GAaX21G,aAAc,SAAU7gI,EAAQ82B,GAO5B,GALyB,iBAAdA,IAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,IAAmC,MAAfA,GAAoC,eAAdA,EAG1C92B,GADAA,EAASlM,EAAOk4C,WAAW00F,gBAAgB1gI,IAC3B4Q,eAEf,IAAmB,KAAfkmB,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/C92B,EAASA,EAAO4Q,UAChB5Q,EAASlM,EAAOk4C,WAAW00F,gBAAgB1gI,QAE1C,GAA4B,MAAxBhK,KAAKizB,IAAI6N,IAAoC,cAAdA,EACxC,CACI,IAAK,IAAI9hC,EAAI,EAAGA,EAAIgL,EAAO/K,OAAQD,IAE/BgL,EAAOhL,GAAG4b,UAGd5Q,EAASA,EAAO4Q,UAGpB,OAAO5Q,GAYX8gI,YAAa,SAAUpnI,EAAOqnI,GAE1B,IAAKA,EAAI9rI,OAEL,OAAO+rI,IAEN,GAAmB,IAAfD,EAAI9rI,QAAgByE,EAAQqnI,EAAI,GAErC,OAAOA,EAAI,GAIf,IADA,IAAI/rI,EAAI,EACD+rI,EAAI/rI,GAAK0E,GAEZ1E,IAGJ,IAAIisI,EAAMF,EAAI/rI,EAAI,GACdksI,EAAQlsI,EAAI+rI,EAAI9rI,OAAU8rI,EAAI/rI,GAAKm9B,OAAO8B,kBAE9C,OAASitG,EAAOxnI,GAAWA,EAAQunI,EAAQC,EAAOD,GAgBtDE,YAAa,SAAUnzG,GAEnB,IAAIr3B,EAAIq3B,EAAM9a,MAGd,OAFA8a,EAAM6tD,QAAQllF,GAEPA,GAgBXyqI,WAAY,SAAUpzG,GAElB,IAAIr3B,EAAIq3B,EAAM8yB,QAGd,OAFA9yB,EAAM5zB,KAAKzD,GAEJA,GAsBX0qI,YAAa,SAAUziI,EAAO+O,QAEd9U,IAAR8U,GAA6B,OAARA,IAErBA,EAAM/O,EACNA,EAAQ,GAKZ,IAAK,IAFDssB,KAEKl2B,EAAI4J,EAAO5J,GAAK2Y,EAAK3Y,IAE1Bk2B,EAAO9wB,KAAKpF,GAGhB,OAAOk2B,GAoCXo2G,gBAAiB,SAAU1iI,EAAO+O,EAAK4kC,QAErB15C,IAAV+F,GAAiC,OAAVA,IAAkBA,EAAQ,QAEzC/F,IAAR8U,GAA6B,OAARA,IAErBA,EAAM/O,EACNA,EAAQ,QAGC/F,IAAT05C,IAAsBA,EAAO,GAKjC,IAAK,IAHDrnB,KACA+f,EAAQj1C,KAAKuC,IAAIzE,EAAOkC,KAAKgqG,mBAAmBryF,EAAM/O,IAAU2zC,GAAQ,IAAK,GAExEv9C,EAAI,EAAGA,EAAIi2C,EAAOj2C,IAEvBk2B,EAAO9wB,KAAKwE,GACZA,GAAS2zC,EAGb,OAAOrnB,IAsBfp3B,EAAOytI,WAAa,WAOhBjvI,KAAKm1C,KAAO,KAOZn1C,KAAK86E,KAAO,KAOZ96E,KAAKsvD,MAAQ,KAObtvD,KAAKkjF,KAAO,KAOZljF,KAAK24C,MAAQ,GAGjBn3C,EAAOytI,WAAW3sI,WASd22B,IAAK,SAAU3xB,GAGX,OAAmB,IAAftH,KAAK24C,OAA8B,OAAf34C,KAAKsvD,OAAgC,OAAdtvD,KAAKkjF,MAEhDljF,KAAKsvD,MAAQhoD,EACbtH,KAAKkjF,KAAO57E,EACZtH,KAAKm1C,KAAO7tC,EACZA,EAAKwzE,KAAO96E,KACZA,KAAK24C,QACErxC,IAIXtH,KAAKkjF,KAAK/tC,KAAO7tC,EAEjBA,EAAKwzE,KAAO96E,KAAKkjF,KAEjBljF,KAAKkjF,KAAO57E,EAEZtH,KAAK24C,QAEErxC,IAQXy+B,MAAO,WAEH/lC,KAAKsvD,MAAQ,KACbtvD,KAAKkjF,KAAO,KACZljF,KAAKm1C,KAAO,KACZn1C,KAAK86E,KAAO,KACZ96E,KAAK24C,MAAQ,GASjBx8B,OAAQ,SAAU7U,GAEd,GAAmB,IAAftH,KAAK24C,MAIL,OAFA34C,KAAK+lC,aACLz+B,EAAK6tC,KAAO7tC,EAAKwzE,KAAO,MAIxBxzE,IAAStH,KAAKsvD,MAGdtvD,KAAKsvD,MAAQtvD,KAAKsvD,MAAMna,KAEnB7tC,IAAStH,KAAKkjF,OAGnBljF,KAAKkjF,KAAOljF,KAAKkjF,KAAKpI,MAGtBxzE,EAAKwzE,OAGLxzE,EAAKwzE,KAAK3lC,KAAO7tC,EAAK6tC,MAGtB7tC,EAAK6tC,OAGL7tC,EAAK6tC,KAAK2lC,KAAOxzE,EAAKwzE,MAG1BxzE,EAAK6tC,KAAO7tC,EAAKwzE,KAAO,KAEL,OAAf96E,KAAKsvD,QAELtvD,KAAKkjF,KAAO,MAGhBljF,KAAK24C,SAUTjB,QAAS,SAAU/C,GAEf,GAAK30C,KAAKsvD,OAAUtvD,KAAKkjF,KAAzB,CAKA,IAAIgsD,EAASlvI,KAAKsvD,MAElB,GAEQ4/E,GAAUA,EAAOv6F,IAEjBu6F,EAAOv6F,GAAUnwC,KAAK0qI,GAG1BA,EAASA,EAAO/5F,WAEb+5F,IAAWlvI,KAAKkjF,KAAK/tC,SAKpC3zC,EAAOytI,WAAW3sI,UAAUC,YAAcf,EAAOytI,WAmBjDztI,EAAOk8C,OAAS,SAAU36C,GAKtB/C,KAAK+C,KAAOA,EAKZ/C,KAAK8nI,IAAM,KAKX9nI,KAAKkX,OAAS,KAKdlX,KAAKg6E,IAAM,KAKXh6E,KAAKmvI,WACCC,EAAG,OAAQxG,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW9qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,YAC/M4+G,EAAG,OAAQxG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW9qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,YAClN4+G,EAAG,OAAQxG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW9qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,SAClN4+G,EAAG,OAAQxG,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW9qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,YAC/M4+G,EAAG,OAAQxG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW9qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWx0C,EAAG,UAS5NhvB,EAAOk8C,OAAOgyF,aAAe,EAO7BluI,EAAOk8C,OAAOiyF,YAAc,EAO5BnuI,EAAOk8C,OAAOkyF,YAAc,EAO5BpuI,EAAOk8C,OAAOmyF,YAAc,EAO5BruI,EAAOk8C,OAAOoyF,yBAA2B,EAEzCtuI,EAAOk8C,OAAOp7C,WAsCVvE,QAAS,SAAUiV,EAAKoB,EAAMy4G,EAAYC,EAAaC,EAASpoH,EAAiBgwC,EAAU1L,QAEpE1iC,IAAfsmH,IAA4BA,EAAa,QACzBtmH,IAAhBumH,IAA6BA,EAAcD,QAC/BtmH,IAAZwmH,IAAyBA,EAAU,QACfxmH,IAApB5B,IAAiCA,GAAkB,GAEvD,IAAI0Q,EAAIjB,EAAK,GAAGzR,OAASkqH,EACrBtoG,EAAInQ,EAAKzR,OAASmqH,EAGL,OAAb9sH,KAAK8nI,MAEL9nI,KAAK8nI,IAAM9nI,KAAK+C,KAAKmjC,KAAKowC,aAC1Bt2E,KAAKkX,OAASlX,KAAK8nI,IAAI5wH,OACvBlX,KAAKg6E,IAAMh6E,KAAK8nI,IAAIh6H,SAGxB9N,KAAK8nI,IAAI3hI,OAAOkP,EAAGkP,GACnBvkB,KAAK8nI,IAAIltH,QAGT,IAAK,IAAI5W,EAAI,EAAGA,EAAIoQ,EAAKzR,OAAQqB,IAI7B,IAAK,IAFD87G,EAAM1rG,EAAKpQ,GAEND,EAAI,EAAGA,EAAI+7G,EAAIn9G,OAAQoB,IAChC,CACI,IAAIV,EAAIy8G,EAAI/7G,GAEF,MAANV,GAAmB,MAANA,IAEbrD,KAAKg6E,IAAIrxD,UAAY3oB,KAAKmvI,SAASpiB,GAAS1pH,GAC5CrD,KAAKg6E,IAAIlxD,SAAS/kB,EAAI8oH,EAAY7oH,EAAI8oH,EAAaD,EAAYC,IAK3E,OAAOnoH,EACH3E,KAAK8nI,IAAInjI,gBAAgBqO,EAAK2hC,EAAU1L,GACxCjpC,KAAKg0B,QAoBbikC,KAAM,SAAUjlD,EAAKpV,EAAOC,EAAQk3C,EAAWC,EAAY3+B,EAAO1R,EAAiBgwC,EAAU1L,QAEjE1iC,IAApB5B,IAAiCA,GAAkB,GAGtC,OAAb3E,KAAK8nI,MAEL9nI,KAAK8nI,IAAM9nI,KAAK+C,KAAKmjC,KAAKowC,aAC1Bt2E,KAAKkX,OAASlX,KAAK8nI,IAAI5wH,OACvBlX,KAAKg6E,IAAMh6E,KAAK8nI,IAAIh6H,SAGxB9N,KAAK8nI,IAAI3hI,OAAOvI,EAAOC,GAEvBmC,KAAKg6E,IAAIrxD,UAAYtS,EAErB,IAAK,IAAIrS,EAAI,EAAGA,EAAInG,EAAQmG,GAAKgxC,EAE7Bh1C,KAAKg6E,IAAIlxD,SAAS,EAAG9kB,EAAGpG,EAAO,GAGnC,IAAK,IAAImG,EAAI,EAAGA,EAAInG,EAAOmG,GAAKgxC,EAE5B/0C,KAAKg6E,IAAIlxD,SAAS/kB,EAAG,EAAG,EAAGlG,GAG/B,OAAO8G,EACH3E,KAAK8nI,IAAInjI,gBAAgBqO,EAAK2hC,EAAU1L,GACxCjpC,KAAKg0B,QAebA,KAAM,SAAUuB,EAAMxxB,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAW+5B,GAMlD,OAJY,MAARzM,IAAgBA,EAAOv1B,KAAK+C,KAAKmjC,KAAKowC,cAE1C/gD,EAAKpvB,OAAOnG,KAAK8nI,IAAIlqI,MAAOoC,KAAK8nI,IAAIjqI,QAE9B03B,EAAKgmD,KAAKv7E,KAAK8nI,IAAK/jI,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAW+5B,KAKnExgC,EAAOk8C,OAAOp7C,UAAUC,YAAcf,EAAOk8C,OAsB7Cl8C,EAAOwgI,SAAW,SAAUpsB,EAASh4G,EAAOC,GAKxCmC,KAAK+C,KAAO6yG,EAAQ7yG,KAKpB/C,KAAK41G,QAAUA,EAGf51G,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAK+vI,aAAe,IAAIvuI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACtDmC,KAAKk4D,YAAc,IAAI12D,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACrDmC,KAAKgwI,WAAa,IAAIxuI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACpDmC,KAAKiwI,WAAa,IAAIzuI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GAMpDmC,KAAKkwI,eAAiB,IAAI1uI,EAAOX,MAAM,EAAG,GAC1Cb,KAAKmwI,cAAgB,IAAI3uI,EAAOX,MAAM,EAAG,GACzCb,KAAKowI,aAAe,IAAI5uI,EAAOX,MAAM,EAAG,GACxCb,KAAKqwI,aAAe,IAAI7uI,EAAOX,MAAM,EAAG,GAMxCb,KAAKswI,YAAc,IAAI9uI,EAAOX,MAAM,EAAG,GACvCb,KAAKuwI,WAAa,IAAI/uI,EAAOX,MAAM,EAAG,GACtCb,KAAKm4D,mBAAqB,IAAI32D,EAAOX,MAAM,EAAG,GAC9Cb,KAAKwwI,UAAY,IAAIhvI,EAAOX,MAAM,EAAG,GACrCb,KAAKywI,UAAY,IAAIjvI,EAAOX,MAAM,EAAG,GAErCb,KAAK0wI,YAAc,EACnB1wI,KAAK2wI,aAAe,EACpB3wI,KAAK4wI,cAAgB,EACrB5wI,KAAK6wI,cAAgB,EAErB7wI,KAAK8wI,OAASlzI,EAAQC,EACtBmC,KAAK+wI,OAASlzI,EAASD,EAEvBoC,KAAKqmI,WAAa,EAElBrmI,KAAK2gH,WAGTn/G,EAAOwgI,SAAS1/H,WASZwjC,QAAS,SAAUloC,EAAOC,GAGtBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAK8wI,OAASlzI,EAAQC,EACtBmC,KAAK+wI,OAASlzI,EAASD,EAEvBoC,KAAKywI,UAAY,IAAIjvI,EAAOX,MAAM,EAAG,GAErCb,KAAKiwI,WAAWryI,MAAQoC,KAAKpC,MAC7BoC,KAAKiwI,WAAWpyI,OAASmC,KAAKnC,OAE9BmC,KAAKwpB,WAcTwnH,kBAAmB,SAAUpzI,EAAOC,EAAQ4E,EAAU0rC,QAE/B5nC,IAAf4nC,IAA4BA,GAAa,GAE7CnuC,KAAK0wI,YAAc9yI,EACnBoC,KAAK2wI,aAAe9yI,EAEpBmC,KAAK+vI,aAAanyI,MAAQA,EAC1BoC,KAAK+vI,aAAalyI,OAASA,EAE3B,IAAIozI,EAAQ,IAAIzvI,EAAO0vI,UAAUlxI,KAAMA,KAAKkwI,eAAgBlwI,KAAK+vI,aAAc/vI,KAAKswI,aAcpF,OAZIniG,GAEAnuC,KAAK+C,KAAKE,MAAMg2B,IAAIg4G,GAGxBjxI,KAAK2gH,OAAO74G,KAAKmpI,GAEbxuI,GAEAwuI,EAAM38F,YAAY7xC,GAGfwuI,GAUXE,iBAAkB,SAAU1uI,EAAU0rC,QAEf5nC,IAAf4nC,IAA4BA,GAAa,GAE7C,IAAI8iG,EAAQ,IAAIzvI,EAAO0vI,UAAUlxI,KAAMA,KAAKmwI,cAAenwI,KAAKk4D,YAAal4D,KAAKuwI,YAclF,OAZIpiG,GAEAnuC,KAAK+C,KAAKE,MAAMg2B,IAAIg4G,GAGxBjxI,KAAK2gH,OAAO74G,KAAKmpI,GAEbxuI,GAEAwuI,EAAM38F,YAAY7xC,GAGfwuI,GAUXG,gBAAiB,SAAU3uI,GAEvB,IAAIwuI,EAAQ,IAAIzvI,EAAO0vI,UAAUlxI,KAAMA,KAAKowI,aAAcpwI,KAAKgwI,WAAYhwI,KAAKuwI,YAWhF,OATAvwI,KAAK+C,KAAKE,MAAMg2B,IAAIg4G,GAEpBjxI,KAAK2gH,OAAO74G,KAAKmpI,QAEO,IAAbxuI,GAEPwuI,EAAM38F,YAAY7xC,GAGfwuI,GAUXI,iBAAkB,SAAU5uI,GAExB,IAAIwuI,EAAQ,IAAIzvI,EAAO0vI,UAAUlxI,KAAMA,KAAKqwI,aAAcrwI,KAAKiwI,WAAYjwI,KAAKywI,WAWhF,OATAzwI,KAAK+C,KAAKE,MAAMg2B,IAAIg4G,GAEpBjxI,KAAK2gH,OAAO74G,KAAKmpI,QAEO,IAAbxuI,GAEPwuI,EAAM38F,YAAY7xC,GAGfwuI,GAQXlrG,MAAO,WAIH,IAFA,IAAIrjC,EAAI1C,KAAK2gH,OAAOh+G,OAEbD,KAEE1C,KAAK2gH,OAAOj+G,GAAG4uI,UAGhBtxI,KAAK2gH,OAAOj+G,GAAG9B,SAAW,KAC1BZ,KAAK2gH,OAAOj+G,GAAG5B,MAAQ,KACvBd,KAAK2gH,OAAO3wF,MAAMttB,EAAG,KAYjCs9H,SAAU,SAAUpiI,EAAOC,GAEvBmC,KAAK8wI,OAASlzI,EAAQC,EACtBmC,KAAK+wI,OAASlzI,EAASD,EAEvBoC,KAAKwpB,QAAQ5rB,EAAOC,IAQxB2rB,QAAS,WAELxpB,KAAKqmI,WAAa3iI,KAAK41B,IAAKt5B,KAAK41G,QAAQ/3G,OAASmC,KAAKnC,OAAUmC,KAAK41G,QAAQh4G,MAAQoC,KAAKpC,OAE3FoC,KAAKk4D,YAAYt6D,MAAQ8F,KAAK+xB,MAAMz1B,KAAKpC,MAAQoC,KAAKqmI,YACtDrmI,KAAKk4D,YAAYr6D,OAAS6F,KAAK+xB,MAAMz1B,KAAKnC,OAASmC,KAAKqmI,YAExDrmI,KAAKuwI,WAAWppI,IAAInH,KAAKk4D,YAAYt6D,MAAQoC,KAAKpC,MAAOoC,KAAKk4D,YAAYr6D,OAASmC,KAAKnC,QACxFmC,KAAKm4D,mBAAmBhxD,IAAInH,KAAKpC,MAAQoC,KAAKk4D,YAAYt6D,MAAOoC,KAAKnC,OAASmC,KAAKk4D,YAAYr6D,QAEhGmC,KAAKwwI,UAAUrpI,IAAInH,KAAKgwI,WAAWpyI,MAAQoC,KAAKpC,MAAOoC,KAAKgwI,WAAWnyI,OAASmC,KAAKnC,QAErFmC,KAAKgwI,WAAWpyI,MAAQ8F,KAAK+xB,MAAMz1B,KAAK41G,QAAQh4G,MAAQoC,KAAKm4D,mBAAmBp0D,GAChF/D,KAAKgwI,WAAWnyI,OAAS6F,KAAK+xB,MAAMz1B,KAAK41G,QAAQ/3G,OAASmC,KAAKm4D,mBAAmBn0D,GAElFhE,KAAKk4D,YAAYl/B,SAASh5B,KAAK41G,QAAQ9wG,OAAO+yB,QAAS73B,KAAK41G,QAAQ9wG,OAAOgzB,SAC3E93B,KAAKiwI,WAAWj3G,SAASh5B,KAAK41G,QAAQ9wG,OAAO+yB,QAAS73B,KAAK41G,QAAQ9wG,OAAOgzB,SAE1E93B,KAAKmwI,cAAchpI,IAAInH,KAAKk4D,YAAYn0D,EAAG/D,KAAKk4D,YAAYl0D,GAC5DhE,KAAKqwI,aAAalpI,IAAInH,KAAKiwI,WAAWlsI,EAAG/D,KAAKiwI,WAAWjsI,IAS7DutI,UAAW,SAAUjuH,GAEjBtjB,KAAK41G,QAAQuxB,YAAY7jH,GAEzBA,EAAOvf,EAAI/D,KAAK41G,QAAQ9wG,OAAO+yB,QAC/BvU,EAAOtf,EAAIhE,KAAK41G,QAAQ9wG,OAAOgzB,SAQnCgS,MAAO,WAcH9pC,KAAK+C,KAAK+mC,MAAMyqC,KAAKv0E,KAAKk4D,YAAYt6D,MAAQ,MAAQoC,KAAKk4D,YAAYr6D,OAAQmC,KAAKk4D,YAAYn0D,EAAI,EAAG/D,KAAKk4D,YAAYl0D,EAAI,IAC5HhE,KAAK+C,KAAK+mC,MAAMw/F,KAAKtpI,KAAKk4D,YAAa,oBAAoB,KAenE12D,EAAOwgI,SAAS1/H,UAAUC,YAAcf,EAAOwgI,SAuB/CxgI,EAAO0vI,UAAY,SAAUt7B,EAASh1G,EAAUkE,EAAQhE,GAEpDU,EAAOywC,MAAMztC,KAAKxE,KAAM41G,EAAQ7yG,KAAM,KAAM,cAAgB6yG,EAAQ7yG,KAAKsiC,IAAI6wC,QAAQ,GAKrFl2E,KAAK41G,QAAUA,EAAQA,QAKvB51G,KAAKi4D,KAAO29C,EAOZ51G,KAAKsxI,SAAU,EAKftxI,KAAKY,SAAWA,EAKhBZ,KAAK8E,OAASA,EAKd9E,KAAKc,MAAQA,EAKbd,KAAKwxI,QAAU1sI,EAAO0sI,QAKtBxxI,KAAKyxI,UAAY,IAAIjwI,EAAOX,MAAMiE,EAAO8xB,UAAW,GAKpD52B,KAAK0xI,SAAW5sI,EAAO4sI,SAKvB1xI,KAAK2xI,WAAa7sI,EAAO6sI,WAKzB3xI,KAAK4xI,aAAe,IAAIpwI,EAAOX,MAAMiE,EAAO8xB,UAAW9xB,EAAOwxB,QAK9Dt2B,KAAK6xI,YAAc/sI,EAAO+sI,aAG9BrwI,EAAO0vI,UAAU5uI,UAAY0E,OAAOwB,OAAOhH,EAAOywC,MAAM3vC,WACxDd,EAAO0vI,UAAU5uI,UAAUC,YAAcf,EAAO0vI,UAOhD1vI,EAAO0vI,UAAU5uI,UAAU6D,OAAS,aASpC3E,EAAO0vI,UAAU5uI,UAAUwnC,MAAQ,WAE/B9pC,KAAK+C,KAAK+mC,MAAMyqC,KAAKv0E,KAAK8E,OAAOlH,MAAQ,MAAQoC,KAAK8E,OAAOjH,OAAQmC,KAAK8E,OAAOf,EAAI,EAAG/D,KAAK8E,OAAOd,EAAI,IACxGhE,KAAK+C,KAAK+mC,MAAMw/F,KAAKtpI,KAAK8E,OAAQ,oBAAoB,GAEtD9E,KAAK+C,KAAK+mC,MAAMw/F,KAAKtpI,KAAKwxI,QAAS,wBACnCxxI,KAAK+C,KAAK+mC,MAAMw/F,KAAKtpI,KAAKyxI,UAAW,wBACrCzxI,KAAK+C,KAAK+mC,MAAMw/F,KAAKtpI,KAAK0xI,SAAU,yBAcxClwI,EAAO2e,OASH2xH,IAAK,SASLC,OAAQ,SASRC,OAAQ,SASRC,MAAO,MASPC,KAAM,MASNC,KAAM,IASNC,OAAQ,SASRC,MAAO,SASPC,MAAO,EASPC,KAAM,QAeN11D,UAAW,SAAU34E,EAAGyW,EAAGxX,EAAGD,GAE1B,OAAI1B,EAAO85C,OAAOkiC,eAELt6E,GAAK,GAAOC,GAAK,GAAOwX,GAAK,EAAKzW,KAAO,GAIzCA,GAAK,GAAOyW,GAAK,GAAOxX,GAAK,EAAKD,KAAO,GAuB1Di5E,YAAa,SAAUryD,EAAMmL,EAAK2oD,EAAKC,GAkCnC,YAhCYt3E,IAAR0uB,GAA6B,OAARA,IAAgBA,EAAMzzB,EAAO2e,MAAM+7D,oBAChD31E,IAARq3E,GAA6B,OAARA,IAAgBA,GAAM,QACnCr3E,IAARs3E,GAA6B,OAARA,IAAgBA,GAAM,GAE3Cr8E,EAAO85C,OAAOkiC,eAEdvoD,EAAI/xB,GAAa,WAAP4mB,KAAuB,GACjCmL,EAAI9xB,GAAa,SAAP2mB,KAAuB,GACjCmL,EAAIta,GAAa,MAAPmP,KAAuB,EACjCmL,EAAI/wB,EAAa,IAAP4lB,IAIVmL,EAAI/wB,GAAa,WAAP4lB,KAAuB,GACjCmL,EAAIta,GAAa,SAAPmP,KAAuB,GACjCmL,EAAI9xB,GAAa,MAAP2mB,KAAuB,EACjCmL,EAAI/xB,EAAa,IAAP4mB,GAGdmL,EAAI5e,MAAQyT,EACZmL,EAAInL,KAAO,QAAUmL,EAAI/wB,EAAI,IAAM+wB,EAAIta,EAAI,IAAMsa,EAAI9xB,EAAI,IAAO8xB,EAAI/xB,EAAI,IAAO,IAE3E06E,GAEAp8E,EAAO2e,MAAMqyH,SAASv9G,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,EAAG8xB,GAG3C4oD,GAEAr8E,EAAO2e,MAAMsyH,SAASx9G,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,EAAG8xB,GAGxCA,GAcXy9G,SAAU,SAAU5oH,EAAMmL,GActB,OAZKA,IAEDA,EAAMzzB,EAAO2e,MAAM+7D,eAGvBjnD,EAAI/wB,GAAa,WAAP4lB,KAAuB,GACjCmL,EAAIta,GAAa,SAAPmP,KAAuB,GACjCmL,EAAI9xB,GAAa,MAAP2mB,KAAuB,EACjCmL,EAAI/xB,EAAa,IAAP4mB,EAEVmL,EAAInL,KAAO,QAAUmL,EAAI/wB,EAAI,IAAM+wB,EAAIta,EAAI,IAAMsa,EAAI9xB,EAAI,IAAM8xB,EAAI/xB,EAAI,IAEhE+xB,GAeX09G,OAAQ,SAAUzuI,EAAGyW,EAAGxX,EAAGD,GAEvB,OAAQgB,GAAK,GAAOyW,GAAK,GAAOxX,GAAK,EAAKD,GAc9C0vI,OAAQ,SAAU1uI,EAAGyW,EAAGxX,EAAGD,GAEvB,OAASA,GAAK,GAAOC,GAAK,GAAOwX,GAAK,EAAKzW,KAAO,GAWtDkc,cAAe,SAAU/J,GAErB,QACKA,GAAS,GAAK,KAAQ,KACtBA,GAAS,EAAI,KAAQ,KACb,IAARA,GAAgB,MAYzBw8H,cAAe,SAAUC,GAErB,OAAkB,IAATA,EAAI,IAAY,KAAgB,IAATA,EAAI,IAAY,GAAc,IAATA,EAAI,IAiB7DN,SAAU,SAAUtuI,EAAGyW,EAAGxX,EAAG8xB,GAEpBA,IAEDA,EAAMzzB,EAAO2e,MAAM+7D,YAAYh4E,EAAGyW,EAAGxX,EAAG,IAG5Ce,GAAK,IACLyW,GAAK,IACLxX,GAAK,IAEL,IAAIm2B,EAAM51B,KAAK41B,IAAIp1B,EAAGyW,EAAGxX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGyW,EAAGxX,GAOzB,GAJA8xB,EAAI1Q,EAAI,EACR0Q,EAAI5wB,EAAI,EACR4wB,EAAIgC,GAAKhxB,EAAMqzB,GAAO,EAElBrzB,IAAQqzB,EACZ,CACI,IAAIj2B,EAAI4C,EAAMqzB,EAEdrE,EAAI5wB,EAAI4wB,EAAIgC,EAAI,GAAM5zB,GAAK,EAAI4C,EAAMqzB,GAAOj2B,GAAK4C,EAAMqzB,GAEnDrzB,IAAQ/B,EAER+wB,EAAI1Q,GAAK5J,EAAIxX,GAAKE,GAAKsX,EAAIxX,EAAI,EAAI,GAE9B8C,IAAQ0U,EAEbsa,EAAI1Q,GAAKphB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEb8xB,EAAI1Q,GAAKrgB,EAAIyW,GAAKtX,EAAI,GAG1B4xB,EAAI1Q,GAAK,EAGb,OAAO0Q,GAiBXioD,SAAU,SAAU34D,EAAGlgB,EAAG4yB,EAAGhC,GAczB,GAZKA,GAODA,EAAI/wB,EAAI+yB,EACRhC,EAAIta,EAAIsc,EACRhC,EAAI9xB,EAAI8zB,GAPRhC,EAAMzzB,EAAO2e,MAAM+7D,YAAYjlD,EAAGA,EAAGA,GAU/B,IAAN5yB,EACJ,CACI,IAAIohF,EAAIxuD,EAAI,GAAMA,GAAK,EAAI5yB,GAAK4yB,EAAI5yB,EAAI4yB,EAAI5yB,EACxCrB,EAAI,EAAIi0B,EAAIwuD,EAChBxwD,EAAI/wB,EAAI1C,EAAO2e,MAAM4yH,WAAW/vI,EAAGyiF,EAAGlhE,EAAI,EAAI,GAC9C0Q,EAAIta,EAAInZ,EAAO2e,MAAM4yH,WAAW/vI,EAAGyiF,EAAGlhE,GACtC0Q,EAAI9xB,EAAI3B,EAAO2e,MAAM4yH,WAAW/vI,EAAGyiF,EAAGlhE,EAAI,EAAI,GAelD,OANA0Q,EAAI/wB,EAAIR,KAAKmsB,MAAe,IAARoF,EAAI/wB,EAAU,GAClC+wB,EAAIta,EAAIjX,KAAKmsB,MAAe,IAARoF,EAAIta,EAAU,GAClCsa,EAAI9xB,EAAIO,KAAKmsB,MAAe,IAARoF,EAAI9xB,EAAU,GAElC3B,EAAO2e,MAAMwxB,YAAY1c,GAElBA,GAiBXw9G,SAAU,SAAUvuI,EAAGyW,EAAGxX,EAAG8xB,GAEpBA,IAEDA,EAAMzzB,EAAO2e,MAAM+7D,YAAYh4E,EAAGyW,EAAGxX,EAAG,MAG5Ce,GAAK,IACLyW,GAAK,IACLxX,GAAK,IAEL,IAAIm2B,EAAM51B,KAAK41B,IAAIp1B,EAAGyW,EAAGxX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGyW,EAAGxX,GACrBE,EAAI4C,EAAMqzB,EAyBd,OAtBArE,EAAI1Q,EAAI,EACR0Q,EAAI5wB,EAAY,IAAR4B,EAAY,EAAI5C,EAAI4C,EAC5BgvB,EAAIupB,EAAIv4C,EAEJA,IAAQqzB,IAEJrzB,IAAQ/B,EAER+wB,EAAI1Q,GAAK5J,EAAIxX,GAAKE,GAAKsX,EAAIxX,EAAI,EAAI,GAE9B8C,IAAQ0U,EAEbsa,EAAI1Q,GAAKphB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEb8xB,EAAI1Q,GAAKrgB,EAAIyW,GAAKtX,EAAI,GAG1B4xB,EAAI1Q,GAAK,GAGN0Q,GAiBX+9G,SAAU,SAAUzuH,EAAGlgB,EAAGm6C,EAAGvpB,QAEb1uB,IAAR0uB,IAAqBA,EAAMzzB,EAAO2e,MAAM+7D,YAAY,EAAG,EAAG,EAAG,EAAG33D,EAAGlgB,EAAG,EAAGm6C,IAE7E,IAAIt6C,EAAGyW,EAAGxX,EACNT,EAAIgB,KAAKmsB,MAAU,EAAJtL,GACf0O,EAAQ,EAAJ1O,EAAQ7hB,EACZM,EAAIw7C,GAAK,EAAIn6C,GACbohF,EAAIjnC,GAAK,EAAIvrB,EAAI5uB,GACjBwsB,EAAI2tB,GAAK,GAAK,EAAIvrB,GAAK5uB,GAE3B,OAAQ3B,EAAI,GAER,KAAK,EACDwB,EAAIs6C,EACJ7jC,EAAIkW,EACJ1tB,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIuhF,EACJ9qE,EAAI6jC,EACJr7C,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIlB,EACJ2X,EAAI6jC,EACJr7C,EAAI0tB,EACJ,MACJ,KAAK,EACD3sB,EAAIlB,EACJ2X,EAAI8qE,EACJtiF,EAAIq7C,EACJ,MACJ,KAAK,EACDt6C,EAAI2sB,EACJlW,EAAI3X,EACJG,EAAIq7C,EACJ,MACJ,KAAK,EACDt6C,EAAIs6C,EACJ7jC,EAAI3X,EACJG,EAAIsiF,EAUZ,OANAxwD,EAAI/wB,EAAIR,KAAKmsB,MAAU,IAAJ3rB,GACnB+wB,EAAIta,EAAIjX,KAAKmsB,MAAU,IAAJlV,GACnBsa,EAAI9xB,EAAIO,KAAKmsB,MAAU,IAAJ1sB,GAEnB3B,EAAO2e,MAAMwxB,YAAY1c,GAElBA,GAcX89G,WAAY,SAAU/vI,EAAGyiF,EAAG50D,GAYxB,OAVIA,EAAI,IAEJA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGLA,EAAI,EAAI,EAED7tB,EAAc,GAATyiF,EAAIziF,GAAS6tB,EAGzBA,EAAI,GAEG40D,EAGP50D,EAAI,EAAI,EAED7tB,GAAKyiF,EAAIziF,IAAM,EAAI,EAAI6tB,GAAK,EAGhC7tB,GAsBXk5E,YAAa,SAAUh4E,EAAGyW,EAAGxX,EAAGD,EAAGqhB,EAAGlgB,EAAG4yB,EAAGunB,GAExC,IAAIvpB,GAAQ/wB,EAAGA,GAAK,EAAGyW,EAAGA,GAAK,EAAGxX,EAAGA,GAAK,EAAGD,EAAGA,GAAK,EAAGqhB,EAAGA,GAAK,EAAGlgB,EAAGA,GAAK,EAAG4yB,EAAGA,GAAK,EAAGunB,EAAGA,GAAK,EAAGnoC,MAAO,EAAG48H,QAAS,EAAGnpH,KAAM,IAEhI,OAAOtoB,EAAO2e,MAAMwxB,YAAY1c,IAWpC0c,YAAa,SAAU1c,GAMnB,OAJAA,EAAInL,KAAO,QAAUmL,EAAI/wB,EAAE+pC,UAAY,IAAMhZ,EAAIta,EAAEszB,UAAY,IAAMhZ,EAAI9xB,EAAE8qC,UAAY,IAAMhZ,EAAI/xB,EAAE0lB,WAAa,IAChHqM,EAAI5e,MAAQ7U,EAAO2e,MAAM+yH,SAASj+G,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,GACpD8xB,EAAIg+G,QAAUzxI,EAAO2e,MAAMgzH,WAAmB,IAARl+G,EAAI/xB,EAAS+xB,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,GAE9D8xB,GAcXk+G,WAAY,SAAUjwI,EAAGgB,EAAGyW,EAAGxX,GAE3B,OAAOD,GAAK,GAAKgB,GAAK,GAAKyW,GAAK,EAAIxX,GAaxC+vI,SAAU,SAAUhvI,EAAGyW,EAAGxX,GAEtB,OAAOe,GAAK,GAAKyW,GAAK,EAAIxX,GAgB9BiwI,YAAa,SAAUlvI,EAAGyW,EAAGxX,EAAGD,EAAGwmG,GAK/B,YAHUnjG,IAANrD,IAAmBA,EAAI,UACZqD,IAAXmjG,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAOxlG,GAAK,KAAOyW,GAAK,GAAKxX,GAAGylB,SAAS,IAAIoH,MAAM,GAIhE,KAAOxuB,EAAO2e,MAAMkzH,eAAenwI,GAAK1B,EAAO2e,MAAMkzH,eAAenvI,GAAK1C,EAAO2e,MAAMkzH,eAAe14H,GAAKnZ,EAAO2e,MAAMkzH,eAAelwI,IAYrJmwI,SAAU,SAAUC,GAEhB,IAAIT,EAAMtxI,EAAO2e,MAAMqzH,WAAWD,GAElC,GAAIT,EAEA,OAAOtxI,EAAO2e,MAAMgzH,WAAWL,EAAI5vI,EAAG4vI,EAAI5uI,EAAG4uI,EAAIn4H,EAAGm4H,EAAI3vI,IAiBhEqwI,WAAY,SAAUD,EAAKt+G,GAGvBs+G,EAAMA,EAAIj/G,QAAQ,0CAA2C,SAAU8C,EAAGlzB,EAAGyW,EAAGxX,GAE5E,OAAOe,EAAIA,EAAIyW,EAAIA,EAAIxX,EAAIA,IAG/B,IAAIy1B,EAAS,mDAAqD68D,KAAK89C,GAEvE,GAAI36G,EACJ,CACI,IAAI10B,EAAIivB,SAASyF,EAAO,GAAI,IACxBje,EAAIwY,SAASyF,EAAO,GAAI,IACxBz1B,EAAIgwB,SAASyF,EAAO,GAAI,IAEvB3D,GAMDA,EAAI/wB,EAAIA,EACR+wB,EAAIta,EAAIA,EACRsa,EAAI9xB,EAAIA,GANR8xB,EAAMzzB,EAAO2e,MAAM+7D,YAAYh4E,EAAGyW,EAAGxX,GAU7C,OAAO8xB,GAcXw+G,WAAY,SAAUC,EAAKz+G,GAElBA,IAEDA,EAAMzzB,EAAO2e,MAAM+7D,eAGvB,IAAItjD,EAAS,4EAA8E68D,KAAKi+C,GAWhG,OATI96G,IAEA3D,EAAI/wB,IAAM27B,OAAOjH,EAAO,IACxB3D,EAAIta,IAAMklB,OAAOjH,EAAO,IACxB3D,EAAI9xB,IAAM08B,OAAOjH,EAAO,IACxB3D,EAAI/xB,OAAkBqD,IAAdqyB,EAAO,GAAmBiH,OAAOjH,EAAO,IAAM,EACtDp3B,EAAO2e,MAAMwxB,YAAY1c,IAGtBA,GAgBXyc,aAAc,SAAUtqC,EAAO6tB,GAW3B,GALKA,IAEDA,EAAMzzB,EAAO2e,MAAM+7D,eAGF,iBAAV90E,EAEP,OAA6B,IAAzBA,EAAMiC,QAAQ,OAEP7H,EAAO2e,MAAMszH,WAAWrsI,EAAO6tB,IAKtCA,EAAI/xB,EAAI,EACD1B,EAAO2e,MAAMqzH,WAAWpsI,EAAO6tB,IAGzC,GAAqB,iBAAV7tB,EAChB,CAKI,IAAIusI,EAAYnyI,EAAO2e,MAAMyzH,OAAOxsI,GAKpC,OAJA6tB,EAAI/wB,EAAIyvI,EAAUzvI,EAClB+wB,EAAIta,EAAIg5H,EAAUh5H,EAClBsa,EAAI9xB,EAAIwwI,EAAUxwI,EAClB8xB,EAAI/xB,EAAIywI,EAAUzwI,EAAI,IACf+xB,EAIP,OAAOA,GAYfo+G,eAAgB,SAAUh9H,GAEtB,IAAIk9H,EAAMl9H,EAAMuS,SAAS,IAEzB,OAAuB,IAAf2qH,EAAI5wI,OAAgB,IAAM4wI,EAAMA,GAY5CM,cAAe,SAAUxvI,EAAGm6C,QAEdj4C,IAANlC,IAAmBA,EAAI,QACjBkC,IAANi4C,IAAmBA,EAAI,GAI3B,IAAK,IAFDl8B,KAEKlf,EAAI,EAAGA,GAAK,IAAKA,IAEtBkf,EAAOxa,KAAKtG,EAAO2e,MAAM6yH,SAAS5vI,EAAI,IAAKiB,EAAGm6C,IAGlD,OAAOl8B,GAYXwxH,cAAe,SAAUzvI,EAAG4yB,QAEd1wB,IAANlC,IAAmBA,EAAI,SACjBkC,IAAN0wB,IAAmBA,EAAI,IAI3B,IAAK,IAFD3U,KAEKlf,EAAI,EAAGA,GAAK,IAAKA,IAEtBkf,EAAOxa,KAAKtG,EAAO2e,MAAM+8D,SAAS95E,EAAI,IAAKiB,EAAG4yB,IAGlD,OAAO3U,GAgBXyxH,iBAAkB,SAAUC,EAAQC,EAAQl+G,EAAOm+G,EAAajzI,EAAOozH,QAErD9tH,IAAVtF,IAAuBA,EAAQ,UAChBsF,IAAf8tH,IAA4BA,EAAa,GAE7C,IAAI8f,EAAO3yI,EAAO2e,MAAMyzH,OAAOI,GAC3BI,EAAO5yI,EAAO2e,MAAMyzH,OAAOK,GAE/B,GAAmB,IAAf5f,EAEA,IAAInwH,GAAOkwI,EAAKh3D,IAAM+2D,EAAK/2D,KAAO82D,EAAen+G,EAASo+G,EAAK/2D,IAC3DziE,GAAOy5H,EAAK/2D,MAAQ82D,EAAK92D,OAAS62D,EAAen+G,EAASo+G,EAAK92D,MAC/Dl6E,GAAOixI,EAAK92D,KAAO62D,EAAK72D,MAAQ42D,EAAen+G,EAASo+G,EAAK72D,KAGrE,GAAmB,IAAf+2C,EACJ,CACI,IAGI9vG,EAHA8vH,EAAO7yI,EAAO2e,MAAMsyH,SAAS0B,EAAKjwI,EAAGiwI,EAAKx5H,EAAGw5H,EAAKhxI,GAClDmxI,EAAO9yI,EAAO2e,MAAMsyH,SAAS2B,EAAKlwI,EAAGkwI,EAAKz5H,EAAGy5H,EAAKjxI,GAClDoxI,EAAKD,EAAK/vH,EAAI8vH,EAAK9vH,EAGvB,GAAI8vH,EAAK9vH,EAAI+vH,EAAK/vH,EAClB,CACI,IAAIiwH,EAAKF,EAAK/vH,EACd+vH,EAAK/vH,EAAI8vH,EAAK9vH,EACd8vH,EAAK9vH,EAAIiwH,EACTD,GAAMA,EACNL,EAAcn+G,EAAQm+G,EAGtBK,EAAK,KAELF,EAAK9vH,EAAI8vH,EAAK9vH,EAAI,EAClBA,IAAO+vH,EAAK/vH,EAAI8vH,EAAK9vH,GAAK2vH,EAAcn+G,EAASs+G,EAAK9vH,GAAK,GAG3DgwH,GAAM,KAENhwH,GAAM+vH,EAAK/vH,EAAI8vH,EAAK9vH,GAAK2vH,EAAcn+G,EAASs+G,EAAK9vH,GAGzD,IAAIlgB,GAAOiwI,EAAKjwI,EAAIgwI,EAAKhwI,GAAK6vI,EAAen+G,EAASs+G,EAAKhwI,EACvDm6C,GAAO81F,EAAK91F,EAAI61F,EAAK71F,GAAK01F,EAAen+G,EAASs+G,EAAK71F,EAEvDs0F,EAAMtxI,EAAO2e,MAAM6yH,SAASzuH,EAAGlgB,EAAGm6C,EAAGs0F,GACrC5uI,EAAI4uI,EAAI5uI,EACRyW,EAAIm4H,EAAIn4H,EACRxX,EAAI2vI,EAAI3vI,EAGhB,OAAO3B,EAAO2e,MAAMgzH,WAAWlyI,EAAOiD,EAAGyW,EAAGxX,IAgBhDsxI,wBAAyB,SAAUp+H,EAAOnS,EAAGyW,EAAGxX,EAAG4yB,EAAOm+G,GAEtD,IAAIrkI,EAAMrO,EAAO2e,MAAMyzH,OAAOv9H,GAC1Bq+H,GAAQxwI,EAAI2L,EAAIutE,KAAO82D,EAAen+G,EAASlmB,EAAIutE,IACnDu3D,GAAQh6H,EAAI9K,EAAIwtE,OAAS62D,EAAen+G,EAASlmB,EAAIwtE,MACrDu3D,GAAQzxI,EAAI0M,EAAIytE,MAAQ42D,EAAen+G,EAASlmB,EAAIytE,KAExD,OAAO97E,EAAO2e,MAAM+yH,SAASwB,EAAIC,EAAIC,IAiBzCC,eAAgB,SAAUr4D,EAAIC,EAAIriD,EAAIsiD,EAAIC,EAAItiD,EAAItE,EAAOm+G,GAErD,IAAIhwI,GAAOw4E,EAAKF,GAAM03D,EAAen+G,EAASymD,EAC1C7hE,GAAOgiE,EAAKF,GAAMy3D,EAAen+G,EAAS0mD,EAC1Ct5E,GAAOk3B,EAAKD,GAAM85G,EAAen+G,EAASqE,EAE9C,OAAO54B,EAAO2e,MAAM+yH,SAAShvI,EAAGyW,EAAGxX,IAiBvC+yB,OAAQ,SAAU89G,EAAQC,EAAQpjH,GAE9B,OAAO7wB,KAAK+zI,iBAAiBC,EAAQC,EAAQ,EAAGpjH,IAepDq8E,oBAAqB,SAAU5qF,EAAQuO,GAEnC,IAAIsG,EAAI31B,EAAOkC,KAAKwyB,OAAO,EAAG5T,EAAO3f,OAAS,EAAGkuB,GAC7CmjH,EAAS1xH,EAAO5e,KAAKmsB,MAAMsH,IAC3B88G,EAAS3xH,EAAO5e,KAAKwC,KAAKixB,IAE9B,OAAOn3B,KAAKk2B,OAAO89G,EAAQC,EAAQ98G,EAAI,IAe3C29G,eAAgB,SAAUx7G,EAAKrzB,EAAKhF,GAOhC,QALYsF,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,UACjBM,IAAVtF,IAAuBA,EAAQ,KAG/BgF,EAAM,KAAOqzB,EAAMrzB,EAEnB,OAAOzE,EAAO2e,MAAM+yH,SAAS,IAAK,IAAK,KAG3C,IAAI91D,EAAM9jD,EAAM51B,KAAK+xB,MAAM/xB,KAAKivB,UAAY1sB,EAAMqzB,IAC9C+jD,EAAQ/jD,EAAM51B,KAAK+xB,MAAM/xB,KAAKivB,UAAY1sB,EAAMqzB,IAChDgkD,EAAOhkD,EAAM51B,KAAK+xB,MAAM/xB,KAAKivB,UAAY1sB,EAAMqzB,IAEnD,OAAO93B,EAAO2e,MAAMgzH,WAAWlyI,EAAOm8E,EAAKC,EAAOC,IAatDs2D,OAAQ,SAAUv9H,GAEd,OAAIA,EAAQ,UAIJpV,MAAOoV,IAAU,GACjB+mE,IAAK/mE,GAAS,GAAK,IACnBgnE,MAAOhnE,GAAS,EAAI,IACpBinE,KAAc,IAARjnE,EACNnT,EAAGmT,IAAU,GACbnS,EAAGmS,GAAS,GAAK,IACjBsE,EAAGtE,GAAS,EAAI,IAChBlT,EAAW,IAARkT,IAMHpV,MAAO,IACPm8E,IAAK/mE,GAAS,GAAK,IACnBgnE,MAAOhnE,GAAS,EAAI,IACpBinE,KAAc,IAARjnE,EACNnT,EAAG,IACHgB,EAAGmS,GAAS,GAAK,IACjBsE,EAAGtE,GAAS,EAAI,IAChBlT,EAAW,IAARkT,IAaf0+H,UAAW,SAAU1+H,GAEjB,GAAqB,iBAAVA,EAEP,MAAO,QAAUA,EAAMnS,EAAE0kB,WAAa,IAAMvS,EAAMsE,EAAEiO,WAAa,IAAMvS,EAAMlT,EAAEylB,WAAa,KAAOvS,EAAMnT,EAAI,KAAK0lB,WAAa,IAI/H,IAAIkqH,EAAMtxI,EAAO2e,MAAMyzH,OAAOv9H,GAC9B,MAAO,QAAUy8H,EAAI5uI,EAAE0kB,WAAa,IAAMkqH,EAAIn4H,EAAEiO,WAAa,IAAMkqH,EAAI3vI,EAAEylB,WAAa,KAAOkqH,EAAI5vI,EAAI,KAAK0lB,WAAa,KAY/HosH,SAAU,SAAU3+H,GAEhB,OAAOA,IAAU,IAWrB4+H,cAAe,SAAU5+H,GAErB,OAAQA,IAAU,IAAM,KAW5B6+H,OAAQ,SAAU7+H,GAEd,OAAOA,GAAS,GAAK,KAWzB8+H,SAAU,SAAU9+H,GAEhB,OAAOA,GAAS,EAAI,KAWxB++H,QAAS,SAAU/+H,GAEf,OAAe,IAARA,GAYXg/H,YAAa,SAAUnyI,GAEnB,OAAOA,GAYXg+E,aAAc,SAAUh+E,EAAGC,GAEvB,OAAQA,EAAID,EAAKC,EAAID,GAYzB+9E,YAAa,SAAU/9E,EAAGC,GAEtB,OAAQA,EAAID,EAAKA,EAAIC,GAezB29E,cAAe,SAAU59E,EAAGC,GAExB,OAAQD,EAAIC,EAAK,KAYrBmyI,aAAc,SAAUpyI,EAAGC,GAEvB,OAAQD,EAAIC,GAAK,GAYrB09E,SAAU,SAAU39E,EAAGC,GAEnB,OAAOO,KAAK41B,IAAI,IAAKp2B,EAAIC,IAY7BoyI,cAAe,SAAUryI,EAAGC,GAExB,OAAOO,KAAKuC,IAAI,EAAG/C,EAAIC,EAAI,MAc/Bo+E,gBAAiB,SAAUr+E,EAAGC,GAE1B,OAAOO,KAAKizB,IAAIzzB,EAAIC,IAYxBqyI,cAAe,SAAUtyI,EAAGC,GAExB,OAAO,IAAMO,KAAKizB,IAAI,IAAMzzB,EAAIC,IAcpC49E,YAAa,SAAU79E,EAAGC,GAEtB,OAAO,MAAS,IAAMD,IAAM,IAAMC,IAAO,IAa7Cq+E,eAAgB,SAAUt+E,EAAGC,GAEzB,OAAOD,EAAIC,EAAI,EAAID,EAAIC,EAAI,KAc/B69E,aAAc,SAAU99E,EAAGC,GAEvB,OAAOA,EAAI,IAAO,EAAID,EAAIC,EAAI,IAAQ,IAAM,GAAK,IAAMD,IAAM,IAAMC,GAAK,KAsB5Em+E,eAAgB,SAAUp+E,EAAGC,GAEzB,OAAOA,EAAI,IAAO,GAAgB,IAAVD,GAAK,KAAaC,EAAI,KAAO,IAAO,GAAK,KAAkB,IAAVD,GAAK,MAAa,IAAMC,GAAK,KAuB1Gk+E,eAAgB,SAAUn+E,EAAGC,GAEzB,OAAO3B,EAAO2e,MAAM6gE,aAAa79E,EAAGD,IAaxCi+E,gBAAiB,SAAUj+E,EAAGC,GAE1B,OAAa,MAANA,EAAYA,EAAIO,KAAK41B,IAAI,KAAOp2B,GAAK,IAAM,IAAMC,KAa5Di+E,eAAgB,SAAUl+E,EAAGC,GAEzB,OAAa,IAANA,EAAUA,EAAIO,KAAKuC,IAAI,EAAI,KAAQ,IAAM/C,GAAM,GAAKC,IAY/DsyI,iBAAkB,SAAUvyI,EAAGC,GAE3B,OAAO3B,EAAO2e,MAAM0gE,SAAS39E,EAAGC,IAYpCuyI,gBAAiB,SAAUxyI,EAAGC,GAE1B,OAAO3B,EAAO2e,MAAMo1H,cAAcryI,EAAGC,IAczCwyI,iBAAkB,SAAUzyI,EAAGC,GAE3B,OAAOA,EAAI,IAAM3B,EAAO2e,MAAMu1H,gBAAgBxyI,EAAG,EAAIC,GAAK3B,EAAO2e,MAAMs1H,iBAAiBvyI,EAAI,GAAKC,EAAI,OAezGyyI,gBAAiB,SAAU1yI,EAAGC,GAE1B,OAAOA,EAAI,IAAM3B,EAAO2e,MAAMihE,eAAel+E,EAAG,EAAIC,GAAK3B,EAAO2e,MAAMghE,gBAAgBj+E,EAAI,GAAKC,EAAI,OAavG0yI,cAAe,SAAU3yI,EAAGC,GAExB,OAAOA,EAAI,IAAM3B,EAAO2e,MAAM8gE,YAAY/9E,EAAG,EAAIC,GAAK3B,EAAO2e,MAAM+gE,aAAah+E,EAAI,GAAKC,EAAI,OAejG2yI,aAAc,SAAU5yI,EAAGC,GAEvB,OAAO3B,EAAO2e,MAAMy1H,gBAAgB1yI,EAAGC,GAAK,IAAM,EAAI,KAY1D4yI,aAAc,SAAU7yI,EAAGC,GAEvB,OAAa,MAANA,EAAYA,EAAIO,KAAK41B,IAAI,IAAMp2B,EAAIA,GAAK,IAAMC,KAYzD6yI,UAAW,SAAU9yI,EAAGC,GAEpB,OAAO3B,EAAO2e,MAAM41H,aAAa5yI,EAAGD,IAYxC+yI,aAAc,SAAU/yI,EAAGC,GAEvB,OAAOO,KAAK41B,IAAIp2B,EAAGC,GAAKO,KAAKuC,IAAI/C,EAAGC,GAAK,MAyBjD3B,EAAO6wC,QAAU,SAAUtvC,EAAMyT,GAE7BA,EAASA,MAKTxW,KAAK+C,KAAOA,EAKZ/C,KAAKwW,OAASA,EAKdxW,KAAKk2I,OAAS,KAKdl2I,KAAKggC,GAAK,KAKVhgC,KAAKm2I,MAAQ,KAKbn2I,KAAK8rI,MAAQ,KAKb9rI,KAAKo2I,SAAW,KAKhBp2I,KAAKq2I,OAAS,KAEdr2I,KAAKwvC,eAOThuC,EAAO6wC,QAAQC,OAAS,EAMxB9wC,EAAO6wC,QAAQs6B,KAAO,EAMtBnrE,EAAO6wC,QAAQk5F,MAAQ,EAMvB/pI,EAAO6wC,QAAQo5F,MAAQ,EAMvBjqI,EAAO6wC,QAAQikG,SAAW,EAM1B90I,EAAO6wC,QAAQkkG,SAAW,EAE1B/0I,EAAO6wC,QAAQ/vC,WAOXktC,YAAa,WAEHxvC,KAAKwW,OAAO6a,eAAe,YAAoC,IAAvBrxB,KAAKwW,OAAO0/H,SAAoB10I,EAAO6wC,QAAQhhB,eAAe,YAGxGrxB,KAAKk2I,OAAS,IAAI10I,EAAO6wC,QAAQ2iC,OAAOh1E,KAAK+C,OAG7C/C,KAAKwW,OAAO6a,eAAe,WAAkC,IAAtBrxB,KAAKwW,OAAO2/H,OAAkB30I,EAAO6wC,QAAQhhB,eAAe,WAEnGrxB,KAAKm2I,MAAQ,IAAI30I,EAAO6wC,QAAQm5F,MAAMxrI,KAAK+C,OAG3C/C,KAAKwW,OAAO6a,eAAe,QAA4B,IAAnBrxB,KAAKwW,OAAOwpB,IAAex+B,EAAO6wC,QAAQhhB,eAAe,QAE7FrxB,KAAKggC,GAAK,IAAIx+B,EAAO6wC,QAAQmkG,GAAGx2I,KAAK+C,KAAM/C,KAAKwW,SAGhDxW,KAAKwW,OAAO6a,eAAe,WAAkC,IAAtBrxB,KAAKwW,OAAOs1H,OAAkBtqI,EAAO6wC,QAAQhhB,eAAe,WAEnGrxB,KAAK8rI,MAAQ,IAAItqI,EAAO6wC,QAAQq5F,MAAM1rI,KAAK+C,KAAM/C,KAAKwW,SAGtDxW,KAAKwW,OAAO6a,eAAe,YAAoC,IAAvBrxB,KAAKwW,OAAO6/H,QAAmB70I,EAAO6wC,QAAQhhB,eAAe,YAErGrxB,KAAKq2I,OAAS,IAAI70I,EAAO6wC,QAAQokG,OAAOz2I,KAAK+C,KAAM/C,KAAKwW,UAwBhEkgI,YAAa,SAAUC,GAEfA,IAAWn1I,EAAO6wC,QAAQC,OAE1BtyC,KAAKk2I,OAAS,IAAI10I,EAAO6wC,QAAQ2iC,OAAOh1E,KAAK+C,MAExC4zI,IAAWn1I,EAAO6wC,QAAQs6B,KAEf,OAAZ3sE,KAAKggC,GAELhgC,KAAKggC,GAAK,IAAIx+B,EAAO6wC,QAAQmkG,GAAGx2I,KAAK+C,KAAM/C,KAAKwW,QAIhDxW,KAAKggC,GAAG+F,QAGP4wG,IAAWn1I,EAAO6wC,QAAQk5F,MAE/BvrI,KAAKm2I,MAAQ,IAAI30I,EAAO6wC,QAAQm5F,MAAMxrI,KAAK+C,MAEtC4zI,IAAWn1I,EAAO6wC,QAAQo5F,MAEZ,OAAfzrI,KAAK8rI,MAEL9rI,KAAK8rI,MAAQ,IAAItqI,EAAO6wC,QAAQq5F,MAAM1rI,KAAK+C,KAAM/C,KAAKwW,QAItDxW,KAAK8rI,MAAM/lG,QAGV4wG,IAAWn1I,EAAO6wC,QAAQkkG,WAEX,OAAhBv2I,KAAKq2I,OAELr2I,KAAKq2I,OAAS,IAAI70I,EAAO6wC,QAAQokG,OAAOz2I,KAAK+C,KAAM/C,KAAKwW,QAIxDxW,KAAKq2I,OAAOtwG,UAyBxB/sB,OAAQ,SAAUogC,EAAQu9F,EAAQ7sG,QAEfvjC,IAAXowI,IAAwBA,EAASn1I,EAAO6wC,QAAQC,aACtC/rC,IAAVujC,IAAuBA,GAAQ,GAE/B6sG,IAAWn1I,EAAO6wC,QAAQC,OAE1BtyC,KAAKk2I,OAAOl9H,OAAOogC,GAEdu9F,IAAWn1I,EAAO6wC,QAAQs6B,MAAQ3sE,KAAKggC,GAE5ChgC,KAAKggC,GAAGhnB,OAAOogC,EAAQtP,GAElB6sG,IAAWn1I,EAAO6wC,QAAQk5F,OAASvrI,KAAKm2I,MAE7Cn2I,KAAKm2I,MAAMS,WAAWx9F,GAEjBu9F,IAAWn1I,EAAO6wC,QAAQo5F,OAASzrI,KAAK8rI,MAE7C9rI,KAAK8rI,MAAM9yH,OAAOogC,GAEbu9F,IAAWn1I,EAAO6wC,QAAQkkG,UAAYv2I,KAAKq2I,OAEhDr2I,KAAKq2I,OAAOr9H,OAAOogC,GAInB94C,QAAQ+Z,KAAK++B,EAAOpmC,IAAM,6EAUlCtO,UAAW,WAIH1E,KAAKggC,IAELhgC,KAAKggC,GAAGt7B,YAGR1E,KAAK8rI,OAEL9rI,KAAK8rI,MAAMpnI,YAGX1E,KAAKq2I,QAELr2I,KAAKq2I,OAAO3xI,aAUpBogC,OAAQ,WAIA9kC,KAAKggC,IAELhgC,KAAKggC,GAAG8E,SAGR9kC,KAAK8rI,OAEL9rI,KAAK8rI,MAAMhnG,SAGX9kC,KAAKq2I,QAELr2I,KAAKq2I,OAAOvxG,UAUpBW,iBAAkB,WAEVzlC,KAAKk2I,QAELl2I,KAAKk2I,OAAOzwG,mBAGZzlC,KAAKm2I,OAELn2I,KAAKm2I,MAAM1wG,mBAGXzlC,KAAKggC,IAELhgC,KAAKggC,GAAGyF,mBAGRzlC,KAAK8rI,OAEL9rI,KAAK8rI,MAAMrmG,mBAGXzlC,KAAKq2I,QAELr2I,KAAKq2I,OAAO5wG,oBAUpB7qB,MAAO,WAEC5a,KAAKggC,IAELhgC,KAAKggC,GAAGplB,QAGR5a,KAAK8rI,OAEL9rI,KAAK8rI,MAAMlxH,QAGX5a,KAAKq2I,QAELr2I,KAAKq2I,OAAOz7H,SAUpBmrB,MAAO,WAEC/lC,KAAKggC,IAELhgC,KAAKggC,GAAG+F,QAGR/lC,KAAK8rI,OAEL9rI,KAAK8rI,MAAM/lG,QAGX/lC,KAAKq2I,QAELr2I,KAAKq2I,OAAOtwG,SASpBvjC,QAAS,WAEDxC,KAAKggC,IAELhgC,KAAKggC,GAAGx9B,UAGRxC,KAAK8rI,OAEL9rI,KAAK8rI,MAAMtpI,UAGXxC,KAAKq2I,QAELr2I,KAAKq2I,OAAO7zI,UAGhBxC,KAAKk2I,OAAS,KACdl2I,KAAKm2I,MAAQ,KACbn2I,KAAKggC,GAAK,KACVhgC,KAAK8rI,MAAQ,KACb9rI,KAAKq2I,OAAS,OAKtB70I,EAAO6wC,QAAQ/vC,UAAUC,YAAcf,EAAO6wC,QAe9C7wC,EAAO6wC,QAAQ2iC,OAAS,SAAUjyE,GAK9B/C,KAAK+C,KAAOA,EAKZ/C,KAAK62I,QAAU,IAAIr1I,EAAOX,MAK1Bb,KAAK8E,OAAS,IAAItD,EAAOS,UAAU,EAAG,EAAGc,EAAKE,MAAMrF,MAAOmF,EAAKE,MAAMpF,QAOtEmC,KAAK82I,gBAAmB1yE,IAAI,EAAMhW,MAAM,EAAMz6B,MAAM,EAAMD,OAAO,GAKjE1zB,KAAKuvG,WAAa,GAKlBvvG,KAAKwvG,UAAY,EAMjBxvG,KAAK+2I,aAAe,EAKpB/2I,KAAKg3I,QAAS,EAMdh3I,KAAKi3I,cAAgBz1I,EAAO6wC,QAAQ2iC,OAAOkiE,WAK3Cl3I,KAAKm3I,cAAe,EAKpBn3I,KAAKs2G,UAAW,EAKhBt2G,KAAKorI,SAAW,IAAI5pI,EAAO8tG,SAAStvG,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAKuvG,WAAYvvG,KAAKwvG,WAM3KxvG,KAAKo3I,OAAS,EAGdp3I,KAAKylC,oBAGTjkC,EAAO6wC,QAAQ2iC,OAAO1yE,UAAUC,YAAcf,EAAO6wC,QAAQ2iC,OAQ7DxzE,EAAO6wC,QAAQ2iC,OAAOqiE,UAAY,EAQlC71I,EAAO6wC,QAAQ2iC,OAAOkiE,WAAa,EAQnC11I,EAAO6wC,QAAQ2iC,OAAOsiE,WAAa,EAQnC91I,EAAO6wC,QAAQ2iC,OAAOuiE,WAAa,EAQnC/1I,EAAO6wC,QAAQ2iC,OAAOwiE,WAAa,EAEnCh2I,EAAO6wC,QAAQ2iC,OAAO1yE,WAWlBs4C,UAAW,SAAU72C,EAAGC,EAAGpG,EAAOC,GAE9BmC,KAAK8E,OAAOswB,MAAMrxB,EAAGC,EAAGpG,EAAOC,IAQnC4nC,iBAAkB,WAEdzlC,KAAK8E,OAAOuwB,SAASr1B,KAAK+C,KAAKE,MAAM6B,SAWzCkU,OAAQ,SAAUogC,EAAQ32C,QAEL8D,IAAb9D,IAA0BA,GAAW,GAEzC,IAAIC,EAAI,EAER,GAAI+E,MAAMC,QAAQ0xC,GAId,IAFA12C,EAAI02C,EAAOz2C,OAEJD,KAEC02C,EAAO12C,aAAclB,EAAOywC,MAG5BjyC,KAAKgZ,OAAOogC,EAAO12C,GAAGD,SAAUA,IAIhCzC,KAAKmyC,WAAWiH,EAAO12C,IAEnBD,GAAY22C,EAAO12C,GAAG2uB,eAAe,aAAe+nB,EAAO12C,GAAGD,SAASE,OAAS,GAEhF3C,KAAKgZ,OAAOogC,EAAO12C,IAAI,SAMnC02C,aAAkB53C,EAAOywC,MAGzBjyC,KAAKgZ,OAAOogC,EAAO32C,SAAUA,IAI7BzC,KAAKmyC,WAAWiH,GAEZ32C,GAAY22C,EAAO/nB,eAAe,aAAe+nB,EAAO32C,SAASE,OAAS,GAE1E3C,KAAKgZ,OAAOogC,EAAO32C,UAAU,KAezC0vC,WAAY,SAAUiH,GAEdA,EAAO/nB,eAAe,SAA2B,OAAhB+nB,EAAOtH,OAExCsH,EAAOtH,KAAO,IAAItwC,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKlyF,GAEzCA,EAAO/3C,QAAU+3C,EAAO/3C,kBAAkBG,EAAOywC,OAEjDmH,EAAO/3C,OAAO4yC,UAAUmF,KAWpCq+F,aAAc,SAAU3lG,GAEpB,GAAIA,EAAK4lG,cACT,CACI,IAAIC,EAAgB33I,KAAK43I,gBAAgB,EAAG9lG,EAAMA,EAAK+lG,gBAAiB/lG,EAAKgmG,oBAAqBhmG,EAAKimG,YAAajmG,EAAKkmG,YAAclmG,EAAK+lG,gBAC5I/lG,EAAK+lG,iBAAmBF,EACxB7lG,EAAK9wC,UAAa8wC,EAAK+lG,gBAAkB73I,KAAK+C,KAAKmiC,KAAKu5D,eAG5D3sD,EAAKmmG,SAASl0I,EAAI/D,KAAK43I,gBAAgB,EAAG9lG,EAAMA,EAAKmmG,SAASl0I,EAAG+tC,EAAKomG,aAAan0I,EAAG+tC,EAAKqmG,KAAKp0I,EAAG+tC,EAAKsmG,YAAYr0I,GACpH+tC,EAAKmmG,SAASj0I,EAAIhE,KAAK43I,gBAAgB,EAAG9lG,EAAMA,EAAKmmG,SAASj0I,EAAG8tC,EAAKomG,aAAal0I,EAAG8tC,EAAKqmG,KAAKn0I,EAAG8tC,EAAKsmG,YAAYp0I,IAgBxH4zI,gBAAiB,SAAUv1E,EAAMvwB,EAAMmmG,EAAUC,EAAcC,EAAMlyI,GA4CjE,YA1CYM,IAARN,IAAqBA,EAAM,KAElB,IAATo8D,GAAcvwB,EAAKumG,aAEnBJ,IAAaj4I,KAAK62I,QAAQ9yI,EAAI+tC,EAAK+kG,QAAQ9yI,GAAK/D,KAAK+C,KAAKmiC,KAAKu5D,eAEjD,IAATp8B,GAAcvwB,EAAKumG,eAExBJ,IAAaj4I,KAAK62I,QAAQ7yI,EAAI8tC,EAAK+kG,QAAQ7yI,GAAKhE,KAAK+C,KAAKmiC,KAAKu5D,gBAG/Dy5C,EAEAD,GAAYC,EAAel4I,KAAK+C,KAAKmiC,KAAKu5D,eAErC05C,GAAQrmG,EAAKwmG,YAIdL,GAFJE,GAAQn4I,KAAK+C,KAAKmiC,KAAKu5D,gBAED,EAElBw5C,GAAYE,EAEPF,EAAWE,EAAO,EAEvBF,GAAYE,EAIZF,EAAW,GAIfA,EAAWhyI,EAEXgyI,EAAWhyI,EAENgyI,GAAYhyI,IAEjBgyI,GAAYhyI,GAGTgyI,GA8BXtlE,QAAS,SAAU4lE,EAASC,EAASC,EAAiBC,EAAiBzvG,GAUnE,OARAwvG,EAAkBA,GAAmB,KACrCC,EAAkBA,GAAmB,KACrCzvG,EAAkBA,GAAmBwvG,EAErCz4I,KAAKo3I,OAAS,EAEdp3I,KAAK24I,eAAeJ,EAASC,EAASC,EAAiBC,EAAiBzvG,GAAiB,GAEjFjpC,KAAKo3I,OAAS,GAoD1BwB,QAAS,SAAUL,EAASC,EAASK,EAAiBH,EAAiBzvG,GAUnE,OARA4vG,EAAkBA,GAAmB,KACrCH,EAAkBA,GAAmB,KACrCzvG,EAAkBA,GAAmB4vG,EAErC74I,KAAKo3I,OAAS,EAEdp3I,KAAK24I,eAAeJ,EAASC,EAASK,EAAiBH,EAAiBzvG,GAAiB,GAEjFjpC,KAAKo3I,OAAS,GAa1B0B,cAAe,SAAU51I,EAAGC,GAExB,OAAKD,EAAE4uC,MAAS3uC,EAAE2uC,KAKX5uC,EAAE4uC,KAAK/tC,EAAIZ,EAAE2uC,KAAK/tC,EAHd,GAgBfg1I,cAAe,SAAU71I,EAAGC,GAExB,OAAKD,EAAE4uC,MAAS3uC,EAAE2uC,KAKX3uC,EAAE2uC,KAAK/tC,EAAIb,EAAE4uC,KAAK/tC,EAHd,GAgBfi1I,cAAe,SAAU91I,EAAGC,GAExB,OAAKD,EAAE4uC,MAAS3uC,EAAE2uC,KAKX5uC,EAAE4uC,KAAK9tC,EAAIb,EAAE2uC,KAAK9tC,EAHd,GAgBfi1I,cAAe,SAAU/1I,EAAGC,GAExB,OAAKD,EAAE4uC,MAAS3uC,EAAE2uC,KAKX3uC,EAAE2uC,KAAK9tC,EAAId,EAAE4uC,KAAK9tC,EAHd,GAmBf+6B,KAAM,SAAUmb,EAAO+8F,GAEgB,OAA/B/8F,EAAM9G,qBAEN6jG,EAAgB/8F,EAAM9G,0BAGJ7sC,IAAlB0wI,IAA+BA,EAAgBj3I,KAAKi3I,eAEpDA,IAAkBz1I,EAAO6wC,QAAQ2iC,OAAOkiE,WAGxCh9F,EAAMnI,KAAKhT,KAAK/+B,KAAK84I,eAEhB7B,IAAkBz1I,EAAO6wC,QAAQ2iC,OAAOsiE,WAG7Cp9F,EAAMnI,KAAKhT,KAAK/+B,KAAK+4I,eAEhB9B,IAAkBz1I,EAAO6wC,QAAQ2iC,OAAOuiE,WAG7Cr9F,EAAMnI,KAAKhT,KAAK/+B,KAAKg5I,eAEhB/B,IAAkBz1I,EAAO6wC,QAAQ2iC,OAAOwiE,YAG7Ct9F,EAAMnI,KAAKhT,KAAK/+B,KAAKi5I,gBAU7BN,eAAgB,SAAUJ,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAE3F,IAAKzxI,MAAMC,QAAQ6wI,IAAY9wI,MAAMC,QAAQ8wI,GAEzC,IAAS91I,EAAI,EAAGA,EAAI81I,EAAQ71I,OAAQD,IAE3B81I,EAAQ91I,IAEb1C,KAAKm5I,eAAeZ,EAASC,EAAQ91I,GAAIm2I,EAAiBH,EAAiBzvG,EAAiBiwG,QAG/F,GAAIzxI,MAAMC,QAAQ6wI,KAAa9wI,MAAMC,QAAQ8wI,GAE9C,IAAS91I,EAAI,EAAGA,EAAI61I,EAAQ51I,OAAQD,IAE3B61I,EAAQ71I,IAEb1C,KAAKm5I,eAAeZ,EAAQ71I,GAAI81I,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,QAG/F,GAAIzxI,MAAMC,QAAQ6wI,IAAY9wI,MAAMC,QAAQ8wI,IAE7C,IAAK,IAAI91I,EAAI,EAAGA,EAAI61I,EAAQ51I,OAAQD,IAEhC,GAAK61I,EAAQ71I,GAEb,IAAK,IAAImF,EAAI,EAAGA,EAAI2wI,EAAQ71I,OAAQkF,IAE3B2wI,EAAQ3wI,IAEb7H,KAAKm5I,eAAeZ,EAAQ71I,GAAI81I,EAAQ3wI,GAAIgxI,EAAiBH,EAAiBzvG,EAAiBiwG,QAMvGl5I,KAAKm5I,eAAeZ,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,IAgBjGC,eAAgB,SAAUZ,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAG3F,QAAgB3yI,IAAZiyI,GAAyBD,EAAQhmG,cAAgB/wC,EAAOirB,MAIxD,OAFAzsB,KAAK++B,KAAKw5G,QACVv4I,KAAKo5I,mBAAmBb,EAASM,EAAiBH,EAAiBzvG,EAAiBiwG,GAKnFX,GAAYC,GAAYD,EAAQrrI,QAAWsrI,EAAQtrI,SAMpDlN,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOqiE,YAEzCkB,EAAQhmG,cAAgB/wC,EAAOirB,OAE/BzsB,KAAK++B,KAAKw5G,GAGVC,EAAQjmG,cAAgB/wC,EAAOirB,OAE/BzsB,KAAK++B,KAAKy5G,IAKdD,EAAQhmG,cAAgB/wC,EAAO0qB,OAE3BssH,EAAQjmG,cAAgB/wC,EAAO0qB,OAE/BlsB,KAAKq5I,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAE3FV,EAAQjmG,cAAgB/wC,EAAOirB,MAEpCzsB,KAAKs5I,qBAAqBf,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAE1FV,EAAQjmG,cAAgB/wC,EAAOorB,cAEpC5sB,KAAKu5I,4BAA4BhB,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAKrGX,EAAQhmG,cAAgB/wC,EAAOirB,MAEhC+rH,EAAQjmG,cAAgB/wC,EAAO0qB,OAE/BlsB,KAAKs5I,qBAAqBd,EAASD,EAASM,EAAiBH,EAAiBzvG,EAAiBiwG,GAE1FV,EAAQjmG,cAAgB/wC,EAAOirB,MAEpCzsB,KAAKw5I,oBAAoBjB,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAEzFV,EAAQjmG,cAAgB/wC,EAAOorB,cAEpC5sB,KAAKy5I,2BAA2BlB,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,GAKpGX,EAAQhmG,cAAgB/wC,EAAOorB,eAEhC4rH,EAAQjmG,cAAgB/wC,EAAO0qB,OAE/BlsB,KAAKu5I,4BAA4Bf,EAASD,EAASM,EAAiBH,EAAiBzvG,EAAiBiwG,GAEjGV,EAAQjmG,cAAgB/wC,EAAOirB,OAEpCzsB,KAAKy5I,2BAA2BjB,EAASD,EAASM,EAAiBH,EAAiBzvG,EAAiBiwG,MAkBjHG,sBAAuB,SAAUK,EAASC,EAASd,EAAiBH,EAAiBzvG,EAAiBiwG,GAElG,SAAKQ,EAAQ5nG,OAAS6nG,EAAQ7nG,QAK1B9xC,KAAK45I,SAASF,EAAQ5nG,KAAM6nG,EAAQ7nG,KAAM4mG,EAAiBzvG,EAAiBiwG,KAExEL,GAEAA,EAAgBr0I,KAAKykC,EAAiBywG,EAASC,GAGnD35I,KAAKo3I,WAGF,IAeXkC,qBAAsB,SAAUh2H,EAAQ42B,EAAO2+F,EAAiBH,EAAiBzvG,EAAiBiwG,GAE9F,GAAqB,IAAjBh/F,EAAMv3C,QAAiB2gB,EAAOwuB,KAKlC,GAAI9xC,KAAKm3I,cAAgB7zH,EAAOwuB,KAAKqlG,aAIjC,IAAK,IAFDryI,KAEKpC,EAAI,EAAGA,EAAIw3C,EAAMnI,KAAKpvC,OAAQD,IACvC,CACI,IAAI61I,EAAUr+F,EAAMnI,KAAKrvC,GAGzB,GAAK61I,GAAYA,EAAQrrI,QAAWqrI,EAAQzmG,KAA5C,CASA,GAHAhtC,EAASyzI,EAAQzmG,KAAK5nC,UAAUpF,GAG5B9E,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOkiE,WACjD,CACI,GAAI5zH,EAAOwuB,KAAKpe,MAAQ5uB,EAAOf,EAE3B,MAEC,GAAIe,EAAO4uB,MAAQpQ,EAAOwuB,KAAK/tC,EAEhC,cAGH,GAAI/D,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOsiE,WACtD,CACI,GAAIh0H,EAAOwuB,KAAK/tC,EAAIe,EAAO4uB,MAEvB,MAEC,GAAI5uB,EAAOf,EAAIuf,EAAOwuB,KAAKpe,MAE5B,cAGH,GAAI1zB,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOuiE,WACtD,CACI,GAAIj0H,EAAOwuB,KAAKxb,OAASxxB,EAAOd,EAE5B,MAEC,GAAIc,EAAOwxB,OAAShT,EAAOwuB,KAAK9tC,EAEjC,cAGH,GAAIhE,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOwiE,WACtD,CACI,GAAIl0H,EAAOwuB,KAAK9tC,EAAIc,EAAOwxB,OAEvB,MAEC,GAAIxxB,EAAOd,EAAIsf,EAAOwuB,KAAKxb,OAE5B,SAIRt2B,KAAKq5I,sBAAsB/1H,EAAQi1H,EAASM,EAAiBH,EAAiBzvG,EAAiBiwG,QAIvG,CAEIl5I,KAAKorI,SAASxwH,QAEd5a,KAAKorI,SAASrlG,MAAM/lC,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAKuvG,WAAYvvG,KAAKwvG,WAE3JxvG,KAAKorI,SAASt7B,SAAS51D,GAIvB,IAAK,IAFD2/F,EAAQ75I,KAAKorI,SAASn7B,SAAS3sF,GAE1B5gB,EAAI,EAAGA,EAAIm3I,EAAMl3I,OAAQD,IAG1B1C,KAAK45I,SAASt2H,EAAOwuB,KAAM+nG,EAAMn3I,GAAIg2I,EAAiBzvG,EAAiBiwG,KAEnEL,GAEAA,EAAgBr0I,KAAKykC,EAAiB3lB,EAAQu2H,EAAMn3I,GAAG4gB,QAG3DtjB,KAAKo3I,YAkBrBgC,mBAAoB,SAAUl/F,EAAO2+F,EAAiBH,EAAiBzvG,EAAiBiwG,GAEpF,GAAqB,IAAjBh/F,EAAMv3C,OAKV,IAAK,IAAID,EAAI,EAAGA,EAAIw3C,EAAMnI,KAAKpvC,OAAQD,IACvC,CACI,IAAIo3I,KACAvB,EAAUr+F,EAAMnI,KAAKrvC,GAGzB,GAAK61I,GAAYA,EAAQrrI,QAAWqrI,EAAQzmG,KAA5C,CAMAgoG,EAAUvB,EAAQzmG,KAAK5nC,UAAU4vI,GAEjC,IAAK,IAAIjyI,EAAInF,EAAI,EAAGmF,EAAIqyC,EAAMnI,KAAKpvC,OAAQkF,IAC3C,CACI,IAAIkyI,KACAvB,EAAUt+F,EAAMnI,KAAKlqC,GAGzB,GAAK2wI,GAAYA,EAAQtrI,QAAWsrI,EAAQ1mG,KAA5C,CASA,GAHAioG,EAAUvB,EAAQ1mG,KAAK5nC,UAAU6vI,GAG7B/5I,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOkiE,WACjD,CACI,GAAI4C,EAAQpmH,MAAQqmH,EAAQh2I,EAExB,MAEC,GAAIg2I,EAAQrmH,MAAQomH,EAAQ/1I,EAE7B,cAGH,GAAI/D,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOsiE,WACtD,CACI,GAAIwC,EAAQ/1I,EAAIg2I,EAAQrmH,MAEpB,SAEC,GAAIqmH,EAAQh2I,EAAI+1I,EAAQpmH,MAEzB,WAGH,GAAI1zB,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOuiE,WACtD,CACI,GAAIuC,EAAQxjH,OAASyjH,EAAQ/1I,EAEzB,SAEC,GAAI+1I,EAAQzjH,OAASwjH,EAAQ91I,EAE9B,WAGH,GAAIhE,KAAKi3I,gBAAkBz1I,EAAO6wC,QAAQ2iC,OAAOwiE,WACtD,CACI,GAAIsC,EAAQ91I,EAAI+1I,EAAQzjH,OAEpB,SAEC,GAAIyjH,EAAQ/1I,EAAIu0I,EAAQzmG,KAAKxb,OAE9B,MAIRt2B,KAAKq5I,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiBzvG,EAAiBiwG,QAiB5GM,oBAAqB,SAAUQ,EAAQC,EAAQpB,EAAiBH,EAAiBzvG,EAAiBiwG,GAE9F,GAAsB,IAAlBc,EAAOr3I,QAAkC,IAAlBs3I,EAAOt3I,OAKlC,IAAK,IAAID,EAAI,EAAGA,EAAIs3I,EAAOv3I,SAASE,OAAQD,IAEpCs3I,EAAOv3I,SAASC,GAAGwK,SAEf8sI,EAAOv3I,SAASC,GAAG6vC,cAAgB/wC,EAAOirB,MAE1CzsB,KAAKw5I,oBAAoBQ,EAAOv3I,SAASC,GAAIu3I,EAAQpB,EAAiBH,EAAiBzvG,EAAiBiwG,GAIxGl5I,KAAKs5I,qBAAqBU,EAAOv3I,SAASC,GAAIu3I,EAAQpB,EAAiBH,EAAiBzvG,EAAiBiwG,KAkBzHU,SAAU,SAAUM,EAAOC,EAAOzB,EAAiBzvG,EAAiBiwG,GAEhE,IACKgB,EAAMlhI,SACNmhI,EAAMnhI,QACPkhI,EAAMpD,eAAesD,MACrBD,EAAMrD,eAAesD,OACpBp6I,KAAKw2B,WAAW0jH,EAAOC,GAExB,OAAO,EAIX,GAAIzB,IAAyF,IAAtEA,EAAgBl0I,KAAKykC,EAAiBixG,EAAM52H,OAAQ62H,EAAM72H,QAE7E,OAAO,EAIX,GAAI42H,EAAMG,UAAYF,EAAME,SAExB,OAAOr6I,KAAKs6I,eAAeJ,EAAOC,EAAOjB,GAS7C,GAAIgB,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAIE,EAAYL,EAAc,SAAIC,EAAQD,EACtCM,EAAcN,EAAc,SAAIA,EAAQC,EAExCv/G,GACA72B,EAAGw2I,EAASx2I,EACZC,EAAGu2I,EAASv2I,EACZ0vB,MAAO6mH,EAAS7mH,MAChB4C,OAAQikH,EAASjkH,QAGjB8qB,EAASo5F,EAAW17G,OAExB,IAAIsiB,EAAOp9C,EAAI42B,EAAK52B,GAAKo9C,EAAOp9C,EAAI42B,EAAKtE,UAEjC8qB,EAAOr9C,EAAI62B,EAAK72B,GAAKq9C,EAAOr9C,EAAI62B,EAAKlH,OAErC,OAAO1zB,KAAKs6I,eAAeJ,EAAOC,EAAOjB,GAKrD,IAAIuB,GAAU,EACVC,GAAU,EAGV16I,KAAKg3I,QAAUtzI,KAAKizB,IAAI32B,KAAK62I,QAAQ7yI,EAAIk2I,EAAMrD,QAAQ7yI,GAAKN,KAAKizB,IAAI32B,KAAK62I,QAAQ9yI,EAAIm2I,EAAMrD,QAAQ9yI,IAEpG02I,EAAUz6I,KAAK26I,UAAUT,EAAOC,EAAOjB,GAGnCl5I,KAAKw2B,WAAW0jH,EAAOC,KAEvBO,EAAU16I,KAAK46I,UAAUV,EAAOC,EAAOjB,MAK3CwB,EAAU16I,KAAK46I,UAAUV,EAAOC,EAAOjB,GAGnCl5I,KAAKw2B,WAAW0jH,EAAOC,KAEvBM,EAAUz6I,KAAK26I,UAAUT,EAAOC,EAAOjB,KAI/C,IAAItgH,EAAU6hH,GAAWC,EA8BzB,OA5BI9hH,IAEIsgH,GAEIgB,EAAMW,WAENX,EAAMW,UAAUz1G,SAAS80G,EAAM52H,OAAQ62H,EAAM72H,QAG7C62H,EAAMU,WAENV,EAAMU,UAAUz1G,SAAS+0G,EAAM72H,OAAQ42H,EAAM52H,UAK7C42H,EAAMY,WAENZ,EAAMY,UAAU11G,SAAS80G,EAAM52H,OAAQ62H,EAAM72H,QAG7C62H,EAAMW,WAENX,EAAMW,UAAU11G,SAAS+0G,EAAM72H,OAAQ42H,EAAM52H,UAKlDsV,GAWXpC,WAAY,SAAU0jH,EAAOC,GAEzB,OAAID,IAAUC,IAKVD,EAAMG,SAEFF,EAAME,SAGC74I,EAAOkC,KAAK8xB,SAAS0kH,EAAMp7G,OAAO/6B,EAAGm2I,EAAMp7G,OAAO96B,EAAGm2I,EAAMr7G,OAAO/6B,EAAGo2I,EAAMr7G,OAAO96B,IAAOk2I,EAAMtjH,UAAYujH,EAAMvjH,UAKjH52B,KAAK+6I,qBAAqBb,EAAOC,GAI5CA,EAAME,SAGCr6I,KAAK+6I,qBAAqBZ,EAAOD,KAKpCA,EAAMxmH,OAASymH,EAAMv5I,SAASmD,OAK9Bm2I,EAAM5jH,QAAU6jH,EAAMv5I,SAASoD,OAK/Bk2I,EAAMt5I,SAASmD,GAAKo2I,EAAMzmH,UAK1BwmH,EAAMt5I,SAASoD,GAAKm2I,EAAM7jH,YAiBtCykH,qBAAsB,SAAU35F,EAAQtP,GAEpC,IAAI/tC,EAAIvC,EAAOkC,KAAK+4B,MAAM2kB,EAAOtiB,OAAO/6B,EAAG+tC,EAAKne,KAAMme,EAAKpe,OACvD1vB,EAAIxC,EAAOkC,KAAK+4B,MAAM2kB,EAAOtiB,OAAO96B,EAAG8tC,EAAKzb,IAAKyb,EAAKxb,QAK1D,OAHU8qB,EAAOtiB,OAAO/6B,EAAIA,IAAMq9C,EAAOtiB,OAAO/6B,EAAIA,IAC1Cq9C,EAAOtiB,OAAO96B,EAAIA,IAAMo9C,EAAOtiB,OAAO96B,EAAIA,IAE/Bo9C,EAAOxqB,UAAYwqB,EAAOxqB,WAanD0jH,eAAgB,SAAUJ,EAAOC,EAAOjB,GAGpCl5I,KAAKg7I,YAAYd,EAAOC,GACxBn6I,KAAKi7I,YAAYf,EAAOC,GAExB,IAAIhsI,EAAKgsI,EAAMr7G,OAAO/6B,EAAIm2I,EAAMp7G,OAAO/6B,EACnCsK,EAAK8rI,EAAMr7G,OAAO96B,EAAIk2I,EAAMp7G,OAAO96B,EAEnCk3I,EAAiBx3I,KAAKq5B,MAAM1uB,EAAIF,GAEhCwkE,EAAU,EAEd,GAAIunE,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAIz/G,GACA72B,EAAIo2I,EAAc,SAAID,EAAMt5I,SAASmD,EAAIo2I,EAAMv5I,SAASmD,EACxDC,EAAIm2I,EAAc,SAAID,EAAMt5I,SAASoD,EAAIm2I,EAAMv5I,SAASoD,EACxD0vB,MAAQymH,EAAc,SAAID,EAAMxmH,MAAQymH,EAAMzmH,MAC9C4C,OAAS6jH,EAAc,SAAID,EAAM5jH,OAAS6jH,EAAM7jH,QAGhD8qB,GACAr9C,EAAIm2I,EAAc,SAAIA,EAAMp7G,OAAO/6B,EAAIo2I,EAAMr7G,OAAO/6B,EACpDC,EAAIk2I,EAAc,SAAIA,EAAMp7G,OAAO96B,EAAIm2I,EAAMr7G,OAAO96B,EACpDmxB,OAAS+kH,EAAc,SAAIA,EAAMtjH,UAAYujH,EAAMvjH,WAGnDwqB,EAAOp9C,EAAI42B,EAAK52B,EAEZo9C,EAAOr9C,EAAI62B,EAAK72B,EAEhB4uE,EAAUnxE,EAAOkC,KAAK8xB,SAAS4rB,EAAOr9C,EAAGq9C,EAAOp9C,EAAG42B,EAAK72B,EAAG62B,EAAK52B,GAAKo9C,EAAOjsB,OAEvEisB,EAAOr9C,EAAI62B,EAAKlH,QAErBi/C,EAAUnxE,EAAOkC,KAAK8xB,SAAS4rB,EAAOr9C,EAAGq9C,EAAOp9C,EAAG42B,EAAKlH,MAAOkH,EAAK52B,GAAKo9C,EAAOjsB,QAG/EisB,EAAOp9C,EAAI42B,EAAKtE,SAEjB8qB,EAAOr9C,EAAI62B,EAAK72B,EAEhB4uE,EAAUnxE,EAAOkC,KAAK8xB,SAAS4rB,EAAOr9C,EAAGq9C,EAAOp9C,EAAG42B,EAAK72B,EAAG62B,EAAKtE,QAAU8qB,EAAOjsB,OAE5EisB,EAAOr9C,EAAI62B,EAAKlH,QAErBi/C,EAAUnxE,EAAOkC,KAAK8xB,SAAS4rB,EAAOr9C,EAAGq9C,EAAOp9C,EAAG42B,EAAKlH,MAAOkH,EAAKtE,QAAU8qB,EAAOjsB,SAI7Fw9C,IAAY,OAIZA,EAAWunE,EAAMtjH,UAAYujH,EAAMvjH,UAAap1B,EAAOkC,KAAK8xB,SAAS0kH,EAAMp7G,OAAO/6B,EAAGm2I,EAAMp7G,OAAO96B,EAAGm2I,EAAMr7G,OAAO/6B,EAAGo2I,EAAMr7G,OAAO96B,GAItI,GAAIk1I,GAA2B,IAAZvmE,GAAkBunE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMkB,iBAAmBjB,EAAMiB,gBAgBvG,OAdgB,IAAZzoE,IAEIunE,EAAMW,WAENX,EAAMW,UAAUz1G,SAAS80G,EAAM52H,OAAQ62H,EAAM72H,QAG7C62H,EAAMU,WAENV,EAAMU,UAAUz1G,SAAS+0G,EAAM72H,OAAQ42H,EAAM52H,SAKjC,IAAZqvD,EAOZ,IAAIuqB,GACAn5F,EAAGm2I,EAAMjC,SAASl0I,EAAIL,KAAKI,IAAIo3I,GAAkBhB,EAAMjC,SAASj0I,EAAIN,KAAKG,IAAIq3I,GAC7El3I,GAAIk2I,EAAMjC,SAASl0I,EAAIL,KAAKG,IAAIq3I,GAAkBhB,EAAMjC,SAASj0I,EAAIN,KAAKI,IAAIo3I,IAG9E/9C,GACAp5F,EAAGo2I,EAAMlC,SAASl0I,EAAIL,KAAKI,IAAIo3I,GAAkBf,EAAMlC,SAASj0I,EAAIN,KAAKG,IAAIq3I,GAC7El3I,GAAIm2I,EAAMlC,SAASl0I,EAAIL,KAAKG,IAAIq3I,GAAkBf,EAAMlC,SAASj0I,EAAIN,KAAKI,IAAIo3I,IAI9EG,IAAanB,EAAMoB,KAAOnB,EAAMmB,MAAQp+C,EAAGn5F,EAAI,EAAIo2I,EAAMmB,KAAOn+C,EAAGp5F,IAAMm2I,EAAMoB,KAAOnB,EAAMmB,MAC5FC,GAAY,EAAIrB,EAAMoB,KAAOp+C,EAAGn5F,GAAKo2I,EAAMmB,KAAOpB,EAAMoB,MAAQn+C,EAAGp5F,IAAMm2I,EAAMoB,KAAOnB,EAAMmB,MAkFhG,OA/EKpB,EAAMiB,YAEPjB,EAAMjC,SAASl0I,GAAKs3I,EAAW33I,KAAKI,IAAIo3I,GAAkBh+C,EAAGl5F,EAAIN,KAAKG,IAAIq3I,IAAmBhB,EAAMsB,OAAOz3I,EAC1Gm2I,EAAMjC,SAASj0I,GAAKk5F,EAAGl5F,EAAIN,KAAKI,IAAIo3I,GAAkBG,EAAW33I,KAAKG,IAAIq3I,IAAmBhB,EAAMsB,OAAOx3I,GAGzGm2I,EAAMgB,YAEPhB,EAAMlC,SAASl0I,GAAKw3I,EAAW73I,KAAKI,IAAIo3I,GAAkB/9C,EAAGn5F,EAAIN,KAAKG,IAAIq3I,IAAmBf,EAAMqB,OAAOz3I,EAC1Go2I,EAAMlC,SAASj0I,GAAKm5F,EAAGn5F,EAAIN,KAAKI,IAAIo3I,GAAkBK,EAAW73I,KAAKG,IAAIq3I,IAAmBf,EAAMqB,OAAOx3I,GAS1GN,KAAKizB,IAAIukH,GAAkBx3I,KAAKsxB,GAAK,EAEhCklH,EAAMjC,SAASl0I,EAAI,IAAOm2I,EAAMiB,WAAchB,EAAMlC,SAASl0I,EAAIm2I,EAAMjC,SAASl0I,EAEjFm2I,EAAMjC,SAASl0I,IAAM,EAEfo2I,EAAMlC,SAASl0I,EAAI,IAAOo2I,EAAMgB,WAAcjB,EAAMjC,SAASl0I,EAAIo2I,EAAMlC,SAASl0I,EAEtFo2I,EAAMlC,SAASl0I,IAAM,EAEfm2I,EAAMjC,SAASj0I,EAAI,IAAOk2I,EAAMiB,WAAchB,EAAMlC,SAASj0I,EAAIk2I,EAAMjC,SAASj0I,EAEtFk2I,EAAMjC,SAASj0I,IAAM,EAEfm2I,EAAMlC,SAASj0I,EAAI,IAAOm2I,EAAMgB,WAAcjB,EAAMjC,SAASj0I,EAAIm2I,EAAMlC,SAASj0I,IAEtFm2I,EAAMlC,SAASj0I,IAAM,GAGpBN,KAAKizB,IAAIukH,GAAkBx3I,KAAKsxB,GAAK,IAErCklH,EAAMjC,SAASl0I,EAAI,IAAOm2I,EAAMiB,WAAchB,EAAMlC,SAASl0I,EAAIm2I,EAAMjC,SAASl0I,EAEjFm2I,EAAMjC,SAASl0I,IAAM,EAEfo2I,EAAMlC,SAASl0I,EAAI,IAAOo2I,EAAMgB,WAAcjB,EAAMjC,SAASl0I,EAAIo2I,EAAMlC,SAASl0I,EAEtFo2I,EAAMlC,SAASl0I,IAAM,EAEfm2I,EAAMjC,SAASj0I,EAAI,IAAOk2I,EAAMiB,WAAchB,EAAMlC,SAASj0I,EAAIk2I,EAAMjC,SAASj0I,EAEtFk2I,EAAMjC,SAASj0I,IAAM,EAEfm2I,EAAMlC,SAASj0I,EAAI,IAAOm2I,EAAMgB,WAAcjB,EAAMjC,SAASl0I,EAAIo2I,EAAMlC,SAASj0I,IAEtFm2I,EAAMlC,SAASj0I,IAAM,IAIxBk2I,EAAMiB,YAEPjB,EAAMn2I,GAAMm2I,EAAMjC,SAASl0I,EAAI/D,KAAK+C,KAAKmiC,KAAKu5D,eAAkB9rB,EAAUjvE,KAAKI,IAAIo3I,GACnFhB,EAAMl2I,GAAMk2I,EAAMjC,SAASj0I,EAAIhE,KAAK+C,KAAKmiC,KAAKu5D,eAAkB9rB,EAAUjvE,KAAKG,IAAIq3I,IAGlFf,EAAMgB,YAEPhB,EAAMp2I,GAAMo2I,EAAMlC,SAASl0I,EAAI/D,KAAK+C,KAAKmiC,KAAKu5D,eAAkB9rB,EAAUjvE,KAAKI,IAAIo3I,GACnFf,EAAMn2I,GAAMm2I,EAAMlC,SAASj0I,EAAIhE,KAAK+C,KAAKmiC,KAAKu5D,eAAkB9rB,EAAUjvE,KAAKG,IAAIq3I,IAGnFhB,EAAMY,WAENZ,EAAMY,UAAU11G,SAAS80G,EAAM52H,OAAQ62H,EAAM72H,QAG7C62H,EAAMW,WAENX,EAAMW,UAAU11G,SAAS+0G,EAAM72H,OAAQ42H,EAAM52H,SAG1C,GAaX03H,YAAa,SAAUd,EAAOC,EAAOjB,GAEjC,IAAIvmE,EAAU,EACV8oE,EAAavB,EAAMwB,YAAcvB,EAAMuB,YAAc17I,KAAK+2I,aA+C9D,OA7CuB,IAAnBmD,EAAMzsE,UAAqC,IAAnB0sE,EAAM1sE,UAG9BysE,EAAMyB,UAAW,EACjBxB,EAAMwB,UAAW,GAEZzB,EAAMzsE,SAAW0sE,EAAM1sE,UAG5BkF,EAAUunE,EAAMxmH,MAAQymH,EAAMp2I,GAEf03I,IAAevC,IAA+C,IAA/BgB,EAAMpD,eAAepjH,QAAiD,IAA9BymH,EAAMrD,eAAenjH,KAEvGg/C,EAAU,GAIVunE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASloH,OAAQ,EACvBymH,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASjoH,MAAO,GAGrBumH,EAAMzsE,SAAW0sE,EAAM1sE,aAG5BkF,EAAUunE,EAAMn2I,EAAIo2I,EAAMv8I,MAAQu8I,EAAMp2I,GAExB03I,IAAevC,IAA8C,IAA9BgB,EAAMpD,eAAenjH,OAAiD,IAA/BwmH,EAAMrD,eAAepjH,MAEvGi/C,EAAU,GAIVunE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASjoH,MAAO,EACtBwmH,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASloH,OAAQ,IAK/BwmH,EAAM2B,SAAWlpE,EACjBwnE,EAAM0B,SAAWlpE,EAEVA,GAaXsoE,YAAa,SAAUf,EAAOC,EAAOjB,GAEjC,IAAIvmE,EAAU,EACV8oE,EAAavB,EAAM4B,YAAc3B,EAAM2B,YAAc97I,KAAK+2I,aA+C9D,OA7CuB,IAAnBmD,EAAM5wF,UAAqC,IAAnB6wF,EAAM7wF,UAG9B4wF,EAAMyB,UAAW,EACjBxB,EAAMwB,UAAW,GAEZzB,EAAM5wF,SAAW6wF,EAAM7wF,UAG5BqpB,EAAUunE,EAAM5jH,OAAS6jH,EAAMn2I,GAEhBy3I,IAAevC,IAA8C,IAA9BgB,EAAMpD,eAAe1oF,OAA8C,IAA5B+rF,EAAMrD,eAAe1yE,GAEtGuO,EAAU,GAIVunE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASxtF,MAAO,EACtB+rF,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASx3E,IAAK,GAGnB81E,EAAM5wF,SAAW6wF,EAAM7wF,aAG5BqpB,EAAUunE,EAAMl2I,EAAIm2I,EAAM7jH,QAEVmlH,IAAevC,IAA4C,IAA5BgB,EAAMpD,eAAe1yE,KAA8C,IAA9B+1E,EAAMrD,eAAe1oF,KAErGukB,EAAU,GAIVunE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASx3E,IAAK,EACpB+1E,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASxtF,MAAO,IAK9B8rF,EAAM6B,SAAWppE,EACjBwnE,EAAM4B,SAAWppE,EAEVA,GAaXgoE,UAAW,SAAUT,EAAOC,EAAOjB,GAE/B,IAAIvmE,EAAU3yE,KAAKg7I,YAAYd,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZvmE,GAAkBunE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMkB,iBAAmBjB,EAAMiB,gBAGvG,OAAoB,IAAZzoE,GAAmBunE,EAAMyB,UAAYxB,EAAMwB,SAIvD,IAAIz+C,EAAKg9C,EAAMjC,SAASl0I,EACpBo5F,EAAKg9C,EAAMlC,SAASl0I,EAExB,GAAKm2I,EAAMiB,WAAchB,EAAMgB,UAiBrBjB,EAAMiB,WAaZhB,EAAMp2I,GAAK4uE,EACXwnE,EAAMlC,SAASl0I,EAAIm5F,EAAKC,EAAKg9C,EAAMqB,OAAOz3I,EAGtCm2I,EAAM8B,QAEN7B,EAAMn2I,IAAMk2I,EAAMl2I,EAAIk2I,EAAMp/D,KAAK92E,GAAKk2I,EAAM+B,SAASj4I,KAjBzDk2I,EAAMn2I,GAAK4uE,EACXunE,EAAMjC,SAASl0I,EAAIo5F,EAAKD,EAAKg9C,EAAMsB,OAAOz3I,EAGtCo2I,EAAM6B,QAEN9B,EAAMl2I,IAAMm2I,EAAMn2I,EAAIm2I,EAAMr/D,KAAK92E,GAAKm2I,EAAM8B,SAASj4I,QAxB7D,CACI2uE,GAAW,GAEXunE,EAAMn2I,GAAK4uE,EACXwnE,EAAMp2I,GAAK4uE,EAEX,IAAIupE,EAAMx4I,KAAKS,KAAMg5F,EAAKA,EAAKg9C,EAAMmB,KAAQpB,EAAMoB,OAAUn+C,EAAK,EAAK,GAAK,GACxEg/C,EAAMz4I,KAAKS,KAAM+4F,EAAKA,EAAKg9C,EAAMoB,KAAQnB,EAAMmB,OAAUp+C,EAAK,EAAK,GAAK,GACxEk/C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPlC,EAAMjC,SAASl0I,EAAIq4I,EAAMF,EAAMhC,EAAMsB,OAAOz3I,EAC5Co2I,EAAMlC,SAASl0I,EAAIq4I,EAAMD,EAAMhC,EAAMqB,OAAOz3I,EA0BhD,OAAO,GAaX62I,UAAW,SAAUV,EAAOC,EAAOjB,GAE/B,IAAIvmE,EAAU3yE,KAAKi7I,YAAYf,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZvmE,GAAkBunE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMmC,iBAAmBlC,EAAMkC,gBAGvG,OAAoB,IAAZ1pE,GAAmBunE,EAAMyB,UAAYxB,EAAMwB,SAIvD,IAAIz+C,EAAKg9C,EAAMjC,SAASj0I,EACpBm5F,EAAKg9C,EAAMlC,SAASj0I,EAExB,GAAKk2I,EAAMiB,WAAchB,EAAMgB,UAiBrBjB,EAAMiB,WAaZhB,EAAMn2I,GAAK2uE,EACXwnE,EAAMlC,SAASj0I,EAAIk5F,EAAKC,EAAKg9C,EAAMqB,OAAOx3I,EAGtCk2I,EAAM8B,QAEN7B,EAAMp2I,IAAMm2I,EAAMn2I,EAAIm2I,EAAMp/D,KAAK/2E,GAAKm2I,EAAM+B,SAASl4I,KAjBzDm2I,EAAMl2I,GAAK2uE,EACXunE,EAAMjC,SAASj0I,EAAIm5F,EAAKD,EAAKg9C,EAAMsB,OAAOx3I,EAGtCm2I,EAAM6B,QAEN9B,EAAMn2I,IAAMo2I,EAAMp2I,EAAIo2I,EAAMr/D,KAAK/2E,GAAKo2I,EAAM8B,SAASl4I,QAxB7D,CACI4uE,GAAW,GAEXunE,EAAMl2I,GAAK2uE,EACXwnE,EAAMn2I,GAAK2uE,EAEX,IAAIupE,EAAMx4I,KAAKS,KAAMg5F,EAAKA,EAAKg9C,EAAMmB,KAAQpB,EAAMoB,OAAUn+C,EAAK,EAAK,GAAK,GACxEg/C,EAAMz4I,KAAKS,KAAM+4F,EAAKA,EAAKg9C,EAAMoB,KAAQnB,EAAMmB,OAAUp+C,EAAK,EAAK,GAAK,GACxEk/C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPlC,EAAMjC,SAASj0I,EAAIo4I,EAAMF,EAAMhC,EAAMsB,OAAOx3I,EAC5Cm2I,EAAMlC,SAASj0I,EAAIo4I,EAAMD,EAAMhC,EAAMqB,OAAOx3I,EA0BhD,OAAO,GAeXs4I,uBAAwB,SAAUtuG,EAASkM,EAAOvF,EAAU1L,GAExD,GAAqB,IAAjBiR,EAAMv3C,QAAiBqrC,EAAQ9gC,OAKnC,OAAOlN,KAAKu8I,qBAAqBvuG,EAAQjqC,EAAGiqC,EAAQhqC,EAAGk2C,EAAOvF,EAAU1L,EAAiB+E,IAiB7FuuG,qBAAsB,SAAUx4I,EAAGC,EAAGk2C,EAAOvF,EAAU1L,EAAiBuzG,GAEpEx8I,KAAKorI,SAASxwH,QAEd5a,KAAKorI,SAASrlG,MAAM/lC,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAKuvG,WAAYvvG,KAAKwvG,WAE3JxvG,KAAKorI,SAASt7B,SAAS51D,GAOvB,IAAK,IALDtf,EAAO,IAAIp5B,EAAOS,UAAU8B,EAAGC,EAAG,EAAG,GACrC0xB,KAEAmkH,EAAQ75I,KAAKorI,SAASn7B,SAASr1E,GAE1Bl4B,EAAI,EAAGA,EAAIm3I,EAAMl3I,OAAQD,IAE1Bm3I,EAAMn3I,GAAG2jD,QAAQtiD,EAAGC,KAEhB2wC,GAEAA,EAASnwC,KAAKykC,EAAiBuzG,EAAa3C,EAAMn3I,GAAG4gB,QAGzDoS,EAAO5tB,KAAK+xI,EAAMn3I,GAAG4gB,SAI7B,OAAOoS,GAkBX+mH,aAAc,SAAUxhI,EAAeskE,EAAap+B,EAAOu7F,QAEzCn2I,IAAV46C,IAAuBA,EAAQ,SACnB56C,IAAZm2I,IAAyBA,EAAU,GAEvC,IAAI9mH,EAAQp0B,EAAOX,MAAM+0B,MAAM2pD,EAAatkE,GAU5C,OARIyhI,EAAU,IAGVv7F,EAAQnhD,KAAK28I,gBAAgB1hI,EAAeskE,IAAgBm9D,EAAU,MAG1EzhI,EAAc62B,KAAKmmG,SAAS97G,WAAWvG,EAAOurB,GAEvCvrB,GAiBXgnH,cAAe,SAAU3hI,EAAekmC,EAAOnT,EAAS0uG,QAEtCn2I,IAAV46C,IAAuBA,EAAQ,IACnCnT,EAAUA,GAAWhuC,KAAK+C,KAAKojC,MAAMuc,mBACrBn8C,IAAZm2I,IAAyBA,EAAU,GAEvC,IAAI9mH,EAAQ51B,KAAK68I,eAAe5hI,EAAe+yB,GAU/C,OARI0uG,EAAU,IAGVv7F,EAAQnhD,KAAK88I,kBAAkB7hI,EAAe+yB,IAAY0uG,EAAU,MAGxEzhI,EAAc62B,KAAKmmG,SAAS97G,WAAWvG,EAAOurB,GAEvCvrB,GAmBXmnH,SAAU,SAAU9hI,EAAelX,EAAGC,EAAGm9C,EAAOu7F,QAE9Bn2I,IAAV46C,IAAuBA,EAAQ,SACnB56C,IAAZm2I,IAAyBA,EAAU,GAEvC,IAAI9mH,EAAQlyB,KAAKq5B,MAAM/4B,EAAIiX,EAAcjX,EAAGD,EAAIkX,EAAclX,GAU9D,OARI24I,EAAU,IAGVv7F,EAAQnhD,KAAKg9I,aAAa/hI,EAAelX,EAAGC,IAAM04I,EAAU,MAGhEzhI,EAAc62B,KAAKmmG,SAAS97G,WAAWvG,EAAOurB,GAEvCvrB,GAaXqnH,kBAAmB,SAAUrnH,EAAOurB,EAAO/qB,GAKvC,YAHc7vB,IAAV46C,IAAuBA,EAAQ,KACnC/qB,EAAQA,GAAS,IAAI50B,EAAOX,OAEfs7B,WAAWvG,EAAOurB,GAAO,IAa1C+7F,qBAAsB,SAAUl8I,EAAUmgD,EAAO/qB,GAK7C,YAHc7vB,IAAV46C,IAAuBA,EAAQ,KACnC/qB,EAAQA,GAAS,IAAI50B,EAAOX,OAEfs7B,WAAWn7B,EAAUmgD,IAatCg8F,yBAA0B,SAAUn8I,EAAUmgD,EAAO/qB,GAKjD,YAHc7vB,IAAV46C,IAAuBA,EAAQ,KACnC/qB,EAAQA,GAAS,IAAI50B,EAAOX,OAEfs7B,WAAWn7B,EAAUmgD,IAiBtCi8F,mBAAoB,SAAUniI,EAAeskE,EAAap+B,EAAOk8F,EAAWC,QAE1D/2I,IAAV46C,IAAuBA,EAAQ,SACjB56C,IAAd82I,IAA2BA,EAAY,UACzB92I,IAAd+2I,IAA2BA,EAAY,KAE3C,IAAI1nH,EAAQ51B,KAAKosG,aAAanxF,EAAeskE,GAK7C,OAHAtkE,EAAc62B,KAAKomG,aAAa/7G,WAAWvG,EAAOurB,GAClDlmC,EAAc62B,KAAKsmG,YAAYhjH,MAAMioH,EAAWC,GAEzC1nH,GAiBX2nH,oBAAqB,SAAUtiI,EAAe+yB,EAASmT,EAAOk8F,EAAWC,QAEvD/2I,IAAV46C,IAAuBA,EAAQ,SACnB56C,IAAZynC,IAAyBA,EAAUhuC,KAAK+C,KAAKojC,MAAMuc,oBACrCn8C,IAAd82I,IAA2BA,EAAY,UACzB92I,IAAd+2I,IAA2BA,EAAY,KAE3C,IAAI1nH,EAAQ51B,KAAK68I,eAAe5hI,EAAe+yB,GAK/C,OAHA/yB,EAAc62B,KAAKomG,aAAa/7G,WAAWvG,EAAOurB,GAClDlmC,EAAc62B,KAAKsmG,YAAYhjH,MAAMioH,EAAWC,GAEzC1nH,GAkBX4nH,eAAgB,SAAUviI,EAAelX,EAAGC,EAAGm9C,EAAOk8F,EAAWC,QAE/C/2I,IAAV46C,IAAuBA,EAAQ,SACjB56C,IAAd82I,IAA2BA,EAAY,UACzB92I,IAAd+2I,IAA2BA,EAAY,KAE3C,IAAI1nH,EAAQ51B,KAAKy9I,UAAUxiI,EAAelX,EAAGC,GAK7C,OAHAiX,EAAc62B,KAAKomG,aAAa9iH,MAAMQ,EAAOurB,GAC7ClmC,EAAc62B,KAAKsmG,YAAYhjH,MAAMioH,EAAWC,GAEzC1nH,GAuBX+mH,gBAAiB,SAAUvtI,EAAQpH,EAAQ/E,EAAOq1B,QAEhC/xB,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EACAE,EAkBJ,OAhBIiqB,GAEAnqB,EAAKiB,EAAOyoB,QAAU7vB,EAAO6vB,QAC7BxpB,EAAKe,EAAO0oB,QAAU9vB,EAAO8vB,SAExB70B,GAELkL,EAAKiB,EAAOnM,MAAMc,EAAIiE,EAAO/E,MAAMc,EACnCsK,EAAKe,EAAOnM,MAAMe,EAAIgE,EAAO/E,MAAMe,IAInCmK,EAAKiB,EAAOrL,EAAIiE,EAAOjE,EACvBsK,EAAKe,EAAOpL,EAAIgE,EAAOhE,GAGpBN,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAmBpC2uI,aAAc,SAAU/hI,EAAelX,EAAGC,EAAGf,QAE3BsD,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EAAK,EAAU8M,EAAchY,MAAMc,EAAIA,EAAIkX,EAAclX,EAAIA,EAC7DsK,EAAK,EAAU4M,EAAchY,MAAMe,EAAIA,EAAIiX,EAAcjX,EAAIA,EAEjE,OAAON,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAkBpCyuI,kBAAmB,SAAU7hI,EAAe+yB,EAAS/qC,QAEjCsD,IAAZynC,IAAyBA,EAAUhuC,KAAK+C,KAAKojC,MAAMuc,oBACzCn8C,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EAAK,EAAU8M,EAAchY,MAAMc,EAAIiqC,EAAQ87F,OAAS7uH,EAAclX,EAAIiqC,EAAQ87F,OAClFz7H,EAAK,EAAU4M,EAAchY,MAAMe,EAAIgqC,EAAQ+7F,OAAS9uH,EAAcjX,EAAIgqC,EAAQ+7F,OAEtF,OAAOrmI,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAcpCqvI,QAAS,SAAUtuI,EAAQuuI,EAAS16I,EAAOq1B,GAKvC,IAAK,IAHDgB,EAAMzuB,EAAAA,EACN6yI,EAAU,KAELh7I,EAAI,EAAGouB,EAAM6sH,EAAQh7I,OAAQD,EAAIouB,EAAKpuB,IAC/C,CACI,IAAIsF,EAAS21I,EAAQj7I,GACjB8yB,EAAWx1B,KAAK28I,gBAAgBvtI,EAAQpH,EAAQ/E,EAAOq1B,GAEvD9C,EAAW8D,IAEXokH,EAAU11I,EACVsxB,EAAM9D,GAId,OAAOkoH,GAaXE,SAAU,SAAUxuI,EAAQuuI,EAAS16I,EAAOq1B,GAKxC,IAAK,IAHDryB,GAAO,EACP23I,EAAW,KAENl7I,EAAI,EAAGouB,EAAM6sH,EAAQh7I,OAAQD,EAAIouB,EAAKpuB,IAC/C,CACI,IAAIsF,EAAS21I,EAAQj7I,GACjB8yB,EAAWx1B,KAAK28I,gBAAgBvtI,EAAQpH,EAAQ/E,EAAOq1B,GAEvD9C,EAAWvvB,IAEX23I,EAAW51I,EACX/B,EAAMuvB,GAId,OAAOooH,GAgBXxxC,aAAc,SAAUh9F,EAAQpH,EAAQ/E,GAIpC,YAFcsD,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOzB,EAAOX,MAAM+0B,MAAM5tB,EAAO/E,MAAOmM,EAAOnM,OAIxCzB,EAAOX,MAAM+0B,MAAM5tB,EAAQoH,IAY1CyuI,oBAAqB,SAAUzuI,EAAQpH,GAEnC,IAAImG,EAAKnG,EAAO6vB,QAAUzoB,EAAOyoB,QAC7BxpB,EAAKrG,EAAO8vB,QAAU1oB,EAAO0oB,QAEjC,OAAOp0B,KAAKq5B,MAAM1uB,EAAIF,IAiB1BsvI,UAAW,SAAUxiI,EAAelX,EAAGC,EAAGf,GAItC,YAFcsD,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOS,KAAKq5B,MAAM/4B,EAAIiX,EAAchY,MAAMe,EAAGD,EAAIkX,EAAchY,MAAMc,GAI9DL,KAAKq5B,MAAM/4B,EAAIiX,EAAcjX,EAAGD,EAAIkX,EAAclX,IAiBjE84I,eAAgB,SAAU5hI,EAAe+yB,EAAS/qC,GAK9C,YAHgBsD,IAAZynC,IAAyBA,EAAUhuC,KAAK+C,KAAKojC,MAAMuc,oBACzCn8C,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOS,KAAKq5B,MAAMiR,EAAQ+7F,OAAS9uH,EAAchY,MAAMe,EAAGgqC,EAAQ87F,OAAS7uH,EAAchY,MAAMc,GAIxFL,KAAKq5B,MAAMiR,EAAQ+7F,OAAS9uH,EAAcjX,EAAGgqC,EAAQ87F,OAAS7uH,EAAclX,IAa3F+5I,oBAAqB,SAAU7iI,EAAe+yB,GAE1C,OAAOhuC,KAAK68I,eAAe5hI,EAAe+yB,GAAS,KAmB3DxsC,EAAO6wC,QAAQ2iC,OAAOs2D,KAAO,SAAUhoH,GAKnCtjB,KAAKsjB,OAASA,EAKdtjB,KAAK+C,KAAOugB,EAAOvgB,KAKnB/C,KAAKwT,KAAOhS,EAAO6wC,QAAQC,OAM3BtyC,KAAKgZ,QAAS,EASdhZ,KAAKq6I,UAAW,EAWhBr6I,KAAKm1B,OAAS,EAKdn1B,KAAKyX,OAAS,IAAIjW,EAAOX,MAMzBb,KAAKY,SAAW,IAAIY,EAAOX,MAAMyiB,EAAOvf,EAAGuf,EAAOtf,GAMlDhE,KAAK86E,KAAO,IAAIt5E,EAAOX,MAAMb,KAAKY,SAASmD,EAAG/D,KAAKY,SAASoD,GAM5DhE,KAAK03I,eAAgB,EAOrB13I,KAAKgB,SAAWsiB,EAAOsS,MAMvB51B,KAAK+9I,YAAcz6H,EAAOsS,MAM1B51B,KAAKpC,MAAQ0lB,EAAO1lB,MAMpBoC,KAAKnC,OAASylB,EAAOzlB,OAMrBmC,KAAKs3F,YAAch0E,EAAO1lB,MAM1BoC,KAAKu3F,aAAej0E,EAAOzlB,OAEvBylB,EAAOvlB,UAEPiC,KAAKs3F,YAAch0E,EAAOvlB,QAAQsP,MAAMzP,MACxCoC,KAAKu3F,aAAej0E,EAAOvlB,QAAQsP,MAAMxP,QAO7CmC,KAAK42B,UAAYlzB,KAAKizB,IAAIrT,EAAO1lB,MAAQ,GAMzCoC,KAAK62B,WAAanzB,KAAKizB,IAAIrT,EAAOzlB,OAAS,GAM3CmC,KAAK8+B,OAAS,IAAIt9B,EAAOX,MAAMyiB,EAAOvf,EAAI/D,KAAK42B,UAAWtT,EAAOtf,EAAIhE,KAAK62B,YAK1E72B,KAAKi4I,SAAW,IAAIz2I,EAAOX,MAM3Bb,KAAKg+I,YAAc,IAAIx8I,EAAOX,MAK9Bb,KAAKi+I,SAAW,IAAIz8I,EAAOX,MAK3Bb,KAAKk4I,aAAe,IAAI12I,EAAOX,MAM/Bb,KAAKs4I,WAAY,EAKjBt4I,KAAKm4I,KAAO,IAAI32I,EAAOX,MAMvBb,KAAKq4I,cAAe,EAKpBr4I,KAAK62I,QAAU,IAAIr1I,EAAOX,MAK1Bb,KAAKw7I,OAAS,IAAIh6I,EAAOX,MAQzBb,KAAKk+I,YAAc,KAYnBl+I,KAAKm+I,cAAgB,KAoBrBn+I,KAAK86I,UAAY,KAoBjB96I,KAAK66I,UAAY,KAMjB76I,KAAKo4I,YAAc,IAAI52I,EAAOX,MAAM,IAAO,KAK3Cb,KAAKi8I,SAAW,IAAIz6I,EAAOX,MAAM,EAAG,GAMpCb,KAAK63I,gBAAkB,EAMvB73I,KAAK83I,oBAAsB,EAM3B93I,KAAK+3I,YAAc,EAMnB/3I,KAAKg4I,WAAa,IAMlBh4I,KAAKs7I,KAAO,EAMZt7I,KAAK41B,MAAQ,EAMb51B,KAAKmhD,MAAQ,EAMbnhD,KAAKo+I,OAAS58I,EAAOqqB,KAMrB7rB,KAAKm7I,WAAY,EAcjBn7I,KAAKg8I,OAAQ,EAQbh8I,KAAKo7I,iBAAkB,EAQvBp7I,KAAKq8I,iBAAkB,EAMvBr8I,KAAK67I,SAAW,EAMhB77I,KAAK+7I,SAAW,EAMhB/7I,KAAKq+I,SAAW,EAMhBr+I,KAAK27I,UAAW,EAMhB37I,KAAKs+I,oBAAqB,EAS1Bt+I,KAAK82I,gBAAmBsD,MAAM,EAAOh2E,IAAI,EAAMhW,MAAM,EAAMz6B,MAAM,EAAMD,OAAO,GAO9E1zB,KAAK47I,UAAaxB,MAAM,EAAMh2E,IAAI,EAAOhW,MAAM,EAAOz6B,MAAM,EAAOD,OAAO,GAM1E1zB,KAAKu+I,aAAgBnE,MAAM,EAAMh2E,IAAI,EAAOhW,MAAM,EAAOz6B,MAAM,EAAOD,OAAO,GAO7E1zB,KAAKw+I,SAAYpE,MAAM,EAAMh2E,IAAI,EAAOhW,MAAM,EAAOz6B,MAAM,EAAOD,OAAO,GAOzE1zB,KAAKy+I,YAAc,IAAIj9I,EAAOX,MAK9Bb,KAAKwR,OAAQ,EAKbxR,KAAKm3I,cAAe,EAUpBn3I,KAAK0+I,YAAa,EAKlB1+I,KAAK2+I,UAAW,EAKhB3+I,KAAK4+I,uBAAwB,EAM7B5+I,KAAK6+I,UAAY,EAMjB7+I,KAAK8+I,aAAe,EAMpB9+I,KAAK++I,aAAe,EAMpB/+I,KAAKg/I,WAAa,KAMlBh/I,KAAKi/I,QAAU,KAKfj/I,KAAKk/I,eAAiB,IAAI19I,EAAO6gC,OAKjCriC,KAAKm/I,iBAAmB,KAKxBn/I,KAAKo/I,wBAA0B,KAM/Bp/I,KAAK4yE,QAAS,EAMd5yE,KAAKq/I,IAAM/7H,EAAOxiB,MAAMiD,EAMxB/D,KAAKs/I,IAAMh8H,EAAOxiB,MAAMkD,EAMxBhE,KAAK81D,IAAM,EAMX91D,KAAK+1D,IAAM,GAGfv0D,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,WAQvBi9I,aAAc,WAEV,GAAIv/I,KAAK0+I,WACT,CACI,IAAIv7I,EAAInD,KAAKsjB,OAAOpZ,YACpB/G,EAAEg9B,UAEEh9B,EAAEvF,QAAUoC,KAAKpC,OAASuF,EAAEtF,SAAWmC,KAAKnC,SAE5CmC,KAAKpC,MAAQuF,EAAEvF,MACfoC,KAAKnC,OAASsF,EAAEtF,OAChBmC,KAAK4yE,QAAS,OAItB,CACI,IAAI4sE,EAAM97I,KAAKizB,IAAI32B,KAAKsjB,OAAOxiB,MAAMiD,GACjC07I,EAAM/7I,KAAKizB,IAAI32B,KAAKsjB,OAAOxiB,MAAMkD,GAEjCw7I,IAAQx/I,KAAKq/I,KAAOI,IAAQz/I,KAAKs/I,MAEjCt/I,KAAKpC,MAAQoC,KAAKs3F,YAAckoD,EAChCx/I,KAAKnC,OAASmC,KAAKu3F,aAAekoD,EAClCz/I,KAAKq/I,IAAMG,EACXx/I,KAAKs/I,IAAMG,EACXz/I,KAAK4yE,QAAS,GAIlB5yE,KAAK4yE,SAEL5yE,KAAK42B,UAAYlzB,KAAKmsB,MAAM7vB,KAAKpC,MAAQ,GACzCoC,KAAK62B,WAAanzB,KAAKmsB,MAAM7vB,KAAKnC,OAAS,GAC3CmC,KAAK0/I,iBAUbA,aAAc,WAEV1/I,KAAK8+B,OAAO1J,MAAMp1B,KAAKY,SAASmD,EAAI/D,KAAK42B,UAAW52B,KAAKY,SAASoD,EAAIhE,KAAK62B,aAS/EnyB,UAAW,WAEF1E,KAAKgZ,SAAUhZ,KAAK+C,KAAK0jC,QAAQyvG,OAAO5/B,WAK7Ct2G,KAAKwR,OAAQ,EAGbxR,KAAKu+I,YAAYnE,KAAOp6I,KAAK47I,SAASxB,KACtCp6I,KAAKu+I,YAAYn6E,GAAKpkE,KAAK47I,SAASx3E,GACpCpkE,KAAKu+I,YAAYnwF,KAAOpuD,KAAK47I,SAASxtF,KACtCpuD,KAAKu+I,YAAY5qH,KAAO3zB,KAAK47I,SAASjoH,KACtC3zB,KAAKu+I,YAAY7qH,MAAQ1zB,KAAK47I,SAASloH,MAEvC1zB,KAAK47I,SAASxB,MAAO,EACrBp6I,KAAK47I,SAASx3E,IAAK,EACnBpkE,KAAK47I,SAASxtF,MAAO,EACrBpuD,KAAK47I,SAASjoH,MAAO,EACrB3zB,KAAK47I,SAASloH,OAAQ,EAEtB1zB,KAAKw+I,QAAQpE,MAAO,EACpBp6I,KAAKw+I,QAAQp6E,IAAK,EAClBpkE,KAAKw+I,QAAQpwF,MAAO,EACpBpuD,KAAKw+I,QAAQ7qH,MAAO,EACpB3zB,KAAKw+I,QAAQ9qH,OAAQ,EAErB1zB,KAAKq+I,SAAW,EAChBr+I,KAAK67I,SAAW,EAChB77I,KAAK+7I,SAAW,EAEhB/7I,KAAK27I,UAAW,EAEhB37I,KAAKu/I,eAELv/I,KAAKY,SAASmD,EAAK/D,KAAKsjB,OAAOrgB,MAAMc,EAAK/D,KAAKsjB,OAAO3c,OAAO5C,EAAI/D,KAAKsjB,OAAO1lB,MAAUoC,KAAKsjB,OAAOxiB,MAAMiD,EAAI/D,KAAKyX,OAAO1T,EACzH/D,KAAKY,SAASmD,GAAK/D,KAAKsjB,OAAOxiB,MAAMiD,EAAI,EAAI/D,KAAKpC,MAAQ,EAE1DoC,KAAKY,SAASoD,EAAKhE,KAAKsjB,OAAOrgB,MAAMe,EAAKhE,KAAKsjB,OAAO3c,OAAO3C,EAAIhE,KAAKsjB,OAAOzlB,OAAWmC,KAAKsjB,OAAOxiB,MAAMkD,EAAIhE,KAAKyX,OAAOzT,EAC1HhE,KAAKY,SAASoD,GAAKhE,KAAKsjB,OAAOxiB,MAAMkD,EAAI,EAAIhE,KAAKnC,OAAS,EAE3DmC,KAAK0/I,eAEL1/I,KAAKgB,SAAWhB,KAAKsjB,OAAOsS,MAE5B51B,KAAK+9I,YAAc/9I,KAAKgB,UAEpBhB,KAAK4yE,QAAU5yE,KAAKsjB,OAAOmpD,SAE3BzsE,KAAK86E,KAAK/2E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAK86E,KAAK92E,EAAIhE,KAAKY,SAASoD,GAG5BhE,KAAKg8I,QAELh8I,KAAK+C,KAAK0jC,QAAQyvG,OAAOuB,aAAaz3I,MAEtCA,KAAKg+I,YAAY72I,IAAInH,KAAKi4I,SAASl0I,EAAI/D,KAAK+C,KAAKmiC,KAAKu5D,eAAgBz+F,KAAKi4I,SAASj0I,EAAIhE,KAAK+C,KAAKmiC,KAAKu5D,gBAEvGz+F,KAAKY,SAASmD,GAAK/D,KAAKg+I,YAAYj6I,EACpC/D,KAAKY,SAASoD,GAAKhE,KAAKg+I,YAAYh6I,EACpChE,KAAK0/I,eAED1/I,KAAKY,SAASmD,IAAM/D,KAAK86E,KAAK/2E,GAAK/D,KAAKY,SAASoD,IAAMhE,KAAK86E,KAAK92E,IAEjEhE,KAAK41B,MAAQ51B,KAAKi4I,SAASh7G,QAG/Bj9B,KAAKmhD,MAAQz9C,KAAKS,KAAKnE,KAAKi4I,SAASl0I,EAAI/D,KAAKi4I,SAASl0I,EAAI/D,KAAKi4I,SAASj0I,EAAIhE,KAAKi4I,SAASj0I,GAOvFhE,KAAKs+I,oBAEDt+I,KAAKyrE,oBAAsBzrE,KAAKm+I,eAEhCn+I,KAAKm+I,cAAc/4G,SAASplC,KAAKsjB,OAAQtjB,KAAKw+I,QAAQp6E,GAAIpkE,KAAKw+I,QAAQpwF,KAAMpuD,KAAKw+I,QAAQ7qH,KAAM3zB,KAAKw+I,QAAQ9qH,QAKzH1zB,KAAK81D,IAAM91D,KAAKytE,SAChBztE,KAAK+1D,IAAM/1D,KAAKspD,SAEhBtpD,KAAK4yE,QAAS,IASlB+sE,eAAgB,WAEZ,IAAIhxC,EAAU,EACVixC,EAA8B,IAAlB5/I,KAAK67I,UAAoC,IAAlB77I,KAAK+7I,SAiB5C,GAbI/7I,KAAK++I,aAAe,GAEpB/+I,KAAK6+I,WAAa7+I,KAAK+C,KAAKmiC,KAAKC,UAEjCwpE,EAAU3uG,KAAK6+I,UAAY7+I,KAAK++I,eAIhC/+I,KAAKg/I,WAAW3jI,IAAIlU,IAAInH,KAAKY,SAASmD,EAAG/D,KAAKY,SAASoD,GAEvD2qG,EAAU3uG,KAAKg/I,WAAWr8I,OAAS3C,KAAK8+I,cAGxC9+I,KAAKm/I,iBAEL,IAAIvmH,EAAS54B,KAAKm/I,iBAAiB36I,KAAKxE,KAAKo/I,wBAAyBp/I,KAAMA,KAAKi4I,SAAUtpC,GAG/F,QAAIixC,GAAYjxC,GAAW,QAAiBpoG,IAAXqyB,IAAmC,IAAXA,KAErD54B,KAAK6/I,aAAclxC,GAAW,GAAO3uG,KAAK4+I,uBAAyBgB,IAC5D,IAgBfC,aAAc,SAAUC,GAEhB9/I,KAAK2+I,WAEL3+I,KAAK2+I,UAAW,EAEZmB,GAEA9/I,KAAKi4I,SAAS9wI,IAAI,GAOtBnH,KAAKk/I,eAAe95G,SAASplC,KAAKsjB,OAA2B,IAAlBtjB,KAAK67I,UAAoC,IAAlB77I,KAAK+7I,YAU/El1G,WAAY,WAGH7mC,KAAKgZ,QAAWhZ,KAAKwR,QAMtBxR,KAAK2+I,UAEL3+I,KAAK2/I,iBAGT3/I,KAAKwR,OAAQ,EAETxR,KAAKytE,SAAW,EAEhBztE,KAAKo+I,OAAS58I,EAAOsqB,KAEhB9rB,KAAKytE,SAAW,IAErBztE,KAAKo+I,OAAS58I,EAAOuqB,OAGrB/rB,KAAKspD,SAAW,EAEhBtpD,KAAKo+I,OAAS58I,EAAOwqB,GAEhBhsB,KAAKspD,SAAW,IAErBtpD,KAAKo+I,OAAS58I,EAAOyqB,MAGrBjsB,KAAKg8I,QAELh8I,KAAK81D,IAAM91D,KAAKytE,SAChBztE,KAAK+1D,IAAM/1D,KAAKspD,SAEQ,IAApBtpD,KAAKi+I,SAASl6I,GAAwB,IAAb/D,KAAK81D,MAE1B91D,KAAK81D,IAAM,GAAK91D,KAAK81D,KAAO91D,KAAKi+I,SAASl6I,EAE1C/D,KAAK81D,KAAO91D,KAAKi+I,SAASl6I,EAErB/D,KAAK81D,IAAM,GAAK91D,KAAK81D,IAAM91D,KAAKi+I,SAASl6I,IAE9C/D,KAAK81D,IAAM91D,KAAKi+I,SAASl6I,IAIT,IAApB/D,KAAKi+I,SAASj6I,GAAwB,IAAbhE,KAAK+1D,MAE1B/1D,KAAK+1D,IAAM,GAAK/1D,KAAK+1D,KAAO/1D,KAAKi+I,SAASj6I,EAE1ChE,KAAK+1D,KAAO/1D,KAAKi+I,SAASj6I,EAErBhE,KAAK+1D,IAAM,GAAK/1D,KAAK+1D,IAAM/1D,KAAKi+I,SAASj6I,IAE9ChE,KAAK+1D,IAAM/1D,KAAKi+I,SAASj6I,IAIjChE,KAAKsjB,OAAO1iB,SAASmD,GAAK/D,KAAK81D,IAC/B91D,KAAKsjB,OAAO1iB,SAASoD,GAAKhE,KAAK+1D,IAC/B/1D,KAAK4yE,QAAS,GAGlB5yE,KAAK0/I,eAED1/I,KAAK03I,gBAEL13I,KAAKsjB,OAAOsS,OAAS51B,KAAK0tE,UAG9B1tE,KAAK86E,KAAK/2E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAK86E,KAAK92E,EAAIhE,KAAKY,SAASoD,IAUhCynE,iBAAkB,WAEd,IAAI9vC,EAAM37B,KAAKY,SACXkE,EAAS9E,KAAK+C,KAAK0jC,QAAQyvG,OAAOpxI,OAClCi7I,EAAQ//I,KAAK+C,KAAK0jC,QAAQyvG,OAAOY,eAEjC5wD,EAAMlmF,KAAgB,aAAKA,KAAKk+I,YAAYn6I,GAAK/D,KAAKw7I,OAAOz3I,EAC7DoiF,EAAMnmF,KAAgB,aAAKA,KAAKk+I,YAAYl6I,GAAKhE,KAAKw7I,OAAOx3I,EAgCjE,OA9BI23B,EAAI53B,EAAIe,EAAOf,GAAKg8I,EAAMpsH,MAE1BgI,EAAI53B,EAAIe,EAAOf,EACf/D,KAAKi4I,SAASl0I,GAAKmiF,EACnBlmF,KAAKw+I,QAAQ7qH,MAAO,EACpB3zB,KAAKw+I,QAAQpE,MAAO,GAEfp6I,KAAK0zB,MAAQ5uB,EAAO4uB,OAASqsH,EAAMrsH,QAExCiI,EAAI53B,EAAIe,EAAO4uB,MAAQ1zB,KAAKpC,MAC5BoC,KAAKi4I,SAASl0I,GAAKmiF,EACnBlmF,KAAKw+I,QAAQ9qH,OAAQ,EACrB1zB,KAAKw+I,QAAQpE,MAAO,GAGpBz+G,EAAI33B,EAAIc,EAAOd,GAAK+7I,EAAM37E,IAE1BzoC,EAAI33B,EAAIc,EAAOd,EACfhE,KAAKi4I,SAASj0I,GAAKmiF,EACnBnmF,KAAKw+I,QAAQp6E,IAAK,EAClBpkE,KAAKw+I,QAAQpE,MAAO,GAEfp6I,KAAKs2B,OAASxxB,EAAOwxB,QAAUypH,EAAM3xF,OAE1CzyB,EAAI33B,EAAIc,EAAOwxB,OAASt2B,KAAKnC,OAC7BmC,KAAKi4I,SAASj0I,GAAKmiF,EACnBnmF,KAAKw+I,QAAQpwF,MAAO,EACpBpuD,KAAKw+I,QAAQpE,MAAO,IAGhBp6I,KAAKw+I,QAAQpE,MAiCzB4F,SAAU,SAAUn9G,EAAUse,EAAO3c,GAIjC,QAFcj+B,IAAV46C,IAAuBA,EAAQnhD,KAAKmhD,OAE1B,IAAVA,EAEA,OAAO,EAGX,IAAIvrB,EA+BJ,YA7BkBrvB,IAAdi+B,GAEA5O,EAAQ51B,KAAK41B,MACb4O,EAAYxkC,KAAK+C,KAAKyiC,KAAKxI,SAASpH,IAIpCA,EAAQ51B,KAAK+C,KAAKyiC,KAAK/O,SAAS+N,GAGpCxkC,KAAK6+I,UAAY,EACjB7+I,KAAK++I,aAAel8G,EAGF,IAAd2B,GAAiC,MAAdA,EAEnBxkC,KAAKi4I,SAAS9wI,IAAIzD,KAAKI,IAAI8xB,GAASurB,EAAO,GAExB,KAAd3c,GAAkC,MAAdA,EAEzBxkC,KAAKi4I,SAAS9wI,IAAI,EAAGzD,KAAKG,IAAI+xB,GAASurB,GAIvCnhD,KAAKi4I,SAAS97G,WAAWvG,EAAOurB,GAGpCnhD,KAAK2+I,UAAW,GAET,GAgCX9+D,OAAQ,SAAUh9C,EAAUrN,EAAUgP,GAElC,IAAI2c,EAAQ3rB,GAAYqN,EAAW,KAEnC,GAAc,IAAVse,EAEA,OAAO,EAGX,IAAIvrB,EA6CJ,YA3CkBrvB,IAAdi+B,GAEA5O,EAAQ51B,KAAK41B,MACb4O,EAAYxkC,KAAK+C,KAAKyiC,KAAKxI,SAASpH,IAIpCA,EAAQ51B,KAAK+C,KAAKyiC,KAAK/O,SAAS+N,GAGpChP,EAAW9xB,KAAKizB,IAAInB,GAEpBx1B,KAAK++I,aAAe,EACpB/+I,KAAK8+I,aAAetpH,EAEI,OAApBx1B,KAAKg/I,aAELh/I,KAAKg/I,WAAa,IAAIx9I,EAAOy2B,KAC7Bj4B,KAAKi/I,QAAU,IAAIz9I,EAAOX,OAG9Bb,KAAKg/I,WAAWzmH,UAAUv4B,KAAK+D,EAAG/D,KAAKgE,EAAG4xB,EAAOJ,GAEjDx1B,KAAKi/I,QAAQ93I,IAAInH,KAAKg/I,WAAW3jI,IAAItX,EAAG/D,KAAKg/I,WAAW3jI,IAAIrX,GAE5DhE,KAAKg/I,WAAW5pH,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK+D,EAAG/D,KAAKgE,GAGjC,IAAdwgC,GAAiC,MAAdA,EAEnBxkC,KAAKi4I,SAAS9wI,IAAIzD,KAAKI,IAAI8xB,GAASurB,EAAO,GAExB,KAAd3c,GAAkC,MAAdA,EAEzBxkC,KAAKi4I,SAAS9wI,IAAI,EAAGzD,KAAKG,IAAI+xB,GAASurB,GAIvCnhD,KAAKi4I,SAAS97G,WAAWvG,EAAOurB,GAGpCnhD,KAAK2+I,UAAW,GAET,GA2CX74G,QAAS,SAAUloC,EAAOC,EAAQ6mB,EAASC,QAEvBpe,IAAZme,IAAyBA,EAAU1kB,KAAKyX,OAAO1T,QACnCwC,IAAZoe,IAAyBA,EAAU3kB,KAAKyX,OAAOzT,GAEnDhE,KAAKs3F,YAAc15F,EACnBoC,KAAKu3F,aAAe15F,EACpBmC,KAAKpC,MAAQoC,KAAKs3F,YAAct3F,KAAKq/I,IACrCr/I,KAAKnC,OAASmC,KAAKu3F,aAAev3F,KAAKs/I,IACvCt/I,KAAK42B,UAAYlzB,KAAKmsB,MAAM7vB,KAAKpC,MAAQ,GACzCoC,KAAK62B,WAAanzB,KAAKmsB,MAAM7vB,KAAKnC,OAAS,GAC3CmC,KAAKyX,OAAO2d,MAAM1Q,EAASC,GAE3B3kB,KAAK0/I,eAEL1/I,KAAKq6I,UAAW,EAChBr6I,KAAKm1B,OAAS,GAmBlB8qH,UAAW,SAAU9qH,EAAQzQ,EAASC,QAElBpe,IAAZme,IAAyBA,EAAU1kB,KAAKyX,OAAO1T,QACnCwC,IAAZoe,IAAyBA,EAAU3kB,KAAKyX,OAAOzT,GAE/CmxB,EAAS,GAETn1B,KAAKq6I,UAAW,EAChBr6I,KAAKm1B,OAASA,EAEdn1B,KAAKs3F,YAAuB,EAATniE,EACnBn1B,KAAKu3F,aAAwB,EAATpiE,EAEpBn1B,KAAKpC,MAAQoC,KAAKs3F,YAAct3F,KAAKq/I,IACrCr/I,KAAKnC,OAASmC,KAAKu3F,aAAev3F,KAAKs/I,IAEvCt/I,KAAK42B,UAAYlzB,KAAKmsB,MAAM7vB,KAAKpC,MAAQ,GACzCoC,KAAK62B,WAAanzB,KAAKmsB,MAAM7vB,KAAKnC,OAAS,GAE3CmC,KAAKyX,OAAO2d,MAAM1Q,EAASC,GAE3B3kB,KAAK0/I,gBAIL1/I,KAAKq6I,UAAW,GAWxBt0G,MAAO,SAAUhiC,EAAGC,GAEhBhE,KAAKmM,OAELnM,KAAKY,SAASmD,EAAKA,EAAK/D,KAAKsjB,OAAO3c,OAAO5C,EAAI/D,KAAKsjB,OAAO1lB,MAAUoC,KAAKsjB,OAAOxiB,MAAMiD,EAAI/D,KAAKyX,OAAO1T,EACvG/D,KAAKY,SAASmD,GAAK/D,KAAKsjB,OAAOxiB,MAAMiD,EAAI,EAAI/D,KAAKpC,MAAQ,EAE1DoC,KAAKY,SAASoD,EAAKA,EAAKhE,KAAKsjB,OAAO3c,OAAO3C,EAAIhE,KAAKsjB,OAAOzlB,OAAWmC,KAAKsjB,OAAOxiB,MAAMkD,EAAIhE,KAAKyX,OAAOzT,EACxGhE,KAAKY,SAASoD,GAAKhE,KAAKsjB,OAAOxiB,MAAMkD,EAAI,EAAIhE,KAAKnC,OAAS,EAE3DmC,KAAK86E,KAAK/2E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAK86E,KAAK92E,EAAIhE,KAAKY,SAASoD,EAE5BhE,KAAKgB,SAAWhB,KAAKsjB,OAAOsS,MAC5B51B,KAAK+9I,YAAc/9I,KAAKgB,SAExBhB,KAAKu/I,eAELv/I,KAAK0/I,gBAQTvzI,KAAM,WAEFnM,KAAKi4I,SAAS9wI,IAAI,GAClBnH,KAAKk4I,aAAa/wI,IAAI,GACtBnH,KAAKmhD,MAAQ,EACbnhD,KAAK63I,gBAAkB,EACvB73I,KAAK83I,oBAAsB,GAY/B5tI,UAAW,SAAU6nB,GAOjB,OALAA,EAAIhuB,EAAI/D,KAAK+D,EACbguB,EAAI/tB,EAAIhE,KAAKgE,EACb+tB,EAAI2B,MAAQ1zB,KAAK0zB,MACjB3B,EAAIuE,OAASt2B,KAAKs2B,OAEXvE,GAWXs0B,QAAS,SAAUtiD,EAAGC,GAElB,OAAQhE,KAAa,SAAIwB,EAAOmzB,OAAOrqB,SAAStK,KAAM+D,EAAGC,GAAKxC,EAAOS,UAAUqI,SAAStK,KAAM+D,EAAGC,IASrGk8I,QAAS,WAEL,OAAOlgJ,KAAKw+I,QAAQpwF,MASxB+xF,UAAW,WAEP,OAAOngJ,KAAKw+I,QAAQp6E,IASxBg8E,OAAQ,WAEJ,OAAQpgJ,KAAKw+I,QAAQ7qH,MAAQ3zB,KAAKw+I,QAAQ9qH,OAS9CgoH,UAAW,WAEP,OAAQ17I,KAAKytE,SAAW,EAAIztE,KAAKytE,UAAYztE,KAAKytE,UAStDquE,UAAW,WAEP,OAAQ97I,KAAKspD,SAAW,EAAItpD,KAAKspD,UAAYtpD,KAAKspD,UAStDmkB,OAAQ,WAEJ,OAAOztE,KAAKY,SAASmD,EAAI/D,KAAK86E,KAAK/2E,GASvCulD,OAAQ,WAEJ,OAAOtpD,KAAKY,SAASoD,EAAIhE,KAAK86E,KAAK92E,GASvC0pE,OAAQ,WAEJ,OAAO1tE,KAAKgB,SAAWhB,KAAK+9I,aAWhCv7I,QAAS,WAEDxC,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,kBAAkBG,EAAOywC,OAE3DjyC,KAAKsjB,OAAOjiB,OAAO2wC,eAAehyC,KAAKsjB,QAG3CtjB,KAAKsjB,OAAOwuB,KAAO,KACnB9xC,KAAKsjB,OAAS,OAStBtc,OAAOyF,eAAejL,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAW,QAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,KAU7BiD,OAAOyF,eAAejL,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAW,SAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,EAAI/D,KAAKpC,SAStCoJ,OAAOyF,eAAejL,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAW,OAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,KAU7BgD,OAAOyF,eAAejL,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAW,UAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,EAAIhE,KAAKnC,UAStCmJ,OAAOyF,eAAejL,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAW,KAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,KAS1BJ,OAAOyF,eAAejL,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAW,KAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,KAe1B5F,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKnmI,OAAS,SAAU2I,EAASgkC,EAAMz7B,EAAO+yH,EAAQrpD,QAEzDx5E,IAAX6iI,IAAwBA,GAAS,GAErC/yH,EAAQA,GAAS,oBAEjBvI,EAAQ6a,UAAYtS,EACpBvI,EAAQkyE,YAAc3pE,EACtBvI,EAAQiyE,UAAYA,GAAa,EAE7BjuC,EAAKuoG,UAELvsI,EAAQ4xE,YACR5xE,EAAQ6xE,IAAI7tC,EAAKhT,OAAO/6B,EAAI+tC,EAAK/uC,KAAK+X,OAAO/W,EAAG+tC,EAAKhT,OAAO96B,EAAI8tC,EAAK/uC,KAAK+X,OAAO9W,EAAG8tC,EAAKlb,UAAW,EAAG,EAAIlzB,KAAKsxB,IAE5Go0G,EAEAt7H,EAAQ44C,OAIR54C,EAAQmyE,UAIZmpD,EAEAt7H,EAAQgb,SAASgpB,EAAKlxC,SAASmD,EAAI+tC,EAAK/uC,KAAK+X,OAAO/W,EAAG+tC,EAAKlxC,SAASoD,EAAI8tC,EAAK/uC,KAAK+X,OAAO9W,EAAG8tC,EAAKl0C,MAAOk0C,EAAKj0C,QAI9GiQ,EAAQg9E,WAAWh5C,EAAKlxC,SAASmD,EAAI+tC,EAAK/uC,KAAK+X,OAAO/W,EAAG+tC,EAAKlxC,SAASoD,EAAI8tC,EAAK/uC,KAAK+X,OAAO9W,EAAG8tC,EAAKl0C,MAAOk0C,EAAKj0C,SAaxH2D,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKO,eAAiB,SAAU/hG,EAAOgI,GAEzDhI,EAAMpR,KAAK,MAAQoZ,EAAK/tC,EAAEkqC,QAAQ,GAAI,MAAQ6D,EAAK9tC,EAAEiqC,QAAQ,GAAI,UAAY6D,EAAKl0C,MAAO,WAAak0C,EAAKj0C,QAC3GisC,EAAMpR,KAAK,eAAiBoZ,EAAKmmG,SAASl0I,EAAEkqC,QAAQ,GAAI,MAAQ6D,EAAKmmG,SAASj0I,EAAEiqC,QAAQ,GAAI,WAAa6D,EAAKgkB,IAAI7nB,QAAQ,GAAI,WAAa6D,EAAKikB,IAAI9nB,QAAQ,IAC5JnE,EAAMpR,KAAK,mBAAqBoZ,EAAKomG,aAAan0I,EAAEkqC,QAAQ,GAAI,MAAQ6D,EAAKomG,aAAal0I,EAAEiqC,QAAQ,GAAI,UAAY6D,EAAKqP,MAAMlT,QAAQ,GAAI,UAAY6D,EAAKlc,MAAMqY,QAAQ,IAC1KnE,EAAMpR,KAAK,cAAgBoZ,EAAK+kG,QAAQ9yI,EAAG,MAAQ+tC,EAAK+kG,QAAQ7yI,EAAG,aAAe8tC,EAAK0pG,OAAOz3I,EAAEkqC,QAAQ,GAAI,MAAQ6D,EAAK0pG,OAAOx3I,EAAEiqC,QAAQ,IAC1InE,EAAMpR,KAAK,kBAAoBoZ,EAAK8pG,SAASjoH,KAAM,UAAYme,EAAK8pG,SAASloH,MAAO,OAASoe,EAAK8pG,SAASx3E,GAAI,SAAWtyB,EAAK8pG,SAASxtF,MACxItkB,EAAMpR,KAAK,iBAAmBoZ,EAAK0sG,QAAQ7qH,KAAM,UAAYme,EAAK0sG,QAAQ9qH,MAAO,OAASoe,EAAK0sG,QAAQp6E,GAAI,SAAWtyB,EAAK0sG,QAAQpwF,OAGvI5sD,EAAO6wC,QAAQ2iC,OAAOs2D,KAAKhpI,UAAUC,YAAcf,EAAO6wC,QAAQ2iC,OAAOs2D,KAgBzE9pI,EAAO6wC,QAAQ2iC,OAAOqrE,iBAAmB,aAEzC7+I,EAAO6wC,QAAQ2iC,OAAOqrE,iBAAiB/9I,WAKnCg+I,UAAW,GAcX/G,4BAA6B,SAAUj2H,EAAQi9H,EAAc1H,EAAiBH,EAAiBzvG,EAAiBiwG,GAE5G,GAAK51H,EAAOwuB,KAAZ,CAKA,IAAIuyE,EAAUk8B,EAAaC,SACvBl9H,EAAOwuB,KAAKlxC,SAASmD,EAAIuf,EAAOwuB,KAAK2sG,YAAY16I,EAAIw8I,EAAaE,iBAClEn9H,EAAOwuB,KAAKlxC,SAASoD,EAAIsf,EAAOwuB,KAAK2sG,YAAYz6I,EAAIu8I,EAAaG,iBAClEp9H,EAAOwuB,KAAKl0C,MAAQ0lB,EAAOwuB,KAAK2sG,YAAY16I,EAC5Cuf,EAAOwuB,KAAKj0C,OAASylB,EAAOwuB,KAAK2sG,YAAYz6I,GAC7C,GAAO,GAEX,GAAuB,IAAnBqgH,EAAQ1hH,OAKZ,IAAK,IAAID,EAAI,EAAGA,EAAI2hH,EAAQ1hH,OAAQD,IAE5Bg2I,EAEIA,EAAgBl0I,KAAKykC,EAAiB3lB,EAAQ+gG,EAAQ3hH,KAElD1C,KAAK2gJ,aAAaj+I,EAAG4gB,EAAOwuB,KAAMuyE,EAAQ3hH,GAAI69I,EAAcrH,KAE5Dl5I,KAAKo3I,SAEDyB,GAEAA,EAAgBr0I,KAAKykC,EAAiB3lB,EAAQ+gG,EAAQ3hH,KAMlE1C,KAAK2gJ,aAAaj+I,EAAG4gB,EAAOwuB,KAAMuyE,EAAQ3hH,GAAI69I,EAAcrH,KAE5Dl5I,KAAKo3I,SAEDyB,GAEAA,EAAgBr0I,KAAKykC,EAAiB3lB,EAAQ+gG,EAAQ3hH,OAkBtE+2I,2BAA4B,SAAUv/F,EAAOqmG,EAAc1H,EAAiBH,EAAiBzvG,EAAiBiwG,GAE1G,GAAqB,IAAjBh/F,EAAMv3C,OAKV,IAAK,IAAID,EAAI,EAAGA,EAAIw3C,EAAMz3C,SAASE,OAAQD,IAEnCw3C,EAAMz3C,SAASC,GAAGwK,QAElBlN,KAAKu5I,4BAA4Br/F,EAAMz3C,SAASC,GAAI69I,EAAc1H,EAAiBH,EAAiBzvG,EAAiBiwG,IAejIyH,aAAc,SAAUj+I,EAAGovC,EAAM8uG,EAAML,EAAcrH,GAEjD,IAAKpnG,EAAK94B,OAEN,OAAO,EAGX,IAAI6nI,EAAsBN,EAAaE,iBACnCK,EAAsBP,EAAaG,iBAGvC,IAAKE,EAAKpqH,WAAYsb,EAAKlxC,SAASmD,EAAI88I,EAAuB/uG,EAAKlxC,SAASoD,EAAI88I,EAAuBhvG,EAAKpe,MAAQmtH,EAAuB/uG,EAAKxb,OAASwqH,GAGtJ,OAAO,EAEN,GAAI5H,EAGL,OAAO,EAMX,GAAI0H,EAAKG,oBAAsBH,EAAKG,kBAAkBv8I,KAAKo8I,EAAKI,yBAA0BlvG,EAAKxuB,OAAQs9H,GAGnG,OAAO,EAEN,QAAoC,IAAzBA,EAAK3P,MAAM71E,WAA6BwlF,EAAK3P,MAAM71E,UAAUwlF,EAAKh4I,SAAWg4I,EAAK3P,MAAM71E,UAAUwlF,EAAKh4I,OAAO+rC,SAASnwC,KAAKo8I,EAAK3P,MAAM71E,UAAUwlF,EAAKh4I,OAAOqgC,gBAAiB6I,EAAKxuB,OAAQs9H,GAGvM,OAAO,EAIX,KAAKA,EAAKK,UAAaL,EAAKM,WAAcN,EAAKO,SAAYP,EAAKQ,YAG5D,OAAO,EAGX,IAAIr2D,EAAK,EACLC,EAAK,EACLpgF,EAAO,EACPE,EAAO,EAoBX,GAlBIgnC,EAAK4pG,YAAc5pG,EAAKgqG,YAGxBlxI,GAAQ,EAEHknC,EAAK4pG,YAAc5pG,EAAKgqG,cAG7BhxI,GAAQ,GAGU,IAAlBgnC,EAAK27B,UAAoC,IAAlB37B,EAAKwX,WAAmBs3F,EAAKK,UAAYL,EAAKM,aAAeN,EAAKO,SAAWP,EAAKQ,cAGzGx2I,EAAOlH,KAAK41B,IAAI51B,KAAKizB,IAAKmb,EAAKlxC,SAASmD,EAAI88I,EAAuBD,EAAKltH,OAAQhwB,KAAKizB,IAAKmb,EAAKpe,MAAQmtH,EAAuBD,EAAKjtH,OACnI7oB,EAAOpH,KAAK41B,IAAI51B,KAAKizB,IAAKmb,EAAKlxC,SAASoD,EAAI88I,EAAuBF,EAAKtqH,QAAS5yB,KAAKizB,IAAKmb,EAAKxb,OAASwqH,EAAuBF,EAAKvqH,OAGrIzrB,EAAOE,EACX,CACI,IAAI81I,EAAKK,UAAYL,EAAKM,YAKX,KAHXn2D,EAAK/qF,KAAKqhJ,WAAWvvG,EAAM8uG,EAAML,MAGhBK,EAAKpqH,WAAYsb,EAAKlxC,SAASmD,EAAI88I,EAAuB/uG,EAAKlxC,SAASoD,EAAI88I,EAAuBhvG,EAAKpe,MAAQmtH,EAAuB/uG,EAAKxb,OAASwqH,GAElK,OAAO,GAIXF,EAAKO,SAAWP,EAAKQ,cAErBp2D,EAAKhrF,KAAKshJ,WAAWxvG,EAAM8uG,EAAML,QAIzC,CACI,IAAIK,EAAKO,SAAWP,EAAKQ,aAKV,KAHXp2D,EAAKhrF,KAAKshJ,WAAWxvG,EAAM8uG,EAAML,MAGhBK,EAAKpqH,WAAYsb,EAAKlxC,SAASmD,EAAI88I,EAAuB/uG,EAAKlxC,SAASoD,EAAI88I,EAAuBhvG,EAAKpe,MAAQmtH,EAAuB/uG,EAAKxb,OAASwqH,GAElK,OAAO,GAIXF,EAAKK,UAAYL,EAAKM,aAEtBn2D,EAAK/qF,KAAKqhJ,WAAWvvG,EAAM8uG,EAAML,IAIzC,OAAe,IAAPx1D,GAAmB,IAAPC,GAaxBq2D,WAAY,SAAUvvG,EAAM8uG,EAAML,GAE9B,IAAIx1D,EAAK,EACL81D,EAAsBN,EAAaE,iBAyCvC,OAvCI3uG,EAAK27B,SAAW,IAAM37B,EAAK0sG,QAAQ7qH,MAAQitH,EAAKW,cAAgBzvG,EAAKglG,eAAenjH,KAGhFitH,EAAKM,WAAcpvG,EAAK/tC,EAAI88I,EAAuBD,EAAKltH,QAExDq3D,EAAMj5C,EAAK/tC,EAAI88I,EAAuBD,EAAKltH,QAEjC1zB,KAAKsgJ,YAEXv1D,EAAK,GAIRj5C,EAAK27B,SAAW,IAAM37B,EAAK0sG,QAAQ9qH,OAASktH,EAAKY,aAAe1vG,EAAKglG,eAAepjH,OAGrFktH,EAAKK,UAAanvG,EAAKpe,MAAQmtH,EAAuBD,EAAKjtH,OAE3Do3D,EAAMj5C,EAAKpe,MAAQmtH,EAAuBD,EAAKjtH,MAEtC3zB,KAAKsgJ,YAEVv1D,EAAK,GAKN,IAAPA,IAEIj5C,EAAKspG,gBAELtpG,EAAK+pG,SAAW9wD,EAIhB/qF,KAAKyhJ,uBAAuB3vG,EAAMi5C,IAInCA,GAaXu2D,WAAY,SAAUxvG,EAAM8uG,EAAML,GAE9B,IAAIv1D,EAAK,EACL81D,EAAsBP,EAAaG,iBAyCvC,OAvCI5uG,EAAKwX,SAAW,IAAMxX,EAAK0sG,QAAQp6E,IAAMw8E,EAAKc,aAAe5vG,EAAKglG,eAAe1yE,GAG7Ew8E,EAAKQ,YAAetvG,EAAK9tC,EAAI88I,EAAuBF,EAAKtqH,SAEzD00D,EAAMl5C,EAAK9tC,EAAI88I,EAAuBF,EAAKtqH,SAEjCt2B,KAAKsgJ,YAEXt1D,EAAK,GAIRl5C,EAAKwX,SAAW,IAAMxX,EAAK0sG,QAAQpwF,MAAQwyF,EAAKe,WAAa7vG,EAAKglG,eAAe1oF,MAGlFwyF,EAAKO,SAAYrvG,EAAKxb,OAASwqH,EAAuBF,EAAKvqH,MAE3D20D,EAAMl5C,EAAKxb,OAASwqH,EAAuBF,EAAKvqH,KAEvCr2B,KAAKsgJ,YAEVt1D,EAAK,GAKN,IAAPA,IAEIl5C,EAAKuqG,gBAELvqG,EAAKiqG,SAAW/wD,EAIhBhrF,KAAK4hJ,uBAAuB9vG,EAAMk5C,IAInCA,GAWXy2D,uBAAwB,SAAU3vG,EAAM/tC,GAEhCA,EAAI,GAEJ+tC,EAAK0sG,QAAQ7qH,MAAO,EACpBme,EAAK0sG,QAAQpE,MAAO,GAEfr2I,EAAI,IAET+tC,EAAK0sG,QAAQ9qH,OAAQ,EACrBoe,EAAK0sG,QAAQpE,MAAO,GAGxBtoG,EAAKlxC,SAASmD,GAAKA,EAEG,IAAlB+tC,EAAK0pG,OAAOz3I,EAEZ+tC,EAAKmmG,SAASl0I,EAAI,EAIlB+tC,EAAKmmG,SAASl0I,GAAK+tC,EAAKmmG,SAASl0I,EAAI+tC,EAAK0pG,OAAOz3I,GAYzD69I,uBAAwB,SAAU9vG,EAAM9tC,GAEhCA,EAAI,GAEJ8tC,EAAK0sG,QAAQp6E,IAAK,EAClBtyB,EAAK0sG,QAAQpE,MAAO,GAEfp2I,EAAI,IAET8tC,EAAK0sG,QAAQpwF,MAAO,EACpBtc,EAAK0sG,QAAQpE,MAAO,GAGxBtoG,EAAKlxC,SAASoD,GAAKA,EAEG,IAAlB8tC,EAAK0pG,OAAOx3I,EAEZ8tC,EAAKmmG,SAASj0I,EAAI,EAIlB8tC,EAAKmmG,SAASj0I,GAAK8tC,EAAKmmG,SAASj0I,EAAI8tC,EAAK0pG,OAAOx3I,IAO7DxC,EAAOgwB,MAAM4C,eAAe5yB,EAAO6wC,QAAQ2iC,OAAO1yE,UAAWd,EAAO6wC,QAAQ2iC,OAAOqrE,iBAAiB/9I,WAuBpGd,EAAOqgJ,gBAAkB,SAAU7vH,EAAM8vH,EAAUlkJ,EAAOC,EAAQ8hH,EAAQC,EAAS9pB,SAEjEvvF,IAAV3I,GAAuBA,GAAS,KAAKA,EAAQ,UAClC2I,IAAX1I,GAAwBA,GAAU,KAAKA,EAAS,SACrC0I,IAAXo5G,IAAwBA,EAAS,QACrBp5G,IAAZq5G,IAAyBA,EAAU,GAMvC5/G,KAAKgyB,KAAOA,EAOZhyB,KAAK8hJ,SAAsB,EAAXA,EAOhB9hJ,KAAK+hJ,WAAqB,EAARnkJ,EAOlBoC,KAAKgiJ,YAAuB,EAATnkJ,EASnBmC,KAAKiiJ,YAAuB,EAATtiC,EAQnB3/G,KAAKkiJ,aAAyB,EAAVtiC,EAMpB5/G,KAAK81F,WAAaA,MAQlB91F,KAAKktH,UAQLltH,KAAK24C,MAAQ,GAGjBn3C,EAAOqgJ,gBAAgBv/I,WASnB6/I,mBAAoB,SAAUC,GAE1B,OACIA,GAAcpiJ,KAAK8hJ,UACnBM,EAAcpiJ,KAAK8hJ,SAAW9hJ,KAAK24C,OAW3CojC,SAAU,SAAUsmE,EAAKnoI,GAErBla,KAAKktH,OAAOplH,MAAOu6I,IAAKA,EAAKnoI,MAAOA,IACpCla,KAAK24C,UAKbn3C,EAAOqgJ,gBAAgBv/I,UAAUC,YAAcf,EAAOqgJ,gBAoBtDrgJ,EAAO8gJ,KAAO,SAAUrR,EAAOroI,EAAO7E,EAAGC,EAAGpG,EAAOC,GAK/CmC,KAAKixI,MAAQA,EAKbjxI,KAAK4I,MAAQA,EAKb5I,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKgB,SAAW,EAKhBhB,KAAKuiJ,SAAU,EAKfviJ,KAAK8pI,OAAS/lI,EAAInG,EAKlBoC,KAAK+pI,OAAS/lI,EAAInG,EAKlBmC,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAK63B,QAAUn0B,KAAKizB,IAAI/4B,EAAQ,GAKhCoC,KAAK83B,QAAUp0B,KAAKizB,IAAI94B,EAAS,GAKjCmC,KAAKiB,MAAQ,EAKbjB,KAAK81F,cAKL91F,KAAKwiJ,SAAU,EAKfxiJ,KAAKmhJ,SAAU,EAKfnhJ,KAAKohJ,YAAa,EAKlBphJ,KAAKihJ,UAAW,EAKhBjhJ,KAAKkhJ,WAAY,EAMjBlhJ,KAAKwhJ,aAAc,EAMnBxhJ,KAAKuhJ,cAAe,EAMpBvhJ,KAAK2hJ,WAAY,EAMjB3hJ,KAAK0hJ,aAAc,EAMnB1hJ,KAAK+gJ,kBAAoB,KAMzB/gJ,KAAKghJ,yBAA2BhhJ,KAMhCA,KAAK8pC,OAAQ,GAGjBtoC,EAAO8gJ,KAAKhgJ,WAURg/B,cAAe,SAAUv9B,EAAGC,GAExB,QAASD,EAAI/D,KAAK8pI,QAAU9lI,EAAIhE,KAAK+pI,QAAUhmI,EAAI/D,KAAK0zB,OAAS1vB,EAAIhE,KAAKs2B,SAY9EE,WAAY,SAAUzyB,EAAGC,EAAG0vB,EAAO4C,GAE/B,QAAI5C,GAAS1zB,KAAK8pI,YAKdxzG,GAAUt2B,KAAK+pI,YAKfhmI,GAAK/D,KAAK8pI,OAAS9pI,KAAKpC,UAKxBoG,GAAKhE,KAAK+pI,OAAS/pI,KAAKnC,WAgBhC4kJ,qBAAsB,SAAU9tG,EAAU7mC,GAEtC9N,KAAK+gJ,kBAAoBpsG,EACzB30C,KAAKghJ,yBAA2BlzI,GAQpCtL,QAAS,WAELxC,KAAK+gJ,kBAAoB,KACzB/gJ,KAAKghJ,yBAA2B,KAChChhJ,KAAK81F,WAAa,MAYtB4sD,aAAc,SAAU/uH,EAAMD,EAAO0wC,EAAIhW,GAErCpuD,KAAKwhJ,YAAc7tH,EACnB3zB,KAAKuhJ,aAAe7tH,EACpB1zB,KAAK2hJ,UAAYv9E,EACjBpkE,KAAK0hJ,YAActzF,EAEnBpuD,KAAKihJ,SAAWttH,EAChB3zB,KAAKkhJ,UAAYxtH,EACjB1zB,KAAKmhJ,QAAU/8E,EACfpkE,KAAKohJ,WAAahzF,GAQtBu0F,eAAgB,WAEZ3iJ,KAAKwhJ,aAAc,EACnBxhJ,KAAKuhJ,cAAe,EACpBvhJ,KAAK2hJ,WAAY,EACjB3hJ,KAAK0hJ,aAAc,EAEnB1hJ,KAAKmhJ,SAAU,EACfnhJ,KAAKohJ,YAAa,EAClBphJ,KAAKihJ,UAAW,EAChBjhJ,KAAKkhJ,WAAY,GAWrB0B,cAAe,SAAUC,EAAUC,GAE/B,OAAID,GAAYC,EAGJ9iJ,KAAKwhJ,aAAexhJ,KAAKuhJ,cAAgBvhJ,KAAK2hJ,WAAa3hJ,KAAK0hJ,aAAe1hJ,KAAKmhJ,SAAWnhJ,KAAKohJ,YAAcphJ,KAAKihJ,UAAYjhJ,KAAKkhJ,WAAalhJ,KAAK+gJ,kBAE7J8B,EAGG7iJ,KAAKwhJ,aAAexhJ,KAAKuhJ,cAAgBvhJ,KAAK2hJ,WAAa3hJ,KAAK0hJ,cAEnEoB,IAGG9iJ,KAAKmhJ,SAAWnhJ,KAAKohJ,YAAcphJ,KAAKihJ,UAAYjhJ,KAAKkhJ,YAYzEltH,KAAM,SAAU4sH,GAEZ5gJ,KAAK4I,MAAQg4I,EAAKh4I,MAClB5I,KAAKiB,MAAQ2/I,EAAK3/I,MAClBjB,KAAK81F,WAAa8qD,EAAK9qD,WAEvB91F,KAAK2hJ,UAAYf,EAAKe,UACtB3hJ,KAAK0hJ,YAAcd,EAAKc,YACxB1hJ,KAAKwhJ,YAAcZ,EAAKY,YACxBxhJ,KAAKuhJ,aAAeX,EAAKW,aAEzBvhJ,KAAK+gJ,kBAAoBH,EAAKG,kBAC9B/gJ,KAAKghJ,yBAA2BJ,EAAKI,2BAK7Cx/I,EAAO8gJ,KAAKhgJ,UAAUC,YAAcf,EAAO8gJ,KAO3Ct7I,OAAOyF,eAAejL,EAAO8gJ,KAAKhgJ,UAAW,YAEzC4E,IAAK,WAED,OAAQlH,KAAKwhJ,aAAexhJ,KAAKuhJ,cAAgBvhJ,KAAK2hJ,WAAa3hJ,KAAK0hJ,eAUhF16I,OAAOyF,eAAejL,EAAO8gJ,KAAKhgJ,UAAW,cAEzC4E,IAAK,WAED,OAAQlH,KAAKwhJ,aAAexhJ,KAAKuhJ,cAAgBvhJ,KAAK2hJ,WAAa3hJ,KAAK0hJ,aAAe1hJ,KAAK+gJ,qBAUpG/5I,OAAOyF,eAAejL,EAAO8gJ,KAAKhgJ,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAK8pI,UAUpB9iI,OAAOyF,eAAejL,EAAO8gJ,KAAKhgJ,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAK8pI,OAAS9pI,KAAKpC,SAUlCoJ,OAAOyF,eAAejL,EAAO8gJ,KAAKhgJ,UAAW,OAEzC4E,IAAK,WAED,OAAOlH,KAAK+pI,UAUpB/iI,OAAOyF,eAAejL,EAAO8gJ,KAAKhgJ,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAK+pI,OAAS/pI,KAAKnC,UAgClC2D,EAAOuwE,QAAU,SAAUhvE,EAAMiQ,EAAK+iE,EAAWC,EAAYp4E,EAAOC,GAKhEmC,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAEX,IAAIoB,EAAO5S,EAAOuhJ,cAAcvkH,MAAMx+B,KAAK+C,KAAMiQ,EAAK+iE,EAAWC,EAAYp4E,EAAOC,GAEvE,OAATuW,IAQJpU,KAAKpC,MAAQwW,EAAKxW,MAKlBoC,KAAKnC,OAASuW,EAAKvW,OAKnBmC,KAAK+1E,UAAY3hE,EAAK2hE,UAKtB/1E,KAAKg2E,WAAa5hE,EAAK4hE,WAKvBh2E,KAAKkkI,YAAc9vH,EAAK8vH,YAKxBlkI,KAAKyU,OAASL,EAAKK,OAKnBzU,KAAKgjJ,QAAU5uI,EAAK4uI,QAKpBhjJ,KAAK81F,WAAa1hF,EAAK0hF,WAKvB91F,KAAKijJ,cAAgB7uI,EAAK6uI,cAK1BjjJ,KAAKkjJ,eAAiB9uI,EAAK8uI,eAK3BljJ,KAAK2gH,OAASvsG,EAAKusG,OAKnB3gH,KAAKmjJ,SAAW/uI,EAAK+uI,SAKrBnjJ,KAAKojJ,iBAAmBhvI,EAAKgvI,iBAK7BpjJ,KAAK8gH,MAAQ1sG,EAAK0sG,MAKlB9gH,KAAKyvG,QAAUr7F,EAAKq7F,QAKpBzvG,KAAKqjJ,kBAKLrjJ,KAAKsjJ,UAAYlvI,EAAKkvI,UAKtBtjJ,KAAKktH,OAAS94G,EAAK84G,OAKnBltH,KAAK28C,aAAc,EAKnB38C,KAAKujJ,aAAe,EAKpBvjJ,KAAKwjJ,YAMLxjJ,KAAKyjJ,YAMLzjJ,KAAK0jJ,OAAS,EAMd1jJ,KAAKk7E,OAAS,IAOlB15E,EAAOuwE,QAAQ87C,IAAM,EAMrBrsH,EAAOuwE,QAAQ+7C,WAAa,EAM5BtsH,EAAOuwE,QAAQ4xE,MAAQ,EAMvBniJ,EAAOuwE,QAAQ6xE,KAAO,EAMtBpiJ,EAAOuwE,QAAQ8xE,MAAQ,EAMvBriJ,EAAOuwE,QAAQ+xE,KAAO,EAEtBtiJ,EAAOuwE,QAAQzvE,WAcXkG,OAAQ,SAAUwpB,EAAMp0B,EAAOC,EAAQk4E,EAAWC,EAAY97B,GAW1D,YATc3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAK+C,KAAKE,OAE7CjD,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAK+jJ,YAAYhuE,EAAWC,GAE5Bh2E,KAAK2gH,OAAOh+G,OAAS,EAEd3C,KAAKgkJ,iBAAiBhyH,EAAMp0B,EAAOC,EAAQk4E,EAAWC,EAAY97B,IAU7E6pG,YAAa,SAAUhuE,EAAWC,GAE9Bh2E,KAAK+1E,UAAYA,EACjB/1E,KAAKg2E,WAAaA,EAClBh2E,KAAKijJ,cAAgBjjJ,KAAKpC,MAAQm4E,EAClC/1E,KAAKkjJ,eAAiBljJ,KAAKnC,OAASm4E,GAmBxCiuE,gBAAiB,SAAUC,EAASlxI,EAAK+iE,EAAWC,EAAYmuE,EAAYC,EAAa/B,GAErF,QAAgB97I,IAAZ29I,EAAyB,OAAO,UAClB39I,IAAdwvE,IAA2BA,EAAY/1E,KAAK+1E,gBAC7BxvE,IAAfyvE,IAA4BA,EAAah2E,KAAKg2E,iBAC/BzvE,IAAf49I,IAA4BA,EAAa,QACzB59I,IAAhB69I,IAA6BA,EAAc,QACnC79I,IAAR87I,IAAqBA,EAAM,GAGb,IAAdtsE,IAEAA,EAAY,IAGG,IAAfC,IAEAA,EAAa,IAGjB,IAAI/D,EAAM,KAOV,QALY1rE,IAARyM,GAA6B,OAARA,IAErBA,EAAMkxI,GAGNlxI,aAAexR,EAAOkwE,WAEtBO,EAAMj/D,EAAIkE,WAGd,CACI,IAAKlX,KAAK+C,KAAKiX,MAAMu+E,cAAcvlF,GAG/B,OADA1S,QAAQ+Z,KAAK,6DAA+DrH,EAAM,KAC3E,KAGXi/D,EAAMjyE,KAAK+C,KAAKiX,MAAMk4D,SAASl/D,GAGnC,IAAIsjF,EAAMt2F,KAAKqkJ,gBAAgBH,GAE/B,GAAY,OAAR5tD,GAAgBt2F,KAAKyU,SAAWjT,EAAOuwE,QAAQ+7C,WAI/C,OAFAxtH,QAAQ+Z,KAAK,yFAA2F6pI,EAAU,KAClH5jJ,QAAQ+P,IAAI,aAAcrQ,KAAKmjJ,UACxB,KAGX,GAAInjJ,KAAKmjJ,SAAS7sD,GAGd,OADAt2F,KAAKmjJ,SAAS7sD,GAAKguD,SAASryE,GACrBjyE,KAAKmjJ,SAAS7sD,GAIrB,IAAIiuD,EAAS,IAAI/iJ,EAAOgjJ,QAAQN,EAAS7B,EAAKtsE,EAAWC,EAAYmuE,EAAYC,MAEjFG,EAAOD,SAASryE,GAEhBjyE,KAAKmjJ,SAASr7I,KAAKy8I,GAUnB,IAAK,IARD7hJ,EAAI1C,KAAKmjJ,SAASxgJ,OAAS,EAC3BoB,EAAIogJ,EACJngJ,EAAImgJ,EAEJ5lI,EAAQ,EACRkmI,EAAS,EACTC,EAAS,EAEJ7zH,EAAIwxH,EAAKxxH,EAAIwxH,EAAMkC,EAAO5rG,QAE/B34C,KAAK8gH,MAAMjwF,IAAO9sB,EAAGC,EAAGtB,GAExBqB,GAAKgyE,EAAYquE,IAEjB7lI,IAEcgmI,EAAO5rG,WAKrB8rG,IAEeF,EAAOI,UAElB5gJ,EAAIogJ,EACJngJ,GAAKgyE,EAAaouE,EAElBK,EAAS,IACTC,IAEeH,EAAOK,OAvBY/zH,KA8B1C,OAAO0zH,GA4BfM,kBAAmB,SAAU7yH,EAAMqwH,EAAKrvI,EAAK3F,EAAOH,EAAQq+D,EAAUrxB,EAAO4qG,EAAaC,EAASC,GAS/F,QAPez+I,IAAX2G,IAAwBA,GAAS,QACpB3G,IAAbglE,IAA0BA,GAAW,QAC3BhlE,IAAV2zC,IAAuBA,EAAQl6C,KAAK+C,KAAKE,YACzBsD,IAAhBu+I,IAA6BA,EAActjJ,EAAOsE,aACtCS,IAAZw+I,IAAyBA,GAAU,QACpBx+I,IAAfy+I,IAA4BA,GAAa,IAExChlJ,KAAKyvG,QAAQz9E,GAId,OAFA1xB,QAAQ+Z,KAAK,8DAAgE2X,QAC7E1xB,QAAQ+P,IAAI,YAAarQ,KAAKyvG,SAIlC,IAAK,IAAI/sG,EAAI,EAAGA,EAAI1C,KAAKyvG,QAAQz9E,GAAMrvB,OAAQD,IAC/C,CACI,IAAIuiJ,GAAQ,EACRlzH,EAAM/xB,KAAKyvG,QAAQz9E,GAAMtvB,GAe7B,QAbgB6D,IAAZwrB,EAAIswH,KAAoC,iBAARA,GAAoBtwH,EAAIswH,MAAQA,EAEhE4C,GAAQ,OAEQ1+I,IAAXwrB,EAAI7d,IAAmC,iBAARmuI,GAAoBtwH,EAAI7d,KAAOmuI,EAEnE4C,GAAQ,OAEU1+I,IAAbwrB,EAAIC,MAAqC,iBAARqwH,GAAoBtwH,EAAIC,OAASqwH,IAEvE4C,GAAQ,GAGRA,EACJ,CACI,IAAI3hI,EAAS,IAAIwhI,EAAY9kJ,KAAK+C,KAAM47B,WAAW5M,EAAIhuB,GAAI46B,WAAW5M,EAAI/tB,GAAIgP,EAAK3F,GAEnFiW,EAAO0O,KAAOD,EAAIC,KAClB1O,EAAOioD,SAAWA,EAClBjoD,EAAOpW,OAASA,EAChBoW,EAAOpiB,QAAU6wB,EAAI7wB,QAEjB8jJ,IAEIjzH,EAAIn0B,QAEJ0lB,EAAO1lB,MAAQm0B,EAAIn0B,OAGnBm0B,EAAIl0B,SAEJylB,EAAOzlB,OAASk0B,EAAIl0B,SAIxBk0B,EAAI/wB,WAEJsiB,EAAOsS,MAAQ7D,EAAI/wB,UAGnB+jJ,IAEAzhI,EAAOtf,GAAKsf,EAAOzlB,QAGvBq8C,EAAMjhB,IAAI3V,GAEV,IAAK,IAAIqzB,KAAY5kB,EAAI+jE,WAErB57C,EAAM/yC,IAAImc,EAAQqzB,EAAU5kB,EAAI+jE,WAAWn/C,IAAW,GAAO,EAAO,GAAG,MAqBvFuuG,gBAAiB,SAAUpkC,EAAOqkC,EAAcnyI,EAAKi+H,EAAO/2F,EAAO47C,GAE1C,iBAAVgrB,IAAsBA,GAAUA,SAEtBv6G,IAAjB4+I,GAA+C,OAAjBA,EAE9BA,KAE6B,iBAAjBA,IAEZA,GAAiBA,IAGrBlU,EAAQjxI,KAAKolJ,SAASnU,QAER1qI,IAAV2zC,IAAuBA,EAAQl6C,KAAK+C,KAAKE,YAC1BsD,IAAfuvF,IAA4BA,WAEDvvF,IAA3BuvF,EAAWuvD,cAEXvvD,EAAWuvD,YAAc7jJ,EAAOsE,aAGTS,IAAvBuvF,EAAWivD,UAEXjvD,EAAWivD,SAAU,GAGzB,IAAIO,EAAKtlJ,KAAK2gH,OAAOswB,GAAOrzI,MACxB2nJ,EAAKvlJ,KAAK2gH,OAAOswB,GAAOpzI,OAI5B,GAFAmC,KAAKg0B,KAAK,EAAG,EAAGsxH,EAAIC,EAAItU,GAEpBjxI,KAAKyjJ,SAAS9gJ,OAAS,EAEvB,OAAO,EAMX,IAAK,IAFD2gB,EADAq1B,EAAQ,EAGHj2C,EAAI,EAAGouB,EAAM9wB,KAAKyjJ,SAAS9gJ,OAAQD,EAAIouB,EAAKpuB,IAEjD,IAA+C,IAA3Co+G,EAAMz3G,QAAQrJ,KAAKyjJ,SAAS/gJ,GAAGkG,OACnC,CACI0a,EAAS,IAAIwyE,EAAWuvD,YAAYrlJ,KAAK+C,KAAM/C,KAAKyjJ,SAAS/gJ,GAAGonI,OAAQ9pI,KAAKyjJ,SAAS/gJ,GAAGqnI,OAAQ/2H,GAEjG,IAAK,IAAI2jC,KAAYm/C,EAEjBxyE,EAAOqzB,GAAYm/C,EAAWn/C,GAGlCuD,EAAMjhB,IAAI3V,GACVq1B,IAIR,GAA4B,IAAxBwsG,EAAaxiJ,OAGb,IAAKD,EAAI,EAAGA,EAAIo+G,EAAMn+G,OAAQD,IAE1B1C,KAAKs0B,QAAQwsF,EAAMp+G,GAAIyiJ,EAAa,GAAI,EAAG,EAAGG,EAAIC,EAAItU,QAGzD,GAAIkU,EAAaxiJ,OAAS,EAG3B,IAAKD,EAAI,EAAGA,EAAIo+G,EAAMn+G,OAAQD,IAE1B1C,KAAKs0B,QAAQwsF,EAAMp+G,GAAIyiJ,EAAaziJ,GAAI,EAAG,EAAG4iJ,EAAIC,EAAItU,GAI9D,OAAOt4F,GAgBX6sG,YAAa,SAAUvU,EAAOrzI,EAAOC,EAAQq8C,QAI3B3zC,IAAV3I,IAAuBA,EAAQoC,KAAK+C,KAAKnF,YAC9B2I,IAAX1I,IAAwBA,EAASmC,KAAK+C,KAAKlF,aACjC0I,IAAV2zC,IAAuBA,EAAQl6C,KAAK+C,KAAKE,OAE7C,IAAI2F,EAAQqoI,EAOZ,GALqB,iBAAVA,IAEProI,EAAQ5I,KAAKylJ,cAAcxU,IAGjB,OAAVroI,GAAkBA,EAAQ5I,KAAK2gH,OAAOh+G,OAItC,OAFArC,QAAQ+Z,KAAK,iDAAmD42H,EAAQ,UACxE3wI,QAAQ+P,IAAI,WAAYrQ,KAAK2gH,aAMnBp6G,IAAV3I,GAAuBA,GAAS,EAEhCA,EAAQ8F,KAAK41B,IAAIt5B,KAAK+C,KAAKnF,MAAOoC,KAAK2gH,OAAO/3G,GAAOq6I,eAEhDrlJ,EAAQoC,KAAK+C,KAAKnF,QAEvBA,EAAQoC,KAAK+C,KAAKnF,YAGP2I,IAAX1I,GAAwBA,GAAU,EAElCA,EAAS6F,KAAK41B,IAAIt5B,KAAK+C,KAAKlF,OAAQmC,KAAK2gH,OAAO/3G,GAAOs6I,gBAElDrlJ,EAASmC,KAAK+C,KAAKlF,SAExBA,EAASmC,KAAK+C,KAAKlF,QAGnBmC,KAAK28C,cAELr8C,QAAQ45C,MAAM,uBACd55C,QAAQ+P,IAAI,QAASrQ,KAAK2gH,OAAO/3G,GAAOopB,MACxC1xB,QAAQ+P,IAAI,QAASzS,EAAO,IAAKC,GACjCyC,QAAQ+P,IAAI,WAAYrQ,KAAKmjJ,SAAS,GAAGnxH,KAAM,SAAUppB,IAG7D,IAAI88I,EAAYxrG,EAAMjhB,IAAI,IAAIz3B,EAAOwwE,aAAahyE,KAAK+C,KAAM/C,KAAM4I,EAAOhL,EAAOC,IAOjF,OALImC,KAAK28C,aAELr8C,QAAQqlJ,WAGLD,GAgBX1B,iBAAkB,SAAUhyH,EAAMp0B,EAAOC,EAAQk4E,EAAWC,EAAY97B,QAEtD3zC,IAAV2zC,IAAuBA,EAAQl6C,KAAK+C,KAAKE,OAE7C,CAAA,GAAiC,OAA7BjD,KAAKylJ,cAAczzH,GAAvB,CA4BA,IAAK,IAHD8tF,EAnBAmxB,GAEAj/G,KAAMA,EACNjuB,EAAG,EACHC,EAAG,EACHpG,MAAOA,EACPC,OAAQA,EACRolJ,cAAerlJ,EAAQm4E,EACvBmtE,eAAgBrlJ,EAASm4E,EACzB/0E,MAAO,EACPC,SAAS,EACT40F,cACA8vD,WACAxqF,aACAyqF,UACAzxI,KAAM,MAKNshB,KAEK1xB,EAAI,EAAGA,EAAInG,EAAQmG,IAC5B,CACI87G,KAEA,IAAK,IAAI/7G,EAAI,EAAGA,EAAInG,EAAOmG,IAEvB+7G,EAAIh4G,KAAK,IAAItG,EAAO8gJ,KAAKrR,GAAQ,EAAGltI,EAAGC,EAAG+xE,EAAWC,IAGzDtgD,EAAO5tB,KAAKg4G,GAGhBmxB,EAAM78H,KAAOshB,EAEb11B,KAAK2gH,OAAO74G,KAAKmpI,GAEjBjxI,KAAKujJ,aAAevjJ,KAAK2gH,OAAOh+G,OAAS,EAEzC,IAAI0S,EAAI47H,EAAMgS,cACV1+H,EAAI0sH,EAAMiS,eAed,OAbI7tI,EAAIrV,KAAK+C,KAAKnF,QAEdyX,EAAIrV,KAAK+C,KAAKnF,OAGd2mB,EAAIvkB,KAAK+C,KAAKlF,SAEd0mB,EAAIvkB,KAAK+C,KAAKlF,SAGd63B,EAAS,IAAIl0B,EAAOwwE,aAAahyE,KAAK+C,KAAM/C,KAAMA,KAAK2gH,OAAOh+G,OAAS,EAAG0S,EAAGkP,IAC1EyN,KAAOA,EAEPkoB,EAAMjhB,IAAIvD,GA5Dbp1B,QAAQ+Z,KAAK,sEAAwE2X,KAwE7FwjB,SAAU,SAAU46D,EAAUp+E,GAE1B,IAAK,IAAItvB,EAAI,EAAGA,EAAI0tG,EAASztG,OAAQD,IAEjC,GAAI0tG,EAAS1tG,GAAGsvB,OAASA,EAErB,OAAOtvB,EAIf,OAAO,MAUX+iJ,cAAe,SAAUzzH,GAErB,OAAOhyB,KAAKw1C,SAASx1C,KAAK2gH,OAAQ3uF,IAUtCqyH,gBAAiB,SAAUryH,GAEvB,OAAOhyB,KAAKw1C,SAASx1C,KAAKmjJ,SAAUnxH,IAUxC8zH,cAAe,SAAU9zH,GAErB,OAAOhyB,KAAKw1C,SAASx1C,KAAKktH,OAAQl7F,IAgBtC+zH,qBAAsB,SAAUH,EAASjxG,EAAU1L,EAAiBgoG,GAIhE,GAFAA,EAAQjxI,KAAKolJ,SAASnU,GAEC,iBAAZ2U,EAEU,OAAbjxG,SAEO30C,KAAK2gH,OAAOswB,GAAO71E,UAAUwqF,GAQpC5lJ,KAAK2gH,OAAOswB,GAAO71E,UAAUwqF,IAAajxG,SAAUA,EAAU1L,gBAAiBA,QAKnF,IAAK,IAAIvmC,EAAI,EAAGouB,EAAM80H,EAAQjjJ,OAAQD,EAAIouB,EAAKpuB,IAE1B,OAAbiyC,SAEO30C,KAAK2gH,OAAOswB,GAAO71E,UAAUwqF,EAAQljJ,IAI5C1C,KAAK2gH,OAAOswB,GAAO71E,UAAUwqF,EAAQljJ,KAAQiyC,SAAUA,EAAU1L,gBAAiBA,IAsBlG+8G,wBAAyB,SAAUjiJ,EAAGC,EAAGpG,EAAOC,EAAQ82C,EAAU1L,EAAiBgoG,GAM/E,GAJAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,KAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,GAK3B,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAKyjJ,SAAS9gJ,OAAQD,IAEtC1C,KAAKyjJ,SAAS/gJ,GAAG+/I,qBAAqB9tG,EAAU1L,IAkBxDy5G,aAAc,SAAUkD,EAAS/C,EAAU5R,EAAOgV,GAO9C,QALiB1/I,IAAbs8I,IAA0BA,GAAW,QACrBt8I,IAAhB0/I,IAA6BA,GAAc,GAE/ChV,EAAQjxI,KAAKolJ,SAASnU,GAEC,iBAAZ2U,EAEP,OAAO5lJ,KAAKkmJ,oBAAoBN,EAAS/C,EAAU5R,GAAO,GAEzD,GAAIxpI,MAAMC,QAAQk+I,GACvB,CAEI,IAAK,IAAIljJ,EAAI,EAAGA,EAAIkjJ,EAAQjjJ,OAAQD,IAEhC1C,KAAKkmJ,oBAAoBN,EAAQljJ,GAAImgJ,EAAU5R,GAAO,GAGtDgV,GAGAjmJ,KAAKmmJ,eAAelV,KAiBhCmV,oBAAqB,SAAU95I,EAAOH,EAAM02I,EAAU5R,EAAOgV,GAOzD,QALiB1/I,IAAbs8I,IAA0BA,GAAW,QACrBt8I,IAAhB0/I,IAA6BA,GAAc,GAE/ChV,EAAQjxI,KAAKolJ,SAASnU,KAElB3kI,EAAQH,GAAZ,CAKA,IAAK,IAAIvD,EAAQ0D,EAAO1D,GAASuD,EAAMvD,IAEnC5I,KAAKkmJ,oBAAoBt9I,EAAOi6I,EAAU5R,GAAO,GAGjDgV,GAGAjmJ,KAAKmmJ,eAAelV,KAc5BoV,wBAAyB,SAAUT,EAAS/C,EAAU5R,EAAOgV,QAExC1/I,IAAbs8I,IAA0BA,GAAW,QACrBt8I,IAAhB0/I,IAA6BA,GAAc,GAE/ChV,EAAQjxI,KAAKolJ,SAASnU,GAGtB,IAAK,IAAIvuI,EAAI,EAAGouB,EAAM9wB,KAAK8gH,MAAMn+G,OAAQD,EAAIouB,EAAKpuB,KAElB,IAAxBkjJ,EAAQv8I,QAAQ3G,IAEhB1C,KAAKkmJ,oBAAoBxjJ,EAAGmgJ,EAAU5R,GAAO,GAIjDgV,GAGAjmJ,KAAKmmJ,eAAelV,IAe5BiV,oBAAqB,SAAUt9I,EAAOi6I,EAAU5R,EAAOgV,GAMnD,QAJiB1/I,IAAbs8I,IAA0BA,GAAW,QAC3Bt8I,IAAV0qI,IAAuBA,EAAQjxI,KAAKujJ,mBACpBh9I,IAAhB0/I,IAA6BA,GAAc,GAE3CpD,EAEA7iJ,KAAKqjJ,eAAev7I,KAAKc,OAG7B,CACI,IAAIlG,EAAI1C,KAAKqjJ,eAAeh6I,QAAQT,GAEhClG,GAAK,GAEL1C,KAAKqjJ,eAAev6I,OAAOpG,EAAG,GAItC,IAAK,IAAIsB,EAAI,EAAGA,EAAIhE,KAAK2gH,OAAOswB,GAAOpzI,OAAQmG,IAE3C,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAK2gH,OAAOswB,GAAOrzI,MAAOmG,IAC9C,CACI,IAAI68I,EAAO5gJ,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAElC68I,GAAQA,EAAKh4I,QAAUA,IAEnBi6I,EAEAjC,EAAK8B,cAAa,GAAM,GAAM,GAAM,GAIpC9B,EAAK+B,iBAGT/B,EAAKO,QAAU0B,EACfjC,EAAKQ,WAAayB,EAClBjC,EAAKK,SAAW4B,EAChBjC,EAAKM,UAAY2B,GAW7B,OANIoD,GAGAjmJ,KAAKmmJ,eAAelV,GAGjBA,GAWXmU,SAAU,SAAUnU,GAEhB,QAAc1qI,IAAV0qI,EAEAA,EAAQjxI,KAAKujJ,kBAEZ,GAAqB,iBAAVtS,EAChB,CACI,IAAIqV,EAAWrV,EAID,QAFdA,EAAQjxI,KAAKylJ,cAAcxU,KAIvB3wI,QAAQ+Z,KAAK,uBAAyBisI,QAGrCrV,aAAiBzvI,EAAOwwE,eAE7Bi/D,EAAQA,EAAMroI,OAGlB,OAAOqoI,GAUXsV,sBAAuB,SAAUn/I,GAQ7B,IANc,IAAVA,IAAiD,IAA/BpH,KAAKwmJ,wBAEvBxmJ,KAAKwmJ,uBAAwB,EAC7BxmJ,KAAKymJ,uBAGK,IAAVr/I,IAAkD,IAA/BpH,KAAKwmJ,sBAC5B,CACIxmJ,KAAKwmJ,uBAAwB,EAE7B,IAAK,IAAI9jJ,KAAK1C,KAAKymJ,kBAEfzmJ,KAAKmmJ,eAAezjJ,GAGxB1C,KAAKymJ,mBAAoB,IAWjCN,eAAgB,SAAUlV,GAEtB,GAAIjxI,KAAKwmJ,sBAELxmJ,KAAKymJ,kBAAkBxV,IAAS,OASpC,IAAK,IALDyV,EAAQ,KACRC,EAAQ,KACRhzH,EAAO,KACPD,EAAQ,KAEH1vB,EAAI,EAAGugB,EAAIvkB,KAAK2gH,OAAOswB,GAAOpzI,OAAQmG,EAAIugB,EAAGvgB,IAElD,IAAK,IAAID,EAAI,EAAGsR,EAAIrV,KAAK2gH,OAAOswB,GAAOrzI,MAAOmG,EAAIsR,EAAGtR,IACrD,CACI,IAAI68I,EAAO5gJ,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAElC68I,IAEA8F,EAAQ1mJ,KAAK4mJ,aAAa3V,EAAOltI,EAAGC,GACpC2iJ,EAAQ3mJ,KAAK6mJ,aAAa5V,EAAOltI,EAAGC,GACpC2vB,EAAO3zB,KAAK8mJ,YAAY7V,EAAOltI,EAAGC,GAClC0vB,EAAQ1zB,KAAK+mJ,aAAa9V,EAAOltI,EAAGC,GAEhC48I,EAAKiC,WAELjC,EAAKO,SAAU,EACfP,EAAKQ,YAAa,EAClBR,EAAKK,UAAW,EAChBL,EAAKM,WAAY,GAGjBwF,GAASA,EAAM7D,WAGfjC,EAAKO,SAAU,GAGfwF,GAASA,EAAM9D,WAGfjC,EAAKQ,YAAa,GAGlBztH,GAAQA,EAAKkvH,WAGbjC,EAAKK,UAAW,GAGhBvtH,GAASA,EAAMmvH,WAGfjC,EAAKM,WAAY,MAgBrC0F,aAAc,SAAU3V,EAAOltI,EAAGC,GAE9B,OAAIA,EAAI,EAEGhE,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,EAAI,GAAGD,GAGnC,MAYX8iJ,aAAc,SAAU5V,EAAOltI,EAAGC,GAE9B,OAAIA,EAAIhE,KAAK2gH,OAAOswB,GAAOpzI,OAAS,EAEzBmC,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,EAAI,GAAGD,GAGnC,MAYX+iJ,YAAa,SAAU7V,EAAOltI,EAAGC,GAE7B,OAAID,EAAI,EAEG/D,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,EAAI,GAGnC,MAYXgjJ,aAAc,SAAU9V,EAAOltI,EAAGC,GAE9B,OAAID,EAAI/D,KAAK2gH,OAAOswB,GAAOrzI,MAAQ,EAExBoC,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,EAAI,GAGnC,MASXijJ,SAAU,SAAU/V,GAEhBA,EAAQjxI,KAAKolJ,SAASnU,GAElBjxI,KAAK2gH,OAAOswB,KAEZjxI,KAAKujJ,aAAetS,IAa5BgW,QAAS,SAAUljJ,EAAGC,EAAGitI,GAIrB,OAFAA,EAAQjxI,KAAKolJ,SAASnU,QAEa1qI,IAA/BvG,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,SAAsDuC,IAAlCvG,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,IAKnE/D,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAG6E,OAAS,GAYnDs+I,WAAY,SAAUnjJ,EAAGC,EAAGitI,GAIxB,GAFAA,EAAQjxI,KAAKolJ,SAASnU,GAElBltI,GAAK,GAAKA,EAAI/D,KAAK2gH,OAAOswB,GAAOrzI,OAASoG,GAAK,GAAKA,EAAIhE,KAAK2gH,OAAOswB,GAAOpzI,QAEvEmC,KAAKinJ,QAAQljJ,EAAGC,EAAGitI,GACvB,CACI,IAAI2P,EAAO5gJ,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAQtC,OANA/D,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAO8gJ,KAAKtiJ,KAAK2gH,OAAOswB,IAAS,EAAGltI,EAAGC,EAAGhE,KAAK+1E,UAAW/1E,KAAKg2E,YAEnGh2E,KAAK2gH,OAAOswB,GAAOz/H,OAAQ,EAE3BxR,KAAKmmJ,eAAelV,GAEb2P,IAgBnBuG,kBAAmB,SAAUpjJ,EAAGC,EAAG+xE,EAAWC,EAAYi7D,GAOtD,OALAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBltI,EAAI/D,KAAK+C,KAAKyiC,KAAK+lE,YAAYxnG,EAAGgyE,GAAaA,EAC/C/xE,EAAIhE,KAAK+C,KAAKyiC,KAAK+lE,YAAYvnG,EAAGgyE,GAAcA,EAEzCh2E,KAAKknJ,WAAWnjJ,EAAGC,EAAGitI,IAcjCmW,QAAS,SAAUxG,EAAM78I,EAAGC,EAAGitI,GAE3B,GAAa,OAAT2P,EAEA,OAAO5gJ,KAAKknJ,WAAWnjJ,EAAGC,EAAGitI,GAKjC,GAFAA,EAAQjxI,KAAKolJ,SAASnU,GAElBltI,GAAK,GAAKA,EAAI/D,KAAK2gH,OAAOswB,GAAOrzI,OAASoG,GAAK,GAAKA,EAAIhE,KAAK2gH,OAAOswB,GAAOpzI,OAC/E,CACI,IAAI+K,EA0CJ,OAxCIg4I,aAAgBp/I,EAAO8gJ,MAEvB15I,EAAQg4I,EAAKh4I,MAET5I,KAAKinJ,QAAQljJ,EAAGC,EAAGitI,GAEnBjxI,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAGiwB,KAAK4sH,GAInC5gJ,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAO8gJ,KAAKrR,EAAOroI,EAAO7E,EAAGC,EAAG48I,EAAKhjJ,MAAOgjJ,EAAK/iJ,UAKzF+K,EAAQg4I,EAEJ5gJ,KAAKinJ,QAAQljJ,EAAGC,EAAGitI,GAEnBjxI,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAG6E,MAAQA,EAItC5I,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAO8gJ,KAAKtiJ,KAAK2gH,OAAOswB,GAAQroI,EAAO7E,EAAGC,EAAGhE,KAAK+1E,UAAW/1E,KAAKg2E,aAI1Gh2E,KAAKqjJ,eAAeh6I,QAAQT,IAAU,EAEtC5I,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAG2+I,cAAa,GAAM,GAAM,GAAM,GAI7D1iJ,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAG4+I,iBAGlC3iJ,KAAK2gH,OAAOswB,GAAOz/H,OAAQ,EAE3BxR,KAAKmmJ,eAAelV,GAEbjxI,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAGtC,OAAO,MAeXsjJ,eAAgB,SAAUzG,EAAM78I,EAAGC,EAAG+xE,EAAWC,EAAYi7D,GAOzD,OALAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBltI,EAAI/D,KAAK+C,KAAKyiC,KAAK+lE,YAAYxnG,EAAGgyE,GAAaA,EAC/C/xE,EAAIhE,KAAK+C,KAAKyiC,KAAK+lE,YAAYvnG,EAAGgyE,GAAcA,EAEzCh2E,KAAKonJ,QAAQxG,EAAM78I,EAAGC,EAAGitI,IAmBpCqW,gBAAiB,SAAU1+I,EAAO4c,EAAMlH,EAAS2yH,EAAOsW,QAEvChhJ,IAATif,IAAsBA,EAAO,QACjBjf,IAAZ+X,IAAyBA,GAAU,GAEvC2yH,EAAQjxI,KAAKolJ,SAASnU,GAEtB,IAIInxB,EAAK8gC,EAJLx9I,EAAI,EACJvF,EAASmC,KAAK2gH,OAAOswB,GAAOpzI,OAC5BD,EAAQoC,KAAK2gH,OAAOswB,GAAOrzI,MAC3BwW,EAAOpU,KAAK2gH,OAAOswB,GAAO78H,KAG9B,GAAImzI,EAEA,IAAI3tH,KAGR,GAAItb,EAEA,IAASta,EAAInG,EAAS,EAAGmG,GAAK,EAAGA,IACjC,CACI87G,EAAM1rG,EAAKpQ,GAEX,IAASD,EAAInG,EAAQ,EAAGmG,GAAK,EAAGA,IAI5B,IAFA68I,EAAO9gC,EAAI/7G,IAEF6E,QAAUA,EAEf,GAAIxF,GAAKoiB,EACT,CACI,IAAI+hI,EAMA,OAAO3G,EAJPhnH,EAAQ9xB,KAAK84I,QASjBx9I,SAQhB,IAAK,IAAIY,EAAI,EAAGA,EAAInG,EAAQmG,IAC5B,CACI87G,EAAM1rG,EAAKpQ,GAEX,IAAK,IAAID,EAAI,EAAGA,EAAInG,EAAOmG,IAIvB,IAFA68I,EAAO9gC,EAAI/7G,IAEF6E,QAAUA,EAEf,GAAIxF,GAAKoiB,EACT,CACI,IAAI+hI,EAMA,OAAO3G,EAJPhnH,EAAQ9xB,KAAK84I,QASjBx9I,IAOpB,OAAOmkJ,EAAM3tH,EAAU,MAa3B4tH,QAAS,SAAUzjJ,EAAGC,EAAGitI,EAAOwW,GAM5B,YAJgBlhJ,IAAZkhJ,IAAyBA,GAAU,GAEvCxW,EAAQjxI,KAAKolJ,SAASnU,GAElBltI,GAAK,GAAKA,EAAI/D,KAAK2gH,OAAOswB,GAAOrzI,OAASoG,GAAK,GAAKA,EAAIhE,KAAK2gH,OAAOswB,GAAOpzI,QAE9B,IAAzCmC,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAAG6E,MAE1B6+I,EAEOznJ,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAI3B,KAKJ/D,KAAK2gH,OAAOswB,GAAO78H,KAAKpQ,GAAGD,GAK/B,MAgBf2jJ,eAAgB,SAAU3jJ,EAAGC,EAAG+xE,EAAWC,EAAYi7D,EAAOwW,GAU1D,YARkBlhJ,IAAdwvE,IAA2BA,EAAY/1E,KAAK+1E,gBAC7BxvE,IAAfyvE,IAA4BA,EAAah2E,KAAKg2E,YAElDi7D,EAAQjxI,KAAKolJ,SAASnU,GAEtBltI,EAAI/D,KAAK+C,KAAKyiC,KAAK+lE,YAAYxnG,EAAGgyE,GAAaA,EAC/C/xE,EAAIhE,KAAK+C,KAAKyiC,KAAK+lE,YAAYvnG,EAAGgyE,GAAcA,EAEzCh2E,KAAKwnJ,QAAQzjJ,EAAGC,EAAGitI,EAAOwW,IAcrCzzH,KAAM,SAAUjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,GAEjCA,EAAQjxI,KAAKolJ,SAASnU,GAEtB,CAAA,GAAKjxI,KAAK2gH,OAAOswB,GAAjB,MAMU1qI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAK2gH,OAAOswB,GAAOrzI,YACvC2I,IAAX1I,IAAwBA,EAASmC,KAAK2gH,OAAOswB,GAAOpzI,QAEpDkG,EAAI,IAEJA,EAAI,GAGJC,EAAI,IAEJA,EAAI,GAGJpG,EAAQoC,KAAK2gH,OAAOswB,GAAOrzI,QAE3BA,EAAQoC,KAAK2gH,OAAOswB,GAAOrzI,OAG3BC,EAASmC,KAAK2gH,OAAOswB,GAAOpzI,SAE5BA,EAASmC,KAAK2gH,OAAOswB,GAAOpzI,QAGhCmC,KAAKyjJ,SAAS9gJ,OAAS,EAEvB3C,KAAKyjJ,SAAS37I,MAAO/D,EAAGA,EAAGC,EAAGA,EAAGpG,MAAOA,EAAOC,OAAQA,EAAQozI,MAAOA,IAEtE,IAAK,IAAI1tI,EAAKS,EAAGT,EAAKS,EAAInG,EAAQ0F,IAE9B,IAAK,IAAID,EAAKS,EAAGT,EAAKS,EAAInG,EAAO0F,IAE7BtD,KAAKyjJ,SAAS37I,KAAK9H,KAAK2gH,OAAOswB,GAAO78H,KAAK7Q,GAAID,IAIvD,OAAOtD,KAAKyjJ,SAzCRzjJ,KAAKyjJ,SAAS9gJ,OAAS,IAqD/BglJ,MAAO,SAAU5jJ,EAAGC,EAAG4jJ,EAAW3W,GAO9B,QALU1qI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAE3BitI,EAAQjxI,KAAKolJ,SAASnU,GAEjB2W,KAAaA,EAAUjlJ,OAAS,GAArC,CASA,IAAK,IAHDw4F,EAAQp3F,EAAI6jJ,EAAU,GAAG7jJ,EACzBq3F,EAAQp3F,EAAI4jJ,EAAU,GAAG5jJ,EAEpBtB,EAAI,EAAGA,EAAIklJ,EAAUjlJ,OAAQD,IAElC1C,KAAK2gH,OAAOswB,GAAO78H,KAAKgnF,EAAQwsD,EAAUllJ,GAAGsB,GAAGm3F,EAAQysD,EAAUllJ,GAAGqB,GAAGiwB,KAAK4zH,EAAUllJ,IAG3F1C,KAAK2gH,OAAOswB,GAAOz/H,OAAQ,EAC3BxR,KAAKmmJ,eAAelV,KAgBxB57F,KAAM,SAAUwyG,EAAOC,EAAO/jJ,EAAGC,EAAGpG,EAAOC,EAAQozI,GAE/CA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,GAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,IAK3B3C,KAAK0jJ,OAASmE,EACd7nJ,KAAKk7E,OAAS4sE,EAEd9nJ,KAAKyjJ,SAAS9yH,QAAQ3wB,KAAK+nJ,YAAa/nJ,MAExCA,KAAK2nJ,MAAM5jJ,EAAGC,EAAGhE,KAAKyjJ,SAAUxS,KAUpC8W,YAAa,SAAU3gJ,GAEfA,EAAMwB,QAAU5I,KAAK0jJ,OAGrBt8I,EAAMwB,MAAQ5I,KAAKk7E,OAEd9zE,EAAMwB,QAAU5I,KAAKk7E,SAG1B9zE,EAAMwB,MAAQ5I,KAAK0jJ,SAgB3B/yH,QAAS,SAAUgkB,EAAU7mC,EAAS/J,EAAGC,EAAGpG,EAAOC,EAAQozI,GAEvDA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,GAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,IAK3B3C,KAAKyjJ,SAAS9yH,QAAQgkB,EAAU7mC,GAEhC9N,KAAK2nJ,MAAM5jJ,EAAGC,EAAGhE,KAAKyjJ,SAAUxS,KAgBpC38G,QAAS,SAAUllB,EAAQmmB,EAAMxxB,EAAGC,EAAGpG,EAAOC,EAAQozI,GAMlD,GAJAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,KAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,GAA3B,CAKA,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAKyjJ,SAAS9gJ,OAAQD,IAElC1C,KAAKyjJ,SAAS/gJ,GAAGkG,QAAUwG,IAE3BpP,KAAKyjJ,SAAS/gJ,GAAGkG,MAAQ2sB,GAIjCv1B,KAAK2nJ,MAAM5jJ,EAAGC,EAAGhE,KAAKyjJ,SAAUxS,KAcpCt+G,OAAQ,SAAU5uB,EAAGC,EAAGpG,EAAOC,EAAQozI,GAMnC,GAJAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,KAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,GAA3B,CAOA,IAAK,IAFDijJ,KAEK/0H,EAAI,EAAGA,EAAI7wB,KAAKyjJ,SAAS9gJ,OAAQkuB,IAEtC,GAAI7wB,KAAKyjJ,SAAS5yH,GAAGjoB,MACrB,CACI,IAAI0tF,EAAMt2F,KAAKyjJ,SAAS5yH,GAAGjoB,OAEG,IAA1Bg9I,EAAQv8I,QAAQitF,IAEhBsvD,EAAQ99I,KAAKwuF,GAKzB,IAAK,IAAI5zF,EAAI,EAAGA,EAAI1C,KAAKyjJ,SAAS9gJ,OAAQD,IAEtC1C,KAAKyjJ,SAAS/gJ,GAAGkG,MAAQ5I,KAAK+C,KAAKsiC,IAAI0U,KAAK6rG,GAGhD5lJ,KAAK2nJ,MAAM5jJ,EAAGC,EAAGhE,KAAKyjJ,SAAUxS,KAcpC32F,QAAS,SAAUv2C,EAAGC,EAAGpG,EAAOC,EAAQozI,GAMpC,GAJAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,KAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,GAA3B,CAOA,IAAK,IAFDijJ,KAEK/0H,EAAI,EAAGA,EAAI7wB,KAAKyjJ,SAAS9gJ,OAAQkuB,IAElC7wB,KAAKyjJ,SAAS5yH,GAAGjoB,OAEjBg9I,EAAQ99I,KAAK9H,KAAKyjJ,SAAS5yH,GAAGjoB,OAItCpH,EAAOk4C,WAAWY,QAAQsrG,GAE1B,IAAK,IAAIljJ,EAAI,EAAGA,EAAI1C,KAAKyjJ,SAAS9gJ,OAAQD,IAEtC1C,KAAKyjJ,SAAS/gJ,GAAGkG,MAAQg9I,EAAQljJ,EAAI,GAGzC1C,KAAK2nJ,MAAM5jJ,EAAGC,EAAGhE,KAAKyjJ,SAAUxS,KAepCvqF,KAAM,SAAU99C,EAAO7E,EAAGC,EAAGpG,EAAOC,EAAQozI,GAMxC,GAJAA,EAAQjxI,KAAKolJ,SAASnU,GAEtBjxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQozI,KAE3BjxI,KAAKyjJ,SAAS9gJ,OAAS,GAA3B,CAKA,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAKyjJ,SAAS9gJ,OAAQD,IAEtC1C,KAAKyjJ,SAAS/gJ,GAAGkG,MAAQA,EAG7B5I,KAAK2nJ,MAAM5jJ,EAAGC,EAAGhE,KAAKyjJ,SAAUxS,KAQpC+W,gBAAiB,WAEbhoJ,KAAK2gH,OAAOh+G,OAAS,EACrB3C,KAAKujJ,aAAe,GAQxB0E,KAAM,WAKF,IAAK,IAHDC,EAAM,GACN/3H,GAAS,IAEJnsB,EAAI,EAAGA,EAAIhE,KAAK2gH,OAAO3gH,KAAKujJ,cAAc1lJ,OAAQmG,IAC3D,CACI,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAK2gH,OAAO3gH,KAAKujJ,cAAc3lJ,MAAOmG,IAEtDmkJ,GAAO,OAEHloJ,KAAK2gH,OAAO3gH,KAAKujJ,cAAcnvI,KAAKpQ,GAAGD,GAAK,EAExC/D,KAAKwjJ,SAASxjJ,KAAK2gH,OAAO3gH,KAAKujJ,cAAcnvI,KAAKpQ,GAAGD,IAErDosB,EAAKroB,KAAK,eAAiB9H,KAAKwjJ,SAASxjJ,KAAK2gH,OAAO3gH,KAAKujJ,cAAcnvI,KAAKpQ,GAAGD,KAIhFosB,EAAKroB,KAAK,uBAKdqoB,EAAKroB,KAAK,4BAIlBogJ,GAAO,KAGX/3H,EAAK,GAAK+3H,EACV5nJ,QAAQ+P,IAAI9K,MAAMjF,QAAS6vB,IAS/B3tB,QAAS,WAELxC,KAAKgoJ,kBACLhoJ,KAAKoU,QACLpU,KAAK+C,KAAO,OAKpBvB,EAAOuwE,QAAQzvE,UAAUC,YAAcf,EAAOuwE,QAM9C/qE,OAAOyF,eAAejL,EAAOuwE,QAAQzvE,UAAW,SAE5C4E,IAAK,WAED,OAAOlH,KAAK2gH,OAAO3gH,KAAKujJ,eAG5Bp8I,IAAK,SAAUC,GAEPA,IAAUpH,KAAKujJ,cAEfvjJ,KAAKgnJ,SAAS5/I,MA4B1B5F,EAAOwwE,aAAe,SAAUjvE,EAAM+yE,EAASltE,EAAOhL,EAAOC,GAEzDD,GAAS,EACTC,GAAU,EAEV2D,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAM,EAAG,GAQlC/C,KAAKmoJ,IAAMryE,EAQX91E,KAAK4I,MAAQA,EAQb5I,KAAKixI,MAAQn7D,EAAQ6qC,OAAO/3G,GAO5B5I,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAMpC,EAAOC,GAOpDmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAEtCxY,KAAKsN,WAAW,IAAI9O,KAAKqO,QAAQ,IAAIrO,KAAK2rB,YAAYnqB,KAAKkX,OAAQ,KAAMlX,KAAK+C,KAAK6B,cASnF5E,KAAKwT,KAAOhS,EAAOorB,aAMnB5sB,KAAKuyC,YAAc/wC,EAAOorB,aAe1B5sB,KAAKooJ,gBACDC,mBAAmB,EACnBC,cAAe,GACfC,WAAY,MAShBvoJ,KAAK8pC,OAAQ,EAKb9pC,KAAKkN,QAAS,EAkBdlN,KAAKwoJ,eAEDC,iBAAkB,mBAClBC,qBAAsB,oBAEtBC,iBAAiB,EAEjBC,WAAY,GACZC,iBAAkB,kBAClBC,sBAAuB,qBAU3B9oJ,KAAK+oJ,cAAgB,EAQrB/oJ,KAAKgpJ,cAAgB,EAOrBhpJ,KAAKwR,OAAQ,EAObxR,KAAKipJ,YAAc,EAOnBjpJ,KAAKkpJ,OAAQ,EAOblpJ,KAAKmpJ,KAGDzc,QAAS,EACTF,QAAS,EACT4c,YAAa,EACbC,aAAc,EAEdtzE,UAAWD,EAAQC,UACnBC,WAAYF,EAAQE,WAOpBxnE,GAAIsnE,EAAQC,UACZtnE,GAAIqnE,EAAQE,WAGZmtE,aASJnjJ,KAAKspJ,SAAW,EAOhBtpJ,KAAKupJ,SAAW,EAMhBvpJ,KAAKwpJ,WAAa,IAAIhoJ,EAAOX,MAAMb,KAAKixI,MAAMvsH,SAAW,EAAG1kB,KAAKixI,MAAMtsH,SAAW,GAOlF3kB,KAAKyjJ,YAEA1gJ,EAAKknB,OAAOq2E,oBAEbtgG,KAAKooJ,eAAeG,WAAa/mJ,EAAOwwE,aAAay3E,0BAGzDzpJ,KAAKuzC,eAAgB,GAGzB/xC,EAAOwwE,aAAa1vE,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WAC5Dd,EAAOwwE,aAAa1vE,UAAUC,YAAcf,EAAOwwE,aAEnDxwE,EAAOwwE,aAAa1vE,UAAUs0E,cAAgBp1E,EAAOqpE,UAAUiB,KAAKpnE,UAQpElD,EAAOwwE,aAAa03E,iBAAmB,KAWvCloJ,EAAOwwE,aAAay3E,uBAAyB,WAOzC,OALKzpJ,KAAK0pJ,mBAEN1pJ,KAAK0pJ,iBAAmBloJ,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,IAGvDA,KAAK0pJ,kBAQhBloJ,EAAOwwE,aAAa1vE,UAAUoC,UAAY,WAEtC,OAAO1E,KAAK42E,iBAShBp1E,EAAOwwE,aAAa1vE,UAAUukC,WAAa,WAEnC7mC,KAAKuzC,gBAELvzC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwzC,aAAazvC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwzC,aAAaxvC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAKspJ,UAAYtpJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwpJ,WAAWzlJ,GAAK/D,KAAK+oJ,cAAgB/oJ,KAAKc,MAAMiD,EAChG/D,KAAKupJ,UAAYvpJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwpJ,WAAWxlJ,GAAKhE,KAAKgpJ,cAAgBhpJ,KAAKc,MAAMkD,GAUpGxC,EAAOwwE,aAAa1vE,UAAU0D,cAAgB,SAAUJ,GAEhD5F,KAAKuzC,gBAELvzC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwzC,aAAazvC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwzC,aAAaxvC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAKspJ,UAAYtpJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwpJ,WAAWzlJ,GAAK/D,KAAK+oJ,cAAgB/oJ,KAAKc,MAAMiD,EAChG/D,KAAKupJ,UAAYvpJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwpJ,WAAWxlJ,GAAKhE,KAAKgpJ,cAAgBhpJ,KAAKc,MAAMkD,EAEhGhE,KAAKmF,SAEL3G,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAM4F,IAUnDpE,EAAOwwE,aAAa1vE,UAAUyD,aAAe,SAAUH,GAE/C5F,KAAKuzC,gBAELvzC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwzC,aAAazvC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwzC,aAAaxvC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAKspJ,UAAYtpJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAKwpJ,WAAWzlJ,GAAK/D,KAAK+oJ,cAAgB/oJ,KAAKc,MAAMiD,EAChG/D,KAAKupJ,UAAYvpJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKwpJ,WAAWxlJ,GAAKhE,KAAKgpJ,cAAgBhpJ,KAAKc,MAAMkD,EAEhGhE,KAAKmF,SAEL3G,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAM4F,IAQlDpE,EAAOwwE,aAAa1vE,UAAUE,QAAU,WAEpChB,EAAOqF,WAAWsV,OAAOnc,MAEzBwB,EAAOqpE,UAAU8C,QAAQrrE,UAAUE,QAAQgC,KAAKxE,OAgBpDwB,EAAOwwE,aAAa1vE,UAAU6D,OAAS,SAAUvI,EAAOC,GAEpDmC,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,EAErBmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ6P,KAAKhQ,MAAQA,EAC1BoC,KAAKjC,QAAQ6P,KAAK/P,OAASA,EAE3BmC,KAAKjC,QAAQqI,YAAYxI,MAAQA,EACjCoC,KAAKjC,QAAQqI,YAAYvI,OAASA,EAElCmC,KAAKjC,QAAQqI,YAAYoL,QACzBxR,KAAKjC,QAAQ+sB,gBAAiB,EAE9B9qB,KAAKjC,QAAQktB,aAEbjrB,KAAKwR,OAAQ,GASjBhQ,EAAOwwE,aAAa1vE,UAAUqnJ,YAAc,WAExC3pJ,KAAK+C,KAAKE,MAAM23C,UAAU,EAAG,EAAG56C,KAAKixI,MAAMgS,cAAgBjjJ,KAAKc,MAAMiD,EAAG/D,KAAKixI,MAAMiS,eAAiBljJ,KAAKc,MAAMkD,IAUpHxC,EAAOwwE,aAAa1vE,UAAUm+I,eAAiB,WAE3C,OAAOzgJ,KAAKwpJ,WAAWzlJ,IAAQ/D,KAAKuzC,cAAmC,EAAlBvzC,KAAKY,SAASmD,IAUvEvC,EAAOwwE,aAAa1vE,UAAUo+I,eAAiB,WAE3C,OAAO1gJ,KAAKwpJ,WAAWxlJ,IAAQhE,KAAKuzC,cAAmC,EAAlBvzC,KAAKY,SAASoD,IAWvExC,EAAOwwE,aAAa1vE,UAAUsnJ,MAAQ,SAAU7lJ,GAE5C,OAA2B,IAAvB/D,KAAK+oJ,eAA+C,IAAvB/oJ,KAAK+oJ,eAA2C,IAApB/oJ,KAAKY,SAASmD,EAEhEA,EAIgB,IAAvB/D,KAAK+oJ,eAA2C,IAApB/oJ,KAAKY,SAASmD,EAEnCA,EAAI/D,KAAKY,SAASmD,EAGtB/D,KAAKspJ,UAAYvlJ,EAAK/D,KAAKspJ,SAAWtpJ,KAAK+oJ,gBAWtDvnJ,EAAOwwE,aAAa1vE,UAAUunJ,QAAU,SAAU9lJ,GAE9C,OAA2B,IAAvB/D,KAAK+oJ,cAEEhlJ,EAGH/D,KAAKspJ,SAAWtpJ,KAAK+oJ,eAAkBhlJ,EAAI/D,KAAKspJ,WAW5D9nJ,EAAOwwE,aAAa1vE,UAAUwnJ,MAAQ,SAAU9lJ,GAE5C,OAA2B,IAAvBhE,KAAKgpJ,eAA+C,IAAvBhpJ,KAAKgpJ,eAA2C,IAApBhpJ,KAAKY,SAASoD,EAEhEA,EAIgB,IAAvBhE,KAAKgpJ,eAA2C,IAApBhpJ,KAAKY,SAASoD,EAEnCA,EAAIhE,KAAKY,SAASoD,EAGtBhE,KAAKupJ,UAAYvlJ,EAAKhE,KAAKupJ,SAAWvpJ,KAAKgpJ,gBAWtDxnJ,EAAOwwE,aAAa1vE,UAAUynJ,QAAU,SAAU/lJ,GAE9C,OAA2B,IAAvBhE,KAAKgpJ,cAEEhlJ,EAGHhE,KAAKupJ,SAAWvpJ,KAAKgpJ,eAAkBhlJ,EAAIhE,KAAKupJ,WAW5D/nJ,EAAOwwE,aAAa1vE,UAAU0nJ,SAAW,SAAUjmJ,GAG/C,OAAOL,KAAKmsB,MAAM7vB,KAAK4pJ,MAAM7lJ,GAAK/D,KAAKmpJ,IAAIpzE,YAW/Cv0E,EAAOwwE,aAAa1vE,UAAU2nJ,SAAW,SAAUjmJ,GAG/C,OAAON,KAAKmsB,MAAM7vB,KAAK8pJ,MAAM9lJ,GAAKhE,KAAKmpJ,IAAInzE,aAa/Cx0E,EAAOwwE,aAAa1vE,UAAU4nJ,UAAY,SAAUnmJ,EAAGC,EAAGoyB,GAKtD,OAHAA,EAAMryB,EAAI/D,KAAKgqJ,SAASjmJ,GACxBqyB,EAAMpyB,EAAIhE,KAAKiqJ,SAASjmJ,GAEjBoyB,GAcX50B,EAAOwwE,aAAa1vE,UAAU6nJ,gBAAkB,SAAUzxH,EAAMiB,EAAUkpH,EAAUuH,GAE3EzwH,IAAYA,EAAW35B,KAAKipJ,kBAChB1iJ,IAAbs8I,IAA0BA,GAAW,QACjBt8I,IAApB6jJ,IAAiCA,GAAkB,GAGvD,IAAItpC,EAAQ9gH,KAAKwgJ,SAAS9nH,EAAK30B,EAAG20B,EAAK10B,EAAG00B,EAAK96B,MAAO86B,EAAK76B,OAAQglJ,EAAUuH,GAE7E,GAAqB,IAAjBtpC,EAAMn+G,OAEN,SAOJ,IAAK,IAHDoqI,EAASr0G,EAAKgB,kBAAkBC,GAChCC,KAEKl3B,EAAI,EAAGA,EAAIo+G,EAAMn+G,OAAQD,IAE9B,IAAK,IAAImuB,EAAI,EAAGA,EAAIk8G,EAAOpqI,OAAQkuB,IACnC,CACI,IAAI+vH,EAAO9/B,EAAMp+G,GACb2nJ,EAAQtd,EAAOl8G,GACnB,GAAI+vH,EAAKt/G,cAAc+oH,EAAM,GAAIA,EAAM,IACvC,CACIzwH,EAAQ9xB,KAAK84I,GACb,OAKZ,OAAOhnH,GAgBXp4B,EAAOwwE,aAAa1vE,UAAUk+I,SAAW,SAAUz8I,EAAGC,EAAGpG,EAAOC,EAAQglJ,EAAUuH,QAG7D7jJ,IAAbs8I,IAA0BA,GAAW,QACjBt8I,IAApB6jJ,IAAiCA,GAAkB,GAEvD,IAAIE,IAAazH,GAAYuH,GAG7BrmJ,EAAI/D,KAAK4pJ,MAAM7lJ,GACfC,EAAIhE,KAAK8pJ,MAAM9lJ,GAUf,IAPA,IAAIV,EAAKI,KAAKmsB,MAAM9rB,GAAK/D,KAAKmpJ,IAAI36I,GAAKxO,KAAKc,MAAMiD,IAC9CR,EAAKG,KAAKmsB,MAAM7rB,GAAKhE,KAAKmpJ,IAAI16I,GAAKzO,KAAKc,MAAMkD,IAG9CknB,EAAKxnB,KAAKwC,MAAMnC,EAAInG,IAAUoC,KAAKmpJ,IAAI36I,GAAKxO,KAAKc,MAAMiD,IAAMT,EAC7D6nB,EAAKznB,KAAKwC,MAAMlC,EAAInG,IAAWmC,KAAKmpJ,IAAI16I,GAAKzO,KAAKc,MAAMkD,IAAMT,EAE3DvD,KAAKyjJ,SAAS9gJ,QAEjB3C,KAAKyjJ,SAAS7iI,MAGlB,IAAK,IAAI2pI,EAAKhnJ,EAAIgnJ,EAAKhnJ,EAAK4nB,EAAIo/H,IAE5B,IAAK,IAAIC,EAAKlnJ,EAAIknJ,EAAKlnJ,EAAK4nB,EAAIs/H,IAChC,CACI,IAAI1qC,EAAM9/G,KAAKixI,MAAM78H,KAAKm2I,GAEtBzqC,GAAOA,EAAI0qC,KAEPF,GAAYxqC,EAAI0qC,GAAI5H,cAAcC,EAAUuH,KAE5CpqJ,KAAKyjJ,SAAS37I,KAAKg4G,EAAI0qC,IAMvC,OAAOxqJ,KAAKyjJ,SAASzzH,SAYzBxuB,EAAOwwE,aAAa1vE,UAAUmoJ,eAAiB,SAAUC,GAErD,IAAIvH,EAAWnjJ,KAAKmpJ,IAAIhG,SAGxB,GAAIuH,EAAY,IAEZ,KAAOvH,EAASxgJ,OAAS+nJ,GAErBvH,EAASr7I,UAAKvB,GAItB,IAAIokJ,EAAW3qJ,KAAKmoJ,IAAIrnC,MAAM4pC,IAAc1qJ,KAAKmoJ,IAAIrnC,MAAM4pC,GAAW,GAEtE,GAAiB,OAAbC,EACJ,CACI,IAAIzG,EAAUlkJ,KAAKmoJ,IAAIhF,SAASwH,GAEhC,GAAIzG,GAAWA,EAAQ0G,kBAAkBF,GAErC,OAAQvH,EAASuH,GAAaxG,EAItC,OAAQf,EAASuH,GAAa,MAWlClpJ,EAAOwwE,aAAa1vE,UAAUuoJ,kBAAoB,WAI9C,IAFA,IAAI1H,EAAWnjJ,KAAKmpJ,IAAIhG,SAEjBA,EAASxgJ,QAEZwgJ,EAASviI,OAWjBpf,EAAOwwE,aAAa1vE,UAAUwoJ,SAAW,SAAUC,EAAQC,GAEvDD,EAASA,GAAU,EACnBC,EAASA,GAAUD,EAEnB,IAAK,IAAI/mJ,EAAI,EAAGA,EAAIhE,KAAKixI,MAAM78H,KAAKzR,OAAQqB,IAIxC,IAAK,IAFD87G,EAAM9/G,KAAKixI,MAAM78H,KAAKpQ,GAEjBD,EAAI,EAAGA,EAAI+7G,EAAIn9G,OAAQoB,IAChC,CACI,IAAI68I,EAAO9gC,EAAI/7G,GAEf68I,EAAKhjJ,MAAQoC,KAAKmoJ,IAAIpyE,UAAYg1E,EAClCnK,EAAK/iJ,OAASmC,KAAKmoJ,IAAInyE,WAAag1E,EAEpCpK,EAAK9W,OAAS8W,EAAK78I,EAAI68I,EAAKhjJ,MAC5BgjJ,EAAK7W,OAAS6W,EAAK58I,EAAI48I,EAAK/iJ,OAIpCmC,KAAKc,MAAMs0B,MAAM21H,EAAQC,IAc7BxpJ,EAAOwwE,aAAa1vE,UAAU2oJ,YAAc,SAAUn9I,EAAS/J,EAAGC,GAE9D,IAAIkT,EAASpJ,EAAQoJ,OACjBg0I,EAAQh0I,EAAOtZ,MAAQ8F,KAAKizB,IAAI5yB,GAChConJ,EAAQj0I,EAAOrZ,OAAS6F,KAAKizB,IAAI3yB,GAGjCmK,EAAK,EACLE,EAAK,EACLwrB,EAAK91B,EACL+1B,EAAK91B,EAELD,EAAI,IAEJoK,GAAMpK,EACN81B,EAAK,GAGL71B,EAAI,IAEJqK,GAAMrK,EACN81B,EAAK,GAGT,IAAIyuH,EAAavoJ,KAAKooJ,eAAeG,WAErC,GAAIA,EACJ,EAKQA,EAAW3qJ,MAAQstJ,GAAS3C,EAAW1qJ,OAASstJ,KAEhD5C,EAAW3qJ,MAAQstJ,EACnB3C,EAAW1qJ,OAASstJ,GAGxB,IAAIC,EAAc7C,EAAW/vI,WAAW,MACxC4yI,EAAYpjI,UAAU,EAAG,EAAGkjI,EAAOC,GACnCC,EAAYn8I,UAAUiI,EAAQ/I,EAAIE,EAAI68I,EAAOC,EAAO,EAAG,EAAGD,EAAOC,GAGjEr9I,EAAQka,UAAU6R,EAAIC,EAAIoxH,EAAOC,GACjCr9I,EAAQmB,UAAUs5I,EAAY,EAAG,EAAG2C,EAAOC,EAAOtxH,EAAIC,EAAIoxH,EAAOC,QAQjEr9I,EAAQoa,OACRpa,EAAQC,yBAA2B,OACnCD,EAAQmB,UAAUiI,EAAQ/I,EAAIE,EAAI68I,EAAOC,EAAOtxH,EAAIC,EAAIoxH,EAAOC,GAC/Dr9I,EAAQ0a,WAiBhBhnB,EAAOwwE,aAAa1vE,UAAU+oJ,aAAe,SAAU3e,EAASF,EAAS74G,EAAM0C,EAAK3C,EAAO4C,GAEvF,IAAIxoB,EAAU9N,KAAK8N,QAEflQ,EAAQoC,KAAKixI,MAAMrzI,MACnBC,EAASmC,KAAKixI,MAAMpzI,OACpBqtB,EAAKlrB,KAAKmpJ,IAAIpzE,UACd5qD,EAAKnrB,KAAKmpJ,IAAInzE,WAEdmtE,EAAWnjJ,KAAKmpJ,IAAIhG,SACpBmI,EAAY5c,IAEX1uI,KAAKkpJ,QAEFv1H,GAAQD,IAERC,EAAOjwB,KAAKuC,IAAI,EAAG0tB,GACnBD,EAAQhwB,KAAK41B,IAAI17B,EAAQ,EAAG81B,IAE5B2C,GAAOC,IAEPD,EAAM3yB,KAAKuC,IAAI,EAAGowB,GAClBC,EAAS5yB,KAAK41B,IAAIz7B,EAAS,EAAGy4B,KAKtC,IAYIhzB,EAAIC,EAAIQ,EAAGC,EAAGunJ,EAAMC,EAZpBC,EAAS93H,EAAOzI,EAAMwhH,EAItBgf,GAAc/3H,GAAS,GAAK,IAAM/1B,GAAUA,EAUhD,IAAKoG,GATaqyB,GAAQ,GAAK,IAAMx4B,GAAWA,EAS3B2tJ,EAAOl1H,EAASD,EAAK9yB,EAb7B8yB,EAAMlL,EAAMqhH,EAa6Bgf,GAAQ,EAAGxnJ,IAAKwnJ,IAAQjoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIiiH,EAAM9/G,KAAKixI,MAAM78H,KAAKpQ,GAE1B,IAAKD,EAAI2nJ,EAAYH,EAAO73H,EAAQC,EAAMrwB,EAAKmoJ,EAAOF,GAAQ,EAAGxnJ,IAAKwnJ,IAAQjoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIgjJ,EAAO9gC,EAAI/7G,GAEf,GAAK68I,KAAQA,EAAKh4I,MAAQ,GAA1B,CAKA,IAAIA,EAAQg4I,EAAKh4I,MAEbzB,EAAMg8I,EAASv6I,QAEPrC,IAARY,IAEAA,EAAMnH,KAAKyqJ,eAAe7hJ,IAI1Bg4I,EAAK3/I,QAAUqqJ,GAActrJ,KAAK8pC,QAElCh8B,EAAQG,YAAc2yI,EAAK3/I,MAC3BqqJ,EAAY1K,EAAK3/I,OAGjBkG,EAEIy5I,EAAK5/I,UAAY4/I,EAAK2B,SAEtBz0I,EAAQoa,OACRpa,EAAQ+tB,UAAUv4B,EAAKs9I,EAAK/oH,QAASt0B,EAAKq9I,EAAK9oH,SAC/ChqB,EAAQ0qB,OAAOooH,EAAK5/I,UAEhB4/I,EAAK2B,SAELz0I,EAAQhN,OAAO,EAAG,GAGtBqG,EAAIo0E,KAAKztE,GAAU8yI,EAAK/oH,SAAU+oH,EAAK9oH,QAASlvB,GAChDkF,EAAQ0a,WAIRrhB,EAAIo0E,KAAKztE,EAASxK,EAAIC,EAAIqF,GAGzB5I,KAAKwoJ,cAAcC,mBAExB36I,EAAQ6a,UAAY3oB,KAAKwoJ,cAAcC,iBACvC36I,EAAQgb,SAASxlB,EAAIC,EAAI2nB,EAAIC,IAG7By1H,EAAK92G,OAAS9pC,KAAKwoJ,cAAcE,uBAEjC56I,EAAQ6a,UAAY3oB,KAAKwoJ,cAAcE,qBACvC56I,EAAQgb,SAASxlB,EAAIC,EAAI2nB,EAAIC,QAY7C3pB,EAAOwwE,aAAa1vE,UAAUqpJ,kBAAoB,SAAUC,EAAQC,GAEhE,IAAInf,EAAU1sI,KAAKmpJ,IAAIzc,QACnBF,EAAUxsI,KAAKmpJ,IAAI3c,QAEnBsf,EAAU9rJ,KAAKkX,OAAOtZ,MACtBmuJ,EAAU/rJ,KAAKkX,OAAOrZ,OAEtBqtB,EAAKlrB,KAAKmpJ,IAAIpzE,UACd5qD,EAAKnrB,KAAKmpJ,IAAInzE,WAKdriD,EAAO,EACPD,GAASxI,EACTmL,EAAM,EACNC,GAAUnL,EAgCd,GA9BIygI,EAAS,GAETj4H,EAAOm4H,EAAUF,EACjBl4H,EAAQo4H,EAAU,GAEbF,EAAS,IAGdl4H,EAAQk4H,GAGRC,EAAS,GAETx1H,EAAM01H,EAAUF,EAChBv1H,EAASy1H,EAAU,GAEdF,EAAS,IAGdv1H,EAASu1H,GAGb7rJ,KAAKirJ,YAAYjrJ,KAAK8N,QAAS89I,EAAQC,GAGvCl4H,EAAOjwB,KAAKmsB,OAAO8D,EAAO+4G,GAAWxhH,GACrCwI,EAAQhwB,KAAKmsB,OAAO6D,EAAQg5G,GAAWxhH,GACvCmL,EAAM3yB,KAAKmsB,OAAOwG,EAAMm2G,GAAWrhH,GACnCmL,EAAS5yB,KAAKmsB,OAAOyG,EAASk2G,GAAWrhH,GAErCwI,GAAQD,EACZ,CAEI1zB,KAAK8N,QAAQka,UAAY2L,EAAOzI,EAAMwhH,EAAU,GAAIh5G,EAAQC,EAAO,GAAKzI,EAAI6gI,GAE5E,IAAIC,EAAUtoJ,KAAKmsB,OAAO,EAAI28G,GAAWrhH,GACrC8gI,EAAavoJ,KAAKmsB,OAAOk8H,EAAU,EAAIvf,GAAWrhH,GACtDnrB,KAAKqrJ,aAAa3e,EAASF,EAAS74G,EAAMq4H,EAASt4H,EAAOu4H,GAG9D,GAAI51H,GAAOC,EACX,CAEIt2B,KAAK8N,QAAQka,UAAU,EAAKqO,EAAMlL,EAAMqhH,EAAUsf,GAAUx1H,EAASD,EAAM,GAAKlL,GAEhF,IAAI+gI,EAAWxoJ,KAAKmsB,OAAO,EAAI68G,GAAWxhH,GACtCihI,EAAYzoJ,KAAKmsB,OAAOi8H,EAAU,EAAIpf,GAAWxhH,GACrDlrB,KAAKqrJ,aAAa3e,EAASF,EAAS0f,EAAU71H,EAAK81H,EAAW71H,KAUtE90B,EAAOwwE,aAAa1vE,UAAU8pJ,WAAa,WAEvC,IAAI1f,EAAU1sI,KAAKmpJ,IAAIzc,QACnBF,EAAUxsI,KAAKmpJ,IAAI3c,QAEnBsf,EAAU9rJ,KAAKkX,OAAOtZ,MACtBmuJ,EAAU/rJ,KAAKkX,OAAOrZ,OAEtBqtB,EAAKlrB,KAAKmpJ,IAAIpzE,UACd5qD,EAAKnrB,KAAKmpJ,IAAInzE,WAEdriD,EAAOjwB,KAAKmsB,MAAM68G,EAAUxhH,GAC5BwI,EAAQhwB,KAAKmsB,OAAOi8H,EAAU,EAAIpf,GAAWxhH,GAC7CmL,EAAM3yB,KAAKmsB,MAAM28G,EAAUrhH,GAC3BmL,EAAS5yB,KAAKmsB,OAAOk8H,EAAU,EAAIvf,GAAWrhH,GAElDnrB,KAAK8N,QAAQka,UAAU,EAAG,EAAG8jI,EAASC,GAEtC/rJ,KAAKqrJ,aAAa3e,EAASF,EAAS74G,EAAM0C,EAAK3C,EAAO4C,IAS1D90B,EAAOwwE,aAAa1vE,UAAU6C,OAAS,WAEnC,IAAIknJ,GAAY,EAEhB,GAAKrsJ,KAAKkB,QAAV,EAKIlB,KAAKwR,OAASxR,KAAKixI,MAAMz/H,SAEzBxR,KAAKixI,MAAMz/H,OAAQ,EACnB66I,GAAY,GAGhB,IAAIjD,EAAcppJ,KAAKkX,OAAOtZ,MAC1ByrJ,EAAerpJ,KAAKkX,OAAOrZ,OAG3B6uI,EAA0B,EAAhB1sI,KAAKspJ,SACf9c,EAA0B,EAAhBxsI,KAAKupJ,SAEf+C,EAAKtsJ,KAAKmpJ,IACVyC,EAASU,EAAG5f,QAAUA,EACtBmf,EAASS,EAAG9f,QAAUA,EAE1B,GAAK6f,GACU,IAAXT,GAA2B,IAAXC,GAChBS,EAAGlD,cAAgBA,GAAekD,EAAGjD,eAAiBA,EAoD1D,OA9CArpJ,KAAK8N,QAAQoa,OAEbokI,EAAG5f,QAAUA,EACb4f,EAAG9f,QAAUA,EAET8f,EAAGlD,cAAgBA,GAAekD,EAAGjD,eAAiBA,IAGtDiD,EAAGlD,YAAcA,EACjBkD,EAAGjD,aAAeA,GAGlBrpJ,KAAK8pC,QAEL9pC,KAAK8N,QAAQG,YAAcjO,KAAKwoJ,cAAcI,WAE1C5oJ,KAAKwoJ,cAAcG,kBAEnB0D,GAAY,KAIfA,GACDrsJ,KAAKooJ,eAAeC,mBACnB3kJ,KAAKizB,IAAIi1H,GAAUloJ,KAAKizB,IAAIk1H,GAAWnoJ,KAAK41B,IAAI8vH,EAAaC,GAE9DrpJ,KAAK2rJ,kBAAkBC,EAAQC,GAK/B7rJ,KAAKosJ,aAGLpsJ,KAAK8pC,QAEL9pC,KAAK8N,QAAQG,YAAc,EAC3BjO,KAAKusJ,eAGTvsJ,KAAKjC,QAAQqI,YAAYoL,QAEzBxR,KAAKwR,OAAQ,EAEbxR,KAAK8N,QAAQ0a,WAEN,IAWXhnB,EAAOwwE,aAAa1vE,UAAUiqJ,YAAc,WAExC,IAuBIjpJ,EAAIC,EAAIQ,EAAGC,EAAGunJ,EAAMC,EAvBpB9e,EAAU1sI,KAAKmpJ,IAAIzc,QACnBF,EAAUxsI,KAAKmpJ,IAAI3c,QAEnB1+H,EAAU9N,KAAK8N,QACfg+I,EAAU9rJ,KAAKkX,OAAOtZ,MACtBmuJ,EAAU/rJ,KAAKkX,OAAOrZ,OAEtBD,EAAQoC,KAAKixI,MAAMrzI,MACnBC,EAASmC,KAAKixI,MAAMpzI,OACpBqtB,EAAKlrB,KAAKmpJ,IAAIpzE,UACd5qD,EAAKnrB,KAAKmpJ,IAAInzE,WAEdriD,EAAOjwB,KAAKmsB,MAAM68G,EAAUxhH,GAC5BwI,EAAQhwB,KAAKmsB,OAAOi8H,EAAU,EAAIpf,GAAWxhH,GAC7CmL,EAAM3yB,KAAKmsB,MAAM28G,EAAUrhH,GAC3BmL,EAAS5yB,KAAKmsB,OAAOk8H,EAAU,EAAIvf,GAAWrhH,GAE9CsgI,EAAS93H,EAAOzI,EAAMwhH,EACtB8f,EAASn2H,EAAMlL,EAAMqhH,EAErBkf,GAAc/3H,GAAS,GAAK,IAAM/1B,GAAUA,EAC5C6uJ,GAAcp2H,GAAQ,GAAK,IAAMx4B,GAAWA,EAMhD,IAFAiQ,EAAQkyE,YAAchgF,KAAKwoJ,cAAcK,iBAEpC7kJ,EAAIyoJ,EAAYjB,EAAOl1H,EAASD,EAAK9yB,EAAKipJ,EAAOhB,GAAQ,EAAGxnJ,IAAKwnJ,IAAQjoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIiiH,EAAM9/G,KAAKixI,MAAM78H,KAAKpQ,GAE1B,IAAKD,EAAI2nJ,EAAYH,EAAO73H,EAAQC,EAAMrwB,EAAKmoJ,EAAOF,GAAQ,EAAGxnJ,IAAKwnJ,IAAQjoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIgjJ,EAAO9gC,EAAI/7G,IACV68I,GAAQA,EAAKh4I,MAAQ,IAAMg4I,EAAKiC,WAKjC7iJ,KAAKwoJ,cAAcM,wBAEnBh7I,EAAQ6a,UAAY3oB,KAAKwoJ,cAAcM,sBACvCh7I,EAAQgb,SAASxlB,EAAIC,EAAIvD,KAAKmpJ,IAAI36I,GAAIxO,KAAKmpJ,IAAI16I,KAG/CzO,KAAKwoJ,cAAcK,mBAEnB/6I,EAAQ4xE,YAEJkhE,EAAKO,UAELrzI,EAAQ+xE,OAAOv8E,EAAIC,GACnBuK,EAAQgyE,OAAOx8E,EAAKtD,KAAKmpJ,IAAI36I,GAAIjL,IAGjCq9I,EAAKQ,aAELtzI,EAAQ+xE,OAAOv8E,EAAIC,EAAKvD,KAAKmpJ,IAAI16I,IACjCX,EAAQgyE,OAAOx8E,EAAKtD,KAAKmpJ,IAAI36I,GAAIjL,EAAKvD,KAAKmpJ,IAAI16I,KAG/CmyI,EAAKK,WAELnzI,EAAQ+xE,OAAOv8E,EAAIC,GACnBuK,EAAQgyE,OAAOx8E,EAAIC,EAAKvD,KAAKmpJ,IAAI16I,KAGjCmyI,EAAKM,YAELpzI,EAAQ+xE,OAAOv8E,EAAKtD,KAAKmpJ,IAAI36I,GAAIjL,GACjCuK,EAAQgyE,OAAOx8E,EAAKtD,KAAKmpJ,IAAI36I,GAAIjL,EAAKvD,KAAKmpJ,IAAI16I,KAGnDX,EAAQ8xE,YAER9xE,EAAQmyE,cAcxBj5E,OAAOyF,eAAejL,EAAOwwE,aAAa1vE,UAAW,QAEjD4E,IAAK,WAED,OAAOlH,KAAKkpJ,OAGhB/hJ,IAAK,SAAUC,GAEXpH,KAAKkpJ,MAAQ9hJ,EACbpH,KAAKwR,OAAQ,KAYrBxK,OAAOyF,eAAejL,EAAOwwE,aAAa1vE,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAKspJ,UAGhBniJ,IAAK,SAAUC,GAEXpH,KAAKspJ,SAAWliJ,KAYxBJ,OAAOyF,eAAejL,EAAOwwE,aAAa1vE,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAKupJ,UAGhBpiJ,IAAK,SAAUC,GAEXpH,KAAKupJ,SAAWniJ,KAYxBJ,OAAOyF,eAAejL,EAAOwwE,aAAa1vE,UAAW,kBAEjD4E,IAAK,WAED,OAAOlH,KAAKmpJ,IAAI36I,IAGpBrH,IAAK,SAAUC,GAEXpH,KAAKmpJ,IAAI36I,GAAa,EAARpH,EACdpH,KAAKwR,OAAQ,KAYrBxK,OAAOyF,eAAejL,EAAOwwE,aAAa1vE,UAAW,mBAEjD4E,IAAK,WAED,OAAOlH,KAAKmpJ,IAAI16I,IAGpBtH,IAAK,SAAUC,GAEXpH,KAAKmpJ,IAAI16I,GAAa,EAARrH,EACdpH,KAAKwR,OAAQ,KAiBrBhQ,EAAOuhJ,eAaH2J,aAAa,EAcbluH,MAAO,SAAUz7B,EAAMiQ,EAAK+iE,EAAWC,EAAYp4E,EAAOC,GAOtD,QALkB0I,IAAdwvE,IAA2BA,EAAY,SACxBxvE,IAAfyvE,IAA4BA,EAAa,SAC/BzvE,IAAV3I,IAAuBA,EAAQ,SACpB2I,IAAX1I,IAAwBA,EAAS,SAEzB0I,IAARyM,EAEA,OAAOhT,KAAK2sJ,eAGhB,GAAY,OAAR35I,EAEA,OAAOhT,KAAK2sJ,aAAa52E,EAAWC,EAAYp4E,EAAOC,GAG3D,IAAIsqJ,EAAMplJ,EAAKiX,MAAMguG,eAAeh1G,GAEpC,GAAIm1I,EACJ,CACI,GAAIA,EAAI1zI,SAAWjT,EAAOuwE,QAAQ87C,IAE9B,OAAO7tH,KAAK4sJ,SAAS55I,EAAKm1I,EAAI/zI,KAAM2hE,EAAWC,GAE9C,IAAKmyE,EAAI1zI,QAAU0zI,EAAI1zI,SAAWjT,EAAOuwE,QAAQ+7C,WAElD,OAAO9tH,KAAK6sJ,eAAe1E,EAAI/zI,WAKnC9T,QAAQ+Z,KAAK,iCAAkCrH,IAcvD45I,SAAU,SAAU55I,EAAKoB,EAAM2hE,EAAWC,GAYtC,IAAK,IAVDmyE,EAAMnoJ,KAAK2sJ,eAKXj3H,KACAkvH,GAHJxwI,EAAOA,EAAKhG,QAGIyjB,MAAM,MAClBh0B,EAAS+mJ,EAAKjiJ,OACd/E,EAAQ,EAEHoG,EAAI,EAAGA,EAAI4gJ,EAAKjiJ,OAAQqB,IACjC,CACI0xB,EAAO1xB,MAIP,IAAK,IAFD+7G,EAAS6kC,EAAK5gJ,GAAG6tB,MAAM,KAElB9tB,EAAI,EAAGA,EAAIg8G,EAAOp9G,OAAQoB,IAE/B2xB,EAAO1xB,GAAGD,GAAK,IAAIvC,EAAO8gJ,KAAK6F,EAAIxnC,OAAO,GAAIxtF,SAAS4sF,EAAOh8G,GAAI,IAAKA,EAAGC,EAAG+xE,EAAWC,GAG9E,IAAVp4E,IAEAA,EAAQmiH,EAAOp9G,QAmBvB,OAfAwlJ,EAAI1zI,OAASjT,EAAOuwE,QAAQ87C,IAC5Bs6B,EAAIn2H,KAAOhf,EACXm1I,EAAIvqJ,MAAQA,EACZuqJ,EAAItqJ,OAASA,EACbsqJ,EAAIpyE,UAAYA,EAChBoyE,EAAInyE,WAAaA,EACjBmyE,EAAIlF,cAAgBrlJ,EAAQm4E,EAC5BoyE,EAAIjF,eAAiBrlJ,EAASm4E,EAE9BmyE,EAAIxnC,OAAO,GAAG/iH,MAAQA,EACtBuqJ,EAAIxnC,OAAO,GAAG9iH,OAASA,EACvBsqJ,EAAIxnC,OAAO,GAAGsiC,cAAgBkF,EAAIlF,cAClCkF,EAAIxnC,OAAO,GAAGuiC,eAAiBiF,EAAIjF,eACnCiF,EAAIxnC,OAAO,GAAGvsG,KAAOshB,EAEdyyH,GASXwE,aAAc,SAAU52E,EAAWC,EAAYp4E,EAAOC,GAElD,OACID,WAAkB2I,IAAV3I,GAAiC,OAAVA,EAAkBA,EAAQ,EACzDC,YAAoB0I,IAAX1I,GAAmC,OAAXA,EAAmBA,EAAS,EAC7Dk4E,eAA0BxvE,IAAdwvE,GAAyC,OAAdA,EAAsBA,EAAY,EACzEC,gBAA4BzvE,IAAfyvE,GAA2C,OAAfA,EAAuBA,EAAa,EAC7EkuD,YAAa,aACb8e,QAAS,IACTltD,cACAmtD,cAAe,EACfC,eAAgB,EAChBviC,SAEQ3uF,KAAM,QACNjuB,EAAG,EACHC,EAAG,EACHpG,MAAO,EACPC,OAAQ,EACRolJ,cAAe,EACfC,eAAgB,EAChBjiJ,MAAO,EACPC,SAAS,EACT40F,cACA8vD,WACAxqF,aACAyqF,UACAzxI,UAGR84G,UACAzd,WACA6zC,aACAH,YACAriC,WAIRgsC,OAAQ,SAAU/6H,EAAKg7H,GAEnB,IAAIC,KAEJ,IAAK,IAAI71H,KAAK41H,EACd,CACI,IAAI/5I,EAAM+5I,EAAO51H,QAEO,IAAbpF,EAAI/e,KAEXg6I,EAAOh6I,GAAO+e,EAAI/e,IAI1B,OAAOg6I,GAaXC,iBAAkB,SAAUC,EAAaC,EAAmBC,EAAqBC,EAASC,GAEtF,IAAID,EAAUA,GAAWH,EAAYl7H,KACjCs7H,EAAmBA,IAAqBvpJ,EAAG,EAAGC,EAAG,GACjDgsB,EAAQhwB,KAAK8sJ,OAEZO,GAED/sJ,QAAQ+Z,KAAK,gCAAiC6yI,QAGvB3mJ,IAAvB+mJ,EAAiBvpJ,QAA0CwC,IAAvB+mJ,EAAiBtpJ,GAErD1D,QAAQ+Z,KAAK,8CAA+CizI,GAGhEH,EAAkBE,GAAWF,EAAkBE,OAC/CD,EAAoBC,GAAWD,EAAoBC,OAEnD,IAAK,IAAI7uG,EAAI,EAAG1tB,EAAMo8H,EAAYz9C,QAAQ9sG,OAAQ67C,EAAI1tB,EAAK0tB,IAC3D,CACI,IAAIhqB,EAAI04H,EAAYz9C,QAAQjxD,GAG5B,GAAIhqB,EAAE6tH,IACN,CACQjpG,GACAipG,IAAK7tH,EAAE6tH,IACPrwH,KAAMwC,EAAExC,KACRxe,KAAMghB,EAAEhhB,MAAQ,GAChBzP,EAAGywB,EAAEzwB,EAAIupJ,EAAiBvpJ,EAC1BC,EAAGwwB,EAAExwB,EAAIspJ,EAAiBtpJ,EAC1BpG,MAAO42B,EAAE52B,MACTC,OAAQ22B,EAAE32B,OACVqD,QAASszB,EAAEtzB,QACX40F,WAAYthE,EAAEshE,YAGdthE,EAAExzB,WAEFo4C,EAAOp4C,SAAWwzB,EAAExzB,UAGxBmsJ,EAAkBE,GAASvlJ,KAAKsxC,QAE/B,GAAI5kB,EAAE+4H,SACX,CACI,IAAIn0G,GACApnB,KAAMwC,EAAExC,KACRxe,KAAMghB,EAAEhhB,KACRzP,EAAGywB,EAAEzwB,EAAIupJ,EAAiBvpJ,EAC1BC,EAAGwwB,EAAExwB,EAAIspJ,EAAiBtpJ,EAC1BpG,MAAO42B,EAAE52B,MACTC,OAAQ22B,EAAE32B,OACVqD,QAASszB,EAAEtzB,QACX40F,WAAYthE,EAAEshE,YAGdthE,EAAExzB,WAEFo4C,EAAOp4C,SAAWwzB,EAAExzB,UAGxBo4C,EAAOm0G,YAGP,IAASvqJ,EAAI,EAAGA,EAAIwxB,EAAE+4H,SAAS5qJ,OAAQK,IAEnCo2C,EAAOm0G,SAASzlJ,MAAO0sB,EAAE+4H,SAASvqJ,GAAGe,EAAGywB,EAAE+4H,SAASvqJ,GAAGgB,IAG1DopJ,EAAoBC,GAASvlJ,KAAKsxC,GAClC+zG,EAAkBE,GAASvlJ,KAAKsxC,QAI/B,GAAI5kB,EAAE0rD,QACX,EACQ9mC,EAASppB,EAAMwE,GAAK,OAAQ,OAAQ,IAAK,IAAK,UAAW,WAAY,gBAElEzwB,GAAKupJ,EAAiBvpJ,EAC7Bq1C,EAAOp1C,GAAKspJ,EAAiBtpJ,EAG7Bo1C,EAAO8mC,WAEP,IAAK,IAAIl9E,EAAI,EAAGA,EAAIwxB,EAAE0rD,QAAQv9E,OAAQK,IAElCo2C,EAAO8mC,QAAQp4E,MAAO0sB,EAAE0rD,QAAQl9E,GAAGe,EAAGywB,EAAE0rD,QAAQl9E,GAAGgB,IAGvDopJ,EAAoBC,GAASvlJ,KAAKsxC,GAClC+zG,EAAkBE,GAASvlJ,KAAKsxC,QAI3B5kB,EAAE22G,UAEH/xF,EAASppB,EAAMwE,GAAK,OAAQ,OAAQ,UAAW,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBAChGzwB,GAAKupJ,EAAiBvpJ,EAC7Bq1C,EAAOp1C,GAAKspJ,EAAiBtpJ,EAE7BopJ,EAAoBC,GAASvlJ,KAAKsxC,GAClC+zG,EAAkBE,GAASvlJ,KAAKsxC,MAM5BA,EAASppB,EAAMwE,GAAK,OAAQ,OAAQ,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBACrFzwB,GAAKupJ,EAAiBvpJ,EAC7Bq1C,EAAOp1C,GAAKspJ,EAAiBtpJ,EAE7Bo1C,EAAOiwF,WAAY,EACnB+jB,EAAoBC,GAASvlJ,KAAKsxC,GAClC+zG,EAAkBE,GAASvlJ,KAAKsxC,IAIxC,OACI+zG,kBAAmBA,EACnBC,oBAAqBA,IAU7BP,eAAgB,SAAUxsC,GAEtB,GAAyB,eAArBA,EAAK6jB,YAIL,OAFA5jI,QAAQ+Z,KAAK,4EAA6EgmG,EAAK6jB,aAExF,KAGP7jB,EAAK2iC,QAAU,KAEf1iJ,QAAQ+Z,KAAK,uMAAwMgmG,EAAK2iC,SAoB9N,IAAK,IAhBDmF,GACAvqJ,MAAOyiH,EAAKziH,MACZC,OAAQwiH,EAAKxiH,OACbk4E,UAAWsqC,EAAKQ,UAChB7qC,WAAYqqC,EAAKO,WACjBsjB,YAAa7jB,EAAK6jB,YAClBzvH,OAAQjT,EAAOuwE,QAAQ+7C,WACvBk1B,QAAS3iC,EAAK2iC,QACdltD,WAAYuqB,EAAKvqB,WACjBmtD,cAAe5iC,EAAKziH,MAAQyiH,EAAKQ,UACjCqiC,eAAgB7iC,EAAKxiH,OAASwiH,EAAKO,YAInCD,KAEKj+G,EAAI,EAAGA,EAAI29G,EAAKM,OAAOh+G,OAAQD,IAEpC,GAA4B,cAAxB29G,EAAKM,OAAOj+G,GAAG8Q,KAAnB,CAKA,IAAIg6I,EAAOntC,EAAKM,OAAOj+G,GAOvB,IAAK8qJ,EAAKr0I,aAAeq0I,EAAKC,UAA8B,WAAlBD,EAAKC,SAC/C,CASI,IAAK,IARDC,EAAet9I,OAAOu9I,KAAKH,EAAKp5I,MAChC0c,EAAM48H,EAAa/qJ,OACnBirJ,EAAQ,IAAInmJ,MAAMqpB,GAMbjpB,EAAI,EAAGA,EAAIipB,EAAKjpB,GAAK,EAE1B+lJ,EAAM/lJ,EAAI,IACN6lJ,EAAa9oF,WAAW/8D,GACxB6lJ,EAAa9oF,WAAW/8D,EAAI,IAAM,EAClC6lJ,EAAa9oF,WAAW/8D,EAAI,IAAM,GAClC6lJ,EAAa9oF,WAAW/8D,EAAI,IAAM,MAChC,EAGV2lJ,EAAKp5I,KAAOw5I,SAELJ,EAAKC,cAEX,GAAID,EAAKr0I,YACd,CACI7Y,QAAQ+Z,KAAK,yDAA0DmzI,EAAKx7H,MAE5E,SAGAi/G,GAEAj/G,KAAMw7H,EAAKx7H,KACXjuB,EAAGypJ,EAAKzpJ,EACRC,EAAGwpJ,EAAKxpJ,EACRpG,MAAO4vJ,EAAK5vJ,MACZC,OAAQ2vJ,EAAK3vJ,OACbolJ,cAAeuK,EAAK5vJ,MAAQyiH,EAAKQ,UACjCqiC,eAAgBsK,EAAK3vJ,OAASwiH,EAAKO,WACnC3/G,MAAOusJ,EAAKK,QACZnpI,QAAS8oI,EAAKM,QACdnpI,QAAS6oI,EAAKO,QACd7sJ,QAASssJ,EAAKtsJ,QACd40F,cACA8vD,WACAxqF,aACAyqF,WAIA2H,EAAK13D,aAELm7C,EAAMn7C,WAAa03D,EAAK13D,YAgB5B,IAAK,IAVD90F,EAAUuhJ,EAASyL,EAHnBjqJ,EAAI,EACJ+7G,KACApqF,KAWK7E,EAAI,EAAGC,EAAM08H,EAAKp5I,KAAKzR,OAAQkuB,EAAIC,EAAKD,IACjD,CAOI,GANA7vB,EAAW,EACXuhJ,GAAU,EACVF,EAAMmL,EAAKp5I,KAAKyc,GAChBm9H,EAAa,EAGT3L,EAAM,UAuBN,OApBIA,EAAM,aAENA,GAAO,WACP2L,GAAc,GAId3L,EAAM,aAENA,GAAO,WACP2L,GAAc,GAId3L,EAAM,YAENA,GAAO,UACP2L,GAAc,GAGVA,GAEJ,KAAK,EACDhtJ,EAAW0C,KAAKsxB,GAAK,EACrB,MAEJ,KAAK,EACDh0B,EAAW0C,KAAKsxB,GAChB,MAEJ,KAAK,EACDh0B,EAAW,EAAI0C,KAAKsxB,GAAK,EACzB,MAEJ,KAAK,EACDh0B,EAAW,EACXuhJ,GAAU,EACV,MAEJ,KAAK,EACDvhJ,EAAW0C,KAAKsxB,GAAK,EACrButH,GAAU,EACV,MAEJ,KAAK,EACDvhJ,EAAW0C,KAAKsxB,GAChButH,GAAU,EACV,MAEJ,KAAK,EACDvhJ,EAAW,EAAI0C,KAAKsxB,GAAK,EACzButH,GAAU,EAMlBF,EAAM,IAEFzB,EAAO,IAAIp/I,EAAO8gJ,KAAKrR,EAAOoR,EAAKt+I,EAAG2xB,EAAO/yB,OAAQ09G,EAAKQ,UAAWR,EAAKO,aAEzE5/G,SAAWA,EAChB4/I,EAAK2B,QAAUA,EAEI,IAAfyL,IAGApN,EAAKoN,WAAaA,GAGtBluC,EAAIh4G,KAAK84I,IAGTp/I,EAAOuhJ,cAAc2J,YAErB5sC,EAAIh4G,KAAK,MAITg4G,EAAIh4G,KAAK,IAAItG,EAAO8gJ,KAAKrR,GAAQ,EAAGltI,EAAG2xB,EAAO/yB,OAAQ09G,EAAKQ,UAAWR,EAAKO,eAG/E78G,IAEUypJ,EAAK5vJ,QAEX83B,EAAO5tB,KAAKg4G,GACZ/7G,EAAI,EACJ+7G,MAIRmxB,EAAM78H,KAAOshB,EAEbirF,EAAO74G,KAAKmpI,GAGhBkX,EAAIxnC,OAASA,EAKb,IAAK,IAFDuM,KAEKxqH,EAAI,EAAGA,EAAI29G,EAAKM,OAAOh+G,OAAQD,IAEpC,GAA4B,eAAxB29G,EAAKM,OAAOj+G,GAAG8Q,KAAnB,CAKA,IAAIy6I,EAAO5tC,EAAKM,OAAOj+G,GAEnBwX,GAEA8X,KAAMi8H,EAAKj8H,KACX9X,MAAO+zI,EAAK/zI,MACZnW,EAAGkqJ,EAAKlqJ,EACRC,EAAGiqJ,EAAKjqJ,EACR/C,MAAOgtJ,EAAKJ,QACZ3sJ,QAAS+sJ,EAAK/sJ,QACd40F,eAIAm4D,EAAKn4D,aAEL57E,EAAM47E,WAAam4D,EAAKn4D,YAG5Bo3B,EAAOplH,KAAKoS,GAGhBiuI,EAAIj7B,OAASA,EAQb,IAAK,IALDi2B,KACA+K,KACA9K,KACA+K,EAAU,KAELzrJ,EAAI,EAAGA,EAAI29G,EAAK8iC,SAASxgJ,OAAQD,IAC1C,CAII,IAFIyE,EAAMk5G,EAAK8iC,SAASzgJ,IAEhB0M,OAEJ9O,QAAQ+Z,KAAK,oJAAsJlT,EAAIiI,aAEtK,GAAIjI,EAAI+S,MACb,CACI,IAAIqqI,EAAS,IAAI/iJ,EAAOgjJ,QAAQr9I,EAAI6qB,KAAM7qB,EAAI26I,SAAU36I,EAAI05G,UAAW15G,EAAIy5G,WAAYz5G,EAAIw4G,OAAQx4G,EAAIy4G,QAASz4G,EAAI2uF,YAEhH3uF,EAAIinJ,iBAEJ7J,EAAO8J,eAAiBlnJ,EAAIinJ,gBAOhC7J,EAAO+J,eAAennJ,EAAIonJ,WAAYpnJ,EAAIqnJ,aAE1CrL,EAASr7I,KAAKy8I,OAEb,CAAA,IAAIp9I,EAAI25G,MAeT,MAAM,IAAI/3G,MAAM,WAAa5B,EAAI6qB,KAAO,wCAbxC,IAAIy8H,EAAgB,IAAIjtJ,EAAOqgJ,gBAAgB16I,EAAI6qB,KAAM7qB,EAAI26I,SAAU36I,EAAI05G,UAAW15G,EAAIy5G,WAAYz5G,EAAIw4G,OAAQx4G,EAAIy4G,QAASz4G,EAAI2uF,YAEnI,IAAK,IAAI44D,KAAMvnJ,EAAI25G,MACnB,CACI,IAAI5mG,EAAQ/S,EAAI25G,MAAM4tC,GAAIx0I,MACtBmoI,EAAMl7I,EAAI26I,SAAW3uH,SAASu7H,EAAI,IACtCD,EAAc1yE,SAASsmE,EAAKnoI,GAGhCkpI,EAAiBt7I,KAAK2mJ,GAQ1B,IAAK,IAAIC,KAAMvnJ,EAAI25G,OAEXosC,EAAc/lJ,EAAI25G,MAAM4tC,GAAIC,eAOhCT,EAAoB/6H,SAASu7H,EAAI,IAAMvnJ,EAAI26I,UAAYoL,GAIvDiB,IAEAA,EAAQS,QAAUznJ,EAAI26I,SAAW,GAGrCqM,EAAUhnJ,EAGd,GAAwB,IAApBg8I,EAASxgJ,QAA4C,IAA5BygJ,EAAiBzgJ,OAE1C,MAAM,IAAIoG,MAAM,iCAGpBo/I,EAAIhF,SAAWA,EACfgF,EAAI/E,iBAAmBA,EAMvB,IAAK,IAHD3zC,KACA6zC,KAEK5gJ,EAAI,EAAGA,EAAI29G,EAAKM,OAAOh+G,OAAQD,IAEpC,GAA4B,gBAAxB29G,EAAKM,OAAOj+G,GAAG8Q,KAAnB,CAKA,IAAI05I,EAAc7sC,EAAKM,OAAOj+G,GAC9B1C,KAAKitJ,iBAAiBC,EAAaz9C,EAAS6zC,GAGhD6E,EAAI14C,QAAUA,EACd04C,EAAI7E,UAAYA,EAEhB6E,EAAIrnC,SAGJ,IAASp+G,EAAI,EAAGA,EAAIylJ,EAAIhF,SAASxgJ,OAAQD,IAWrC,IAAK,IAPDqB,GAFAoD,EAAMghJ,EAAIhF,SAASzgJ,IAEXyhJ,WACRngJ,EAAImD,EAAIg9I,WAER5lI,EAAQ,EACRkmI,EAAS,EACTC,EAAS,EAEJ7zH,EAAI1pB,EAAI26I,SAAUjxH,EAAI1pB,EAAI26I,SAAW36I,EAAIwxC,QAG9CwvG,EAAIrnC,MAAMjwF,IAAO9sB,EAAGC,EAAGtB,GAEvBqB,GAAKoD,EAAI4uE,UAAY5uE,EAAIi9I,cAEzB7lI,IAEcpX,EAAIwxC,WAKlB8rG,IAEet9I,EAAIw9I,UAEf5gJ,EAAIoD,EAAIg9I,WACRngJ,GAAKmD,EAAI6uE,WAAa7uE,EAAIi9I,YAE1BK,EAAS,IACTC,IAEev9I,EAAIy9I,OAxB8B/zH,KAwC7D,IAAK,IANDogH,EACA2P,EACAiO,EACA1nJ,EAGKzE,EAAI,EAAGA,EAAIylJ,EAAIxnC,OAAOh+G,OAAQD,IACvC,CAEI4gJ,GADArS,EAAQkX,EAAIxnC,OAAOj+G,IACHsvB,SAChB7qB,EAAM,KAGN,IAASU,EAAI,EAAGA,EAAIopI,EAAM78H,KAAKzR,OAAQkF,IACvC,CACIi4G,EAAMmxB,EAAM78H,KAAKvM,GAGjB,IAAK,IAAIsvB,EAAI,EAAGA,EAAI2oF,EAAIn9G,OAAQw0B,IAIf,QAFbypH,EAAO9gC,EAAI3oF,KAEUypH,EAAKh4I,MAAQ,IAOlCimJ,EAAM1G,EAAIrnC,MAAM8/B,EAAKh4I,OAAO,IAC5BzB,EAAMghJ,EAAIhF,SAAS0L,IAKXR,gBAAkBlnJ,EAAIknJ,eAAezN,EAAKh4I,MAAQzB,EAAI26I,YAE1DlB,EAAK9qD,WAAat0F,EAAOgwB,MAAM6C,MAAMltB,EAAIknJ,eAAezN,EAAKh4I,MAAQzB,EAAI26I,UAAWlB,EAAK9qD,cAGzFo3D,EAAcgB,EAAoBtN,EAAKh4I,SAIvC5I,KAAKitJ,iBACDC,EACA/E,EAAI14C,QACJ04C,EAAI7E,UACJ1C,EAAK3P,MAAMj/G,MAEPjuB,EAAG68I,EAAK9W,OAASojB,EAAYnpJ,EAC7BC,EAAG48I,EAAK7W,OAASmjB,EAAYlpJ,MAOrD,OAAOmkJ,IA0Bf3mJ,EAAOgjJ,QAAU,SAAUxyH,EAAM8vH,EAAUlkJ,EAAOC,EAAQ8hH,EAAQC,EAAS9pB,SAEzDvvF,IAAV3I,GAAuBA,GAAS,KAAKA,EAAQ,UAClC2I,IAAX1I,GAAwBA,GAAU,KAAKA,EAAS,SACrC0I,IAAXo5G,IAAwBA,EAAS,QACrBp5G,IAAZq5G,IAAyBA,EAAU,GAMvC5/G,KAAKgyB,KAAOA,EAOZhyB,KAAK8hJ,SAAsB,EAAXA,EAOhB9hJ,KAAK+1E,UAAoB,EAARn4E,EAOjBoC,KAAKg2E,WAAsB,EAATn4E,EASlBmC,KAAKmkJ,WAAsB,EAATxkC,EAQlB3/G,KAAKokJ,YAAwB,EAAVxkC,EAMnB5/G,KAAK81F,WAAaA,MAQlB91F,KAAKka,MAAQ,KAQbla,KAAK4kJ,KAAO,EAQZ5kJ,KAAK2kJ,QAAU,EAQf3kJ,KAAK24C,MAAQ,EAQb34C,KAAK8uJ,eAGTttJ,EAAOgjJ,QAAQliJ,WAYXi5E,KAAM,SAAUztE,EAAS/J,EAAGC,EAAG4E,GAG3B,IAAImmJ,EAAcnmJ,EAAQ5I,KAAK8hJ,UAAa,EAExCiN,GAAc,GAAMA,EAAa,EAAK/uJ,KAAK8uJ,WAAWnsJ,QAEtDmL,EAAQmB,UACJjP,KAAKka,MACLla,KAAK8uJ,WAAWC,GAChB/uJ,KAAK8uJ,WAAWC,EAAa,GAC7B/uJ,KAAK+1E,UACL/1E,KAAKg2E,WACLjyE,EACAC,EACAhE,KAAK+1E,UACL/1E,KAAKg2E,aAajB40E,kBAAmB,SAAUF,GAEzB,OACIA,GAAa1qJ,KAAK8hJ,UAClB4I,EAAa1qJ,KAAK8hJ,SAAW9hJ,KAAK24C,OAW1C2rG,SAAU,SAAUpqI,GAEhBla,KAAKka,MAAQA,EACbla,KAAKsuJ,eAAep0I,EAAMtc,MAAOsc,EAAMrc,SAW3CmxJ,WAAY,SAAUrvC,EAAQC,GAE1B5/G,KAAKmkJ,WAAsB,EAATxkC,EAClB3/G,KAAKokJ,YAAwB,EAAVxkC,EAEf5/G,KAAKka,OAELla,KAAKsuJ,eAAetuJ,KAAKka,MAAMtc,MAAOoC,KAAKka,MAAMrc,SAYzDywJ,eAAgB,SAAUvM,EAAYC,GAGlC,IAAIiN,GAAYjN,EAAgC,EAAlBhiJ,KAAKmkJ,WAAiBnkJ,KAAKokJ,cAAgBpkJ,KAAKg2E,WAAah2E,KAAKokJ,aAC5F8K,GAAYnN,EAA+B,EAAlB/hJ,KAAKmkJ,WAAiBnkJ,KAAKokJ,cAAgBpkJ,KAAK+1E,UAAY/1E,KAAKokJ,aAE1F6K,EAAW,GAAM,GAAKC,EAAW,GAAM,GAEvC5uJ,QAAQ+Z,KACJ,2GACAra,KAAKgyB,KAAM+vH,EAAYC,EAAahiJ,KAAK+1E,UAAW/1E,KAAKg2E,WAAYh2E,KAAKmkJ,WAAYnkJ,KAAKokJ,aAQnG6K,EAAWvrJ,KAAKmsB,MAAMo/H,GACtBC,EAAWxrJ,KAAKmsB,MAAMq/H,IAEjBlvJ,KAAK4kJ,MAAQ5kJ,KAAK4kJ,OAASqK,GAAcjvJ,KAAK2kJ,SAAW3kJ,KAAK2kJ,UAAYuK,IAE3E5uJ,QAAQ+Z,KACJ,yHACAra,KAAKka,MAAM8X,KAAMk9H,EAAUD,EAAUjvJ,KAAKgyB,KAAMhyB,KAAK2kJ,QAAS3kJ,KAAK4kJ,MAI3E5kJ,KAAK4kJ,KAAOqK,EACZjvJ,KAAK2kJ,QAAUuK,EACflvJ,KAAK24C,MAAQs2G,EAAWC,EAExBlvJ,KAAK8uJ,WAAWnsJ,OAAS,EAKzB,IAAK,IAHDW,EAAKtD,KAAKmkJ,WACV5gJ,EAAKvD,KAAKmkJ,WAELngJ,EAAI,EAAGA,EAAIhE,KAAK4kJ,KAAM5gJ,IAC/B,CACI,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAK2kJ,QAAS5gJ,IAE9B/D,KAAK8uJ,WAAWhnJ,KAAKxE,GACrBtD,KAAK8uJ,WAAWhnJ,KAAKvE,GACrBD,GAAMtD,KAAK+1E,UAAY/1E,KAAKokJ,YAGhC9gJ,EAAKtD,KAAKmkJ,WACV5gJ,GAAMvD,KAAKg2E,WAAah2E,KAAKokJ,eAMzC5iJ,EAAOgjJ,QAAQliJ,UAAUC,YAAcf,EAAOgjJ,QAoB9ChjJ,EAAO2tJ,SAAW,SAAUpsJ,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEzC7L,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAM1CrN,KAAKovJ,WAAY,EAMjBpvJ,KAAKqvJ,UAAY,KAMjBrvJ,KAAKsvJ,GAAK,EAMVtvJ,KAAKuvJ,WAAY,EAMjBvvJ,KAAKwvJ,UAAY,KAMjBxvJ,KAAKyvJ,GAAK,GAGdjuJ,EAAO2tJ,SAAS7sJ,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACxDd,EAAO2tJ,SAAS7sJ,UAAUC,YAAcf,EAAO2tJ,SAQ/C3tJ,EAAO2tJ,SAAS7sJ,UAAUwiC,OAAS,WAE3B9kC,KAAKovJ,cAELpvJ,KAAKsvJ,GAIDtvJ,KAAKc,MAAMqG,IAAInH,KAAKqvJ,UAAUrvJ,KAAKsvJ,IAAIvrJ,EAAG/D,KAAKqvJ,UAAUrvJ,KAAKsvJ,IAAItrJ,GAIlEhE,KAAKovJ,WAAY,GAIrBpvJ,KAAKuvJ,cAELvvJ,KAAKyvJ,GAIDzvJ,KAAKiB,MAAQjB,KAAKwvJ,UAAUxvJ,KAAKyvJ,IAAIjxG,EAIrCx+C,KAAKuvJ,WAAY,IAW7B/tJ,EAAO2tJ,SAAS7sJ,UAAUotJ,OAAS,aAUnCluJ,EAAO2tJ,SAAS7sJ,UAAUqtJ,aAAe,SAAUv7I,GAE/CpU,KAAKwvJ,UAAYp7I,EACjBpU,KAAKyvJ,GAAKr7I,EAAKzR,OAAS,EACxB3C,KAAKiB,MAAQjB,KAAKwvJ,UAAUxvJ,KAAKyvJ,IAAIjxG,EACrCx+C,KAAKuvJ,WAAY,GASrB/tJ,EAAO2tJ,SAAS7sJ,UAAUstJ,aAAe,SAAUx7I,GAE/CpU,KAAKqvJ,UAAYj7I,EACjBpU,KAAKsvJ,GAAKl7I,EAAKzR,OAAS,EACxB3C,KAAKc,MAAMqG,IAAInH,KAAKqvJ,UAAUrvJ,KAAKsvJ,IAAIvrJ,EAAG/D,KAAKqvJ,UAAUrvJ,KAAKsvJ,IAAItrJ,GAClEhE,KAAKovJ,WAAY,GAerB5tJ,EAAO2tJ,SAAS7sJ,UAAUyjC,MAAQ,SAAUhiC,EAAGC,EAAGssE,GAU9C,OARA9uE,EAAOqpE,UAAUgI,MAAMvwE,UAAUyjC,MAAMvhC,KAAKxE,KAAM+D,EAAGC,EAAGssE,GAExDtwE,KAAKiB,MAAQ,EACbjB,KAAKc,MAAMqG,IAAI,GAEfnH,KAAKovJ,WAAY,EACjBpvJ,KAAKuvJ,WAAY,EAEVvvJ,MAgBXwB,EAAOi8C,UAAY,SAAU16C,GAKzB/C,KAAK+C,KAAOA,EAKZ/C,KAAK6vJ,YAML7vJ,KAAK8vJ,GAAK,GAGdtuJ,EAAOi8C,UAAUn7C,WAQb22B,IAAK,SAAU67C,GAGX,OADA90E,KAAK6vJ,SAAS/6E,EAAQ5gE,IAAM4gE,EACrBA,GAQX34D,OAAQ,SAAU24D,UAEP90E,KAAK6vJ,SAAS/6E,EAAQ5gE,MAKrC1S,EAAOi8C,UAAUn7C,UAAUC,YAAcf,EAAOi8C,UAahDj8C,EAAOi8C,UAAUu3B,UAqBjBxzE,EAAOi8C,UAAUu3B,OAAOC,QAAU,SAAUlyE,EAAMgB,EAAGC,EAAG+wE,GAMpD/0E,KAAK+0E,aAAeA,GAAgB,GAEpCvzE,EAAOywC,MAAMztC,KAAKxE,KAAM+C,GAMxB/C,KAAKuzH,IAAMvzH,KAAK+C,KAAKyjC,UAAUspH,KAK/B9vJ,KAAKgyB,KAAO,UAAYhyB,KAAKkU,GAM7BlU,KAAKwT,KAAOhS,EAAOqrB,QAMnB7sB,KAAKuyC,YAAc/wC,EAAOirB,MAM1BzsB,KAAKk/B,KAAO,IAAI19B,EAAOS,UAAU8B,EAAGC,EAAG,EAAG,GAM1ChE,KAAK+vJ,SAAW,KAMhB/vJ,KAAKgwJ,SAAW,KAMhBhwJ,KAAKiwJ,SAAW,EAMhBjwJ,KAAKkwJ,SAAW,IAMhBlwJ,KAAKmwJ,iBAAmB,IAAI3uJ,EAAOX,OAAO,KAAM,KAMhDb,KAAKowJ,iBAAmB,IAAI5uJ,EAAOX,MAAM,IAAK,KAM9Cb,KAAKqwJ,iBAAmB,EAMxBrwJ,KAAKswJ,iBAAmB,EAKxBtwJ,KAAKqvJ,UAAY,KAMjBrvJ,KAAKuwJ,aAAe,IAMpBvwJ,KAAKwwJ,YAAc,IAMnBxwJ,KAAKywJ,iBAAmB,EAMxBzwJ,KAAK0wJ,iBAAmB,EAKxB1wJ,KAAKwvJ,UAAY,KAMjBxvJ,KAAK2wJ,cAAgBnvJ,EAAO2tJ,SAK5BnvJ,KAAK4wJ,aAAe,IAAIpvJ,EAAOX,MAM/Bb,KAAK+3I,YAAc,EAMnB/3I,KAAK8tG,UAAY,IAMjB9tG,KAAKqxE,SAAW,IAKhBrxE,KAAKw7I,OAAS,IAAIh6I,EAAOX,MAMzBb,KAAKqxC,IAAK,EAMVrxC,KAAK6wJ,eAAiB,IAAIrvJ,EAAOX,MAAM,GAAK,IAM5Cb,KAAKiI,UAAYzG,EAAO0G,WAAWE,OAQnCpI,KAAK8wJ,MAAQ/sJ,EAQb/D,KAAK+wJ,MAAQ/sJ,EAKbhE,KAAKovJ,WAAY,EAKjBpvJ,KAAKuvJ,WAAY,EAMjBvvJ,KAAKgxJ,oBAAqB,EAM1BhxJ,KAAKixJ,oBAAqB,EAS1BjxJ,KAAKkxJ,QACDC,QAAS,EACTC,OAAQ,EACRC,aAAc,EACdC,YAAa,GAOjBtxJ,KAAKuxJ,SAAW,IAAI/vJ,EAAOX,MAAM,EAAG,KAMpCb,KAAKwxJ,kBAAoB,IAAIhwJ,EAAOX,MAAM,EAAG,GAM7Cb,KAAKyxJ,kBAAoB,IAAIjwJ,EAAOX,MAAM,EAAG,GAM7Cb,KAAKo3I,OAAS,EAMdp3I,KAAK0xJ,OAAS,EAMd1xJ,KAAK2xJ,SAAW,EAMhB3xJ,KAAK4xJ,cAAgB,EAMrB5xJ,KAAK6xJ,WAAa,EAMlB7xJ,KAAK8xJ,UAAW,EAMhB9xJ,KAAKm9G,QAAU,MAGnB37G,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAY0E,OAAOwB,OAAOhH,EAAOywC,MAAM3vC,WACvEd,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUC,YAAcf,EAAOi8C,UAAUu3B,OAAOC,QAOhFzzE,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUwiC,OAAS,WAK/C,GAHA9kC,KAAKkxJ,OAAOC,QAAU,EACtBnxJ,KAAKkxJ,OAAOE,OAAS,EAEjBpxJ,KAAKqxC,IAAMrxC,KAAK+C,KAAKmiC,KAAKA,MAAQllC,KAAK0xJ,OAIvC,GAFA1xJ,KAAK0xJ,OAAS1xJ,KAAK+C,KAAKmiC,KAAKA,KAAOllC,KAAK8tG,UAAY9tG,KAAK+C,KAAKmiC,KAAKwa,WAE5C,IAApB1/C,KAAK6xJ,WAEL,GAAI7xJ,KAAK4xJ,cAAgB,GAErB,IAASlvJ,EAAI,EAAGA,EAAI1C,KAAK4xJ,cAAelvJ,IAEpC,GAAI1C,KAAK+xJ,iBAEL/xJ,KAAK2xJ,YAEoB,IAArB3xJ,KAAK6xJ,YAAqB7xJ,KAAK2xJ,UAAY3xJ,KAAK6xJ,YACpD,CACI7xJ,KAAKqxC,IAAK,EACV,YAMZrxC,KAAK+xJ,iBAEL/xJ,KAAK2xJ,YAEoB,IAArB3xJ,KAAK6xJ,YAAqB7xJ,KAAK2xJ,UAAY3xJ,KAAK6xJ,aAEhD7xJ,KAAKqxC,IAAK,SAKlBrxC,KAAK+xJ,iBAEL/xJ,KAAK2xJ,WAED3xJ,KAAKo3I,OAAS,GAAKp3I,KAAK2xJ,UAAY3xJ,KAAKo3I,SAEzCp3I,KAAKqxC,IAAK,IAOtB,IAFA,IAAI3uC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEC1C,KAAKyC,SAASC,GAAGwK,QAEjBlN,KAAKyC,SAASC,GAAGoiC,UAkB7BtjC,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAU0vJ,cAAgB,SAAUtgI,EAAM2pE,EAAQ3mD,EAAUkkG,EAAS0F,EAAoB2T,QAEtG1rJ,IAAX80F,IAAwBA,EAAS,QACpB90F,IAAbmuC,IAA0BA,EAAW10C,KAAK+0E,mBAC9BxuE,IAAZqyI,IAAyBA,GAAU,QACZryI,IAAvB+3I,IAAoCA,GAAqB,QACnC/3I,IAAtB0rJ,IAAmCA,EAAoB,MAE3D,IAAIC,EACAxvJ,EAAI,EACJyvJ,EAASzgI,EACT0gI,EAAW/2D,EAQf,IAPAr7F,KAAKm9G,QAAU9hB,EAEX3mD,EAAW10C,KAAK+0E,eAEhB/0E,KAAK+0E,aAAergC,GAGjBhyC,EAAIgyC,GAEHjtC,MAAMC,QAAQgqB,KAEdygI,EAASnyJ,KAAK+C,KAAKsiC,IAAI0U,KAAKroB,IAG5BjqB,MAAMC,QAAQ2zF,KAEd+2D,EAAWpyJ,KAAK+C,KAAKsiC,IAAI0U,KAAKshD,IAGlC62D,EAAW,IAAIlyJ,KAAK2wJ,cAAc3wJ,KAAK+C,KAAM,EAAG,EAAGovJ,EAAQC,EAAUH,GAErEjyJ,KAAK+C,KAAK0jC,QAAQyvG,OAAOl9H,OAAOk5I,GAAU,GAE1CA,EAASpgH,KAAKglG,eAAesD,MAAQxB,EACrCsZ,EAASpgH,KAAKwsG,mBAAqBA,EACnC4T,EAASpgH,KAAKqlG,cAAe,EAE7B+a,EAAShlJ,QAAS,EAClBglJ,EAAShxJ,SAAU,EACnBgxJ,EAASvrJ,OAAO0uB,SAASr1B,KAAK6wJ,gBAE9B7wJ,KAAKi5B,IAAIi5H,GAETxvJ,IAGJ,OAAO1C,MASXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAU00C,KAAO,WAM7C,OAJAh3C,KAAKqxC,IAAK,EACVrxC,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EAEPlN,MASXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAU60C,OAAS,WAK/C,OAHAn3C,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EAEPlN,MAWXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAU+vJ,QAAU,SAAUhhF,EAAU38B,GAWpE,YATiBnuC,IAAbmuC,IAEAA,EAAW10C,KAAK+0E,cAGpB/0E,KAAK6xJ,WAAa,EAElB7xJ,KAAKsM,OAAM,EAAM+kE,EAAU,EAAG38B,GAAU,GAEjC10C,MAqBXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUgwJ,KAAO,SAAUjhF,EAAUy8B,EAAWp5D,EAAUiE,EAAO4kC,GA6B7F,YA3BkBh3E,IAAdunG,GAAyC,OAAdA,IAAsBA,EAAY,UAChDvnG,IAAbmuC,GAAuC,IAAbA,IAAkBA,EAAW,QAC7CnuC,IAAVoyC,IAAuBA,GAAS,QAClBpyC,IAAdg3E,IAA2BA,GAAY,GAEvC7oC,EAAW10C,KAAK+0E,eAEhBrgC,EAAW10C,KAAK+0E,cAGpB/0E,KAAK2xJ,SAAW,EAChB3xJ,KAAK4xJ,cAAgBl9G,EACrB10C,KAAK6xJ,WAAal5G,EAEd4kC,GAEAv9E,KAAKsM,OAAM,EAAM+kE,EAAUy8B,EAAWp5D,GAEtC10C,KAAK2xJ,UAAYj9G,EACjB10C,KAAKqxC,IAAK,EACVrxC,KAAK0xJ,OAAS1xJ,KAAK+C,KAAKmiC,KAAKA,KAAO4oE,EAAY9tG,KAAK+C,KAAKmiC,KAAKwa,YAI/D1/C,KAAKsM,OAAM,EAAO+kE,EAAUy8B,EAAWp5D,GAGpC10C,MAgCXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUgK,MAAQ,SAAU+lJ,EAAShhF,EAAUy8B,EAAWn1D,EAAO45G,GAoB7F,QAlBgBhsJ,IAAZ8rJ,IAAyBA,GAAU,QACtB9rJ,IAAb8qE,IAA0BA,EAAW,QACvB9qE,IAAdunG,GAAyC,OAAdA,IAAsBA,EAAY,UACnDvnG,IAAVoyC,IAAuBA,EAAQ,QACbpyC,IAAlBgsJ,IAA+BA,GAAgB,GAE/C55G,EAAQ34C,KAAK+0E,eAEbp8B,EAAQ34C,KAAK+0E,cAGjB/0E,KAAKm3C,SAELn3C,KAAKkB,SAAU,EAEflB,KAAKqxE,SAAWA,EAChBrxE,KAAK8tG,UAAYA,EAEbukD,GAAWE,EAEX,IAAK,IAAI7vJ,EAAI,EAAGA,EAAIi2C,EAAOj2C,IAEvB1C,KAAK+xJ,oBAKT/xJ,KAAKqxC,IAAK,EACVrxC,KAAKo3I,OAASz+F,EACd34C,KAAK2xJ,SAAW,EAChB3xJ,KAAK0xJ,OAAS1xJ,KAAK+C,KAAKmiC,KAAKA,KAAO4oE,EAAY9tG,KAAK+C,KAAKmiC,KAAKwa,WAGnE,OAAO1/C,MAmBXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUyvJ,aAAe,SAAUhuJ,EAAGC,EAAGgP,EAAK3F,QAEhE9G,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAE3B,IAAIkuJ,EAAWlyJ,KAAKwyJ,kBAEpB,GAAiB,OAAbN,EAKA,OAHAlyJ,KAAKkxJ,OAAOE,SACZpxJ,KAAKkxJ,OAAOI,eAEL,EAGXtxJ,KAAKkxJ,OAAOC,UACZnxJ,KAAKkxJ,OAAOG,eAEZ,IAAIhsH,EAAMrlC,KAAK+C,KAAKsiC,SAER9+B,IAARyM,QAA+BzM,IAAV8G,EAErB6kJ,EAASl5G,YAAYhmC,EAAK3F,QAEb9G,IAARyM,IAELk/I,EAASl5G,YAAYhmC,GACrBk/I,EAAS7kJ,MAAQ5F,MAAMC,QAAQ1H,KAAKm9G,SAAW93E,EAAI0U,KAAK/5C,KAAKm9G,SAAWn9G,KAAKm9G,SAGjF,IAAI2zC,EAAQ9wJ,KAAK8wJ,MACbC,EAAQ/wJ,KAAK+wJ,MAsBjB,OApBU,OAANhtJ,EAEA+sJ,EAAQ/sJ,EAEH/D,KAAKpC,MAAQ,IAElBkzJ,EAAQzrH,EAAI0V,QAAQ/6C,KAAK2zB,KAAM3zB,KAAK0zB,QAG9B,OAAN1vB,EAEA+sJ,EAAQ/sJ,EAEHhE,KAAKnC,OAAS,IAEnBkzJ,EAAQ1rH,EAAI0V,QAAQ/6C,KAAKq2B,IAAKr2B,KAAKs2B,SAGvCt2B,KAAKyyJ,cAAcP,EAAUpB,EAAOC,IAE7B,GAUXvvJ,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUkwJ,gBAAkB,WAIxD,IAFA,IAAI9vJ,EAAI1C,KAAK2C,OAEND,KACP,CACI,IAAIyyC,EAAOn1C,KAAKm1C,OAEhB,IAAKA,EAAKjoC,OAEN,OAAOioC,EAIf,OAAO,MAWX3zC,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUmwJ,cAAgB,SAAUP,EAAUnuJ,EAAGC,GAE7E,IAAIqhC,EAAMrlC,KAAK+C,KAAKsiC,IAEpB6sH,EAASnsH,MAAMhiC,EAAGC,GAElBkuJ,EAASt8H,MAAQ,EACjBs8H,EAAS7gF,SAAWrxE,KAAKqxE,SAErBrxE,KAAKgxJ,mBAELhxJ,KAAKu1C,WAAW28G,GAEXlyJ,KAAKixJ,oBAEVjxJ,KAAKy1C,WAAWy8G,GAGhBlyJ,KAAKovJ,UAEL8C,EAAStC,aAAa5vJ,KAAKqvJ,WAEI,IAA1BrvJ,KAAKqwJ,kBAAoD,IAA1BrwJ,KAAKswJ,iBAEzC4B,EAASpxJ,MAAMqG,IAAIk+B,EAAI6pE,YAAYlvG,KAAKqwJ,iBAAkBrwJ,KAAKswJ,mBAEzDtwJ,KAAKwxJ,kBAAkBztJ,IAAM/D,KAAKyxJ,kBAAkB1tJ,GAAO/D,KAAKwxJ,kBAAkBxtJ,IAAMhE,KAAKyxJ,kBAAkBztJ,EAErHkuJ,EAASpxJ,MAAMqG,IAAIk+B,EAAI6pE,YAAYlvG,KAAKwxJ,kBAAkBztJ,EAAG/D,KAAKyxJ,kBAAkB1tJ,GAAIshC,EAAI6pE,YAAYlvG,KAAKwxJ,kBAAkBxtJ,EAAGhE,KAAKyxJ,kBAAkBztJ,IAIzJkuJ,EAASpxJ,MAAMqG,IAAInH,KAAKwxJ,kBAAkBztJ,EAAG/D,KAAKwxJ,kBAAkBxtJ,GAGpEhE,KAAKuvJ,UAEL2C,EAASvC,aAAa3vJ,KAAKwvJ,WAI3B0C,EAASjxJ,MAAQokC,EAAI6pE,YAAYlvG,KAAKywJ,iBAAkBzwJ,KAAK0wJ,kBAGjEwB,EAASjqJ,UAAYjI,KAAKiI,UAE1B,IAAI6pC,EAAOogH,EAASpgH,KAEpBA,EAAKytG,eAELztG,EAAK0pG,OAAOnmH,SAASr1B,KAAKw7I,QAC1B1pG,EAAKqmG,KAAK9iH,SAASr1B,KAAK4wJ,cAEH,MAAjB5wJ,KAAK+vJ,UAAqC,MAAjB/vJ,KAAKgwJ,SAE9BhwJ,KAAK+C,KAAK0jC,QAAQyvG,OAAO+G,kBACpBj9I,KAAK+vJ,WAAa/vJ,KAAKgwJ,SAAYhwJ,KAAK+vJ,SAAW1qH,EAAI0V,QAAQ/6C,KAAK+vJ,SAAU/vJ,KAAKgwJ,UACnFhwJ,KAAKiwJ,WAAajwJ,KAAKkwJ,SAAYlwJ,KAAKiwJ,SAAW5qH,EAAI0V,QAAQ/6C,KAAKiwJ,SAAUjwJ,KAAKkwJ,UACpFp+G,EAAKmmG,WAKTnmG,EAAKmmG,SAASl0I,EAAIshC,EAAI0V,QAAQ/6C,KAAKmwJ,iBAAiBpsJ,EAAG/D,KAAKowJ,iBAAiBrsJ,GAC7E+tC,EAAKmmG,SAASj0I,EAAIqhC,EAAI0V,QAAQ/6C,KAAKmwJ,iBAAiBnsJ,EAAGhE,KAAKowJ,iBAAiBpsJ,IAGjF8tC,EAAK+lG,gBAAkBxyG,EAAI0V,QAAQ/6C,KAAKuwJ,YAAavwJ,KAAKwwJ,aAC1D1+G,EAAK+kG,QAAQxhH,SAASr1B,KAAK62I,SAC3B/kG,EAAKimG,YAAc/3I,KAAK+3I,YAExBma,EAASxC,UAQbluJ,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUE,QAAU,WAEhDxC,KAAK+C,KAAKyjC,UAAUrqB,OAAOnc,MAE3BwB,EAAOywC,MAAM3vC,UAAUE,QAAQgC,KAAKxE,MAAM,GAAM,IAWpDwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUwjC,QAAU,SAAUloC,EAAOC,GAKjE,OAHAmC,KAAKk/B,KAAKthC,MAAQA,EAClBoC,KAAKk/B,KAAKrhC,OAASA,EAEZmC,MAUXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUowJ,UAAY,SAAUp5H,EAAKrzB,GAQjE,OANAqzB,EAAMA,GAAO,EACbrzB,EAAMA,GAAO,EAEbjG,KAAKmwJ,iBAAiBpsJ,EAAIu1B,EAC1Bt5B,KAAKowJ,iBAAiBrsJ,EAAIkC,EAEnBjG,MAUXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUqwJ,UAAY,SAAUr5H,EAAKrzB,GAQjE,OANAqzB,EAAMA,GAAO,EACbrzB,EAAMA,GAAO,EAEbjG,KAAKmwJ,iBAAiBnsJ,EAAIs1B,EAC1Bt5B,KAAKowJ,iBAAiBpsJ,EAAIiC,EAEnBjG,MAWXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUswJ,YAAc,SAAUt5H,EAAKrzB,GAQnE,OANAqzB,EAAMA,GAAO,EACbrzB,EAAMA,GAAO,EAEbjG,KAAKuwJ,YAAcj3H,EACnBt5B,KAAKwwJ,YAAcvqJ,EAEZjG,MAgBXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUuwJ,SAAW,SAAUv5H,EAAKrzB,EAAK6sJ,EAAMn8C,EAAMC,GAYjF,QAVYrwG,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,QAClBM,IAATusJ,IAAsBA,EAAO,QACpBvsJ,IAATowG,IAAsBA,EAAOn1G,EAAO+vG,OAAOK,OAAOC,WACzCtrG,IAATqwG,IAAsBA,GAAO,GAEjC52G,KAAKywJ,iBAAmBn3H,EACxBt5B,KAAK0wJ,iBAAmBzqJ,EACxBjG,KAAKuvJ,WAAY,EAEbuD,EAAO,GAAKx5H,IAAQrzB,EACxB,CACI,IAAI8sJ,GAAcv0G,EAAGllB,GACjBw6C,EAAQ9zE,KAAK+C,KAAKmjC,KAAK4tC,MAAMi/E,GAAW5hI,IAAKqtB,EAAGv4C,GAAO6sJ,EAAMn8C,GACjE7iC,EAAM8iC,KAAKA,GAEX52G,KAAKwvJ,UAAY17E,EAAMgkC,aAAa,IAGpC93G,KAAKwvJ,UAAUlxI,UACfte,KAAKuvJ,WAAY,EAGrB,OAAOvvJ,MAkBXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAUwoJ,SAAW,SAAUlgJ,EAAMG,EAAMD,EAAME,EAAM8nJ,EAAMn8C,EAAMC,GAmB/F,QAjBarwG,IAATqE,IAAsBA,EAAO,QACpBrE,IAATwE,IAAsBA,EAAO,QACpBxE,IAATuE,IAAsBA,EAAO,QACpBvE,IAATyE,IAAsBA,EAAO,QACpBzE,IAATusJ,IAAsBA,EAAO,QACpBvsJ,IAATowG,IAAsBA,EAAOn1G,EAAO+vG,OAAOK,OAAOC,WACzCtrG,IAATqwG,IAAsBA,GAAO,GAGjC52G,KAAKqwJ,iBAAmB,EACxBrwJ,KAAKswJ,iBAAmB,EAExBtwJ,KAAKwxJ,kBAAkBrqJ,IAAIyD,EAAME,GACjC9K,KAAKyxJ,kBAAkBtqJ,IAAI4D,EAAMC,GAEjChL,KAAKovJ,WAAY,EAEb0D,EAAO,IAAOloJ,IAASG,GAAUD,IAASE,GAC9C,CACI,IAAI+nJ,GAAchvJ,EAAG6G,EAAM5G,EAAG8G,GAC1BgpE,EAAQ9zE,KAAK+C,KAAKmjC,KAAK4tC,MAAMi/E,GAAW5hI,IAAKptB,EAAGgH,EAAM/G,EAAGgH,GAAQ8nJ,EAAMn8C,GAC3E7iC,EAAM8iC,KAAKA,GAEX52G,KAAKqvJ,UAAYv7E,EAAMgkC,aAAa,IAGpC93G,KAAKqvJ,UAAU/wI,UACfte,KAAKovJ,WAAY,EAGrB,OAAOpvJ,MAiBXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAU0wJ,SAAW,SAAUjD,EAAUC,EAAUC,EAAUC,GAQzF,OANAlwJ,KAAK+vJ,SAAWA,EAChB/vJ,KAAKgwJ,SAAWA,EAEA,MAAZC,IAAoBjwJ,KAAKiwJ,SAAWA,GACxB,MAAZC,IAAoBlwJ,KAAKkwJ,SAAWA,GAEjClwJ,MAWXwB,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAU2wJ,GAAK,SAAU75G,GAarD,OAXIA,EAAOta,QAEP9+B,KAAK8wJ,MAAQ13G,EAAOta,OAAO/6B,EAC3B/D,KAAK+wJ,MAAQ33G,EAAOta,OAAO96B,IAI3BhE,KAAK8wJ,MAAQ13G,EAAOn2C,MAAMc,EAAKq1C,EAAOzyC,OAAO5C,EAAIq1C,EAAOx7C,MACxDoC,KAAK+wJ,MAAQ33G,EAAOn2C,MAAMe,EAAKo1C,EAAOzyC,OAAO3C,EAAIo1C,EAAOv7C,QAGrDmC,MAOXgH,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,WAE7D4E,IAAK,WAED,OAAOlH,KAAKuxJ,UAGhBpqJ,IAAK,SAAUC,GAEU,iBAAVA,EAEPpH,KAAKuxJ,SAASvtJ,EAAIoD,EAIlBpH,KAAKuxJ,SAAWnqJ,KAW5BJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,MAC7D4E,IAAK,WAED,OAAOlH,KAAKuzH,OAQpBvsH,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,SAE7D4E,IAAK,WAED,OAAOlH,KAAKk/B,KAAKthC,OAGrBuJ,IAAK,SAAUC,GAEXpH,KAAKk/B,KAAKthC,MAAQwJ,KAS1BJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,UAE7D4E,IAAK,WAED,OAAOlH,KAAKk/B,KAAKrhC,QAGrBsJ,IAAK,SAAUC,GAEXpH,KAAKk/B,KAAKrhC,OAASuJ,KAS3BJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,KAE7D4E,IAAK,WAED,OAAOlH,KAAK8wJ,OAGhB3pJ,IAAK,SAAUC,GAEXpH,KAAK8wJ,MAAQ1pJ,KASrBJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,KAE7D4E,IAAK,WAED,OAAOlH,KAAK+wJ,OAGhB5pJ,IAAK,SAAUC,GAEXpH,KAAK+wJ,MAAQ3pJ,KAUrBJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,QAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAK+D,EAAK/D,KAAKk/B,KAAKthC,MAAQ,MAUtDoJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,SAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAK+D,EAAK/D,KAAKk/B,KAAKthC,MAAQ,MAUtDoJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,OAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAKgE,EAAKhE,KAAKk/B,KAAKrhC,OAAS,MAUvDmJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,UAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAKgE,EAAKhE,KAAKk/B,KAAKrhC,OAAS,MAUvDmJ,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,UAE7D4E,IAAK,WAED,OAAO,IAAOlH,KAAK4xJ,cAAgB5xJ,KAAK8tG,aAUhD9mG,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,kBAE7D4E,IAAK,WAED,OAA0B,IAAlBlH,KAAKqxE,SAAiBxmE,EAAAA,EAAW7K,KAAKqxE,UAAYrxE,KAAK4xJ,cAAgB5xJ,KAAK8tG,aAU5F9mG,OAAOyF,eAAejL,EAAOi8C,UAAUu3B,OAAOC,QAAQ3yE,UAAW,aAE7D4E,IAAK,WAED,OAAOlH,KAAK+0E,aAAe/0E,KAAKkzJ,kBA0ExC1xJ,EAAO+xE,OAAS,SAAUxwE,EAAM1B,GAG5BG,EAAO+sC,OAAO/pC,KAAKxE,KAAM+C,EAAM1B,GAM/BrB,KAAKmzJ,QAAU,KAQfnzJ,KAAKozJ,wBAAyB,EAQ9BpzJ,KAAKqzJ,UAAW,EAShBrzJ,KAAKszJ,MAAQ,EASbtzJ,KAAKuzJ,UAAY,EAOjBvzJ,KAAKwzJ,SAAW,IAUhBxzJ,KAAKyzJ,iBAAmB,EAQxBzzJ,KAAK0zJ,SAAW,IAAIlyJ,EAAOS,UAAU,EAAG,EAAG,EAAG,GAQ9CjC,KAAK2zJ,UAAYnyJ,EAAO4sB,SAOxBpuB,KAAK4zJ,0BAA2B,EAQhC5zJ,KAAK6zJ,gBAAkB,GAQvB7zJ,KAAK8zJ,mBAAoB,EAWzB9zJ,KAAK+zJ,kBAAmB,EAQxB/zJ,KAAKg0J,iBAAkB,EASvBh0J,KAAKi0J,uBAAyB,EAU9Bj0J,KAAKk0J,kBAAoB,EAUzBl0J,KAAKm0J,oBAAsB,EAO3Bn0J,KAAKo0J,YAAc,IASnBp0J,KAAKq0J,oBAAsB,EAS3Br0J,KAAKs0J,eAAiB,EAQtBt0J,KAAKu0J,mBAAqB,EAO1Bv0J,KAAKw0J,cAAgB,IAAIhzJ,EAAOX,MAAM,EAAG,GASzCb,KAAKy0J,wBAAyB,EAQ9Bz0J,KAAK00J,UAAY,GAQjB10J,KAAK20J,YAAc,GAOnB30J,KAAK40J,aAAepzJ,EAAOqzJ,OAO3B70J,KAAK80J,2BAA4B,EAOjC90J,KAAK+0J,gBAAkBvzJ,EAAO+xE,OAAOyhF,kBAQrCh1J,KAAK+2F,OACDk+D,YAAY,EACZr3J,MAAO,EACPC,OAAQ,EACR6mB,QAAS,EACTC,QAAS,GAWb3kB,KAAK8E,OAAS,IAAItD,EAAOS,UAQzBjC,KAAKk1J,aAAenyJ,EAAKE,MAAM6B,OAQ/B9E,KAAKm1J,gBAQLn1J,KAAKo1J,iBAAmB,EAOxBp1J,KAAKq1J,SASLr1J,KAAKs1J,OAAS,IAAI9zJ,EAAO6gC,OASzBriC,KAAKu1J,OAAS,IAAI/zJ,EAAO6gC,OAUzBriC,KAAKw1J,YAAc,IAAIh0J,EAAO6gC,OAQ9BriC,KAAKy1J,cAAgB,KAQrBz1J,KAAK01J,eAAiB,KAYtB11J,KAAK21J,WAAY,EAOjB31J,KAAK41J,WAAY,EAUjB51J,KAAK61J,eAAgB,EAUrB71J,KAAK81J,YAAc,IAAIt0J,EAAOX,MAQ9Bb,KAAK+1J,UAAY,EAQjB/1J,KAAKg2J,cAAgB,EAQrBh2J,KAAKi2J,cAAgB,IAAIz0J,EAAOX,OAIpCW,EAAO+xE,OAAOjxE,UAAY0E,OAAOwB,OAAOhH,EAAO+sC,OAAOjsC,WACtDd,EAAO+xE,OAAOjxE,UAAUC,YAAcf,EAAO+xE,OAO7C/xE,EAAO+xE,OAAO2iF,WAAa,EAO3B10J,EAAO+xE,OAAO4iF,cAAgB,EAQ9B30J,EAAO+xE,OAAO6iF,cAAgB,EAO9B50J,EAAO+xE,OAAO8iF,mBAAqB,EAOnC70J,EAAO+xE,OAAO+iF,mBAAqB,EAOnC90J,EAAO+xE,OAAOyhF,kBAAoB,EAOlCxzJ,EAAO+xE,OAAOgjF,mBAAqB,EA4BnC/0J,EAAO+xE,OAAOjxE,UAAUkxE,cAAgB,SAAU9+B,EAAU1hC,EAAK3F,EAAO6sC,GAiCpE,YA9BiB3zC,IAAbmuC,IAA0BA,EAAW,QAC3BnuC,IAAV2zC,IAAuBA,EAAQl6C,KAAK+C,KAAKE,OAEzCjD,KAAKmzJ,UAAYnzJ,KAAKmzJ,QAAQpwJ,OAE9B/C,KAAKmzJ,QAAU,MAGdnzJ,KAAKmzJ,UAENnzJ,KAAKmzJ,QAAUnzJ,KAAK+C,KAAKk2B,IAAI86C,aAAavyE,EAAO6wC,QAAQC,OAAQ4H,GACjEl6C,KAAKmzJ,QAAQxgH,UAAY3yC,KAAK40J,cAGjB,IAAblgH,KAEkB,IAAdA,IAEA10C,KAAKozJ,wBAAyB,EAC9B1+G,EAAW,GAGf10C,KAAKmzJ,QAAQ1+G,eAAeC,EAAU1hC,EAAK3F,GAE3CrN,KAAKmzJ,QAAQ78G,OAAO,qBAAsBt2C,MAE1CA,KAAK00J,UAAY1hJ,EACjBhT,KAAK20J,YAActnJ,GAGhBrN,MAeXwB,EAAO+xE,OAAOjxE,UAAUquB,QAAU,SAAUgkB,EAAU1L,GAKlD,OAFAjpC,KAAKmzJ,QAAQl7G,cAActD,EAAU1L,EAAiB3Y,WAE/CtwB,MAYXwB,EAAO+xE,OAAOjxE,UAAUozG,SAAW,WAK/B,OAFA11G,KAAKmzJ,QAAQ78G,OAAO,eAAe,GAE5Bt2C,MAYXwB,EAAO+xE,OAAOjxE,UAAUqzG,UAAY,WAKhC,OAFA31G,KAAKmzJ,QAAQ78G,OAAO,eAAe,GAE5Bt2C,MAWXwB,EAAO+xE,OAAOjxE,UAAU20C,QAAU,WAO9B,OAJAj3C,KAAKmzJ,QAAQj8G,cAAc,QAAQ,GAEnCl3C,KAAKmzJ,QAAQ78G,OAAO,eAAe,GAE5Bt2C,MAYXwB,EAAO+xE,OAAOjxE,UAAUk0J,WAAa,SAAUC,GAU3C,OAPAz2J,KAAKszJ,MAAQ,OAEI/sJ,IAAbkwJ,IAEAz2J,KAAKuzJ,UAAYkD,GAGdz2J,MAUXwB,EAAO+xE,OAAOjxE,UAAUE,QAAU,WAG9BxC,KAAKqB,OAAO8a,OAAOnc,MAAM,GAEzBA,KAAKmzJ,QAAQ3wJ,UAEbxC,KAAK+C,KAAO,KACZ/C,KAAKqB,OAAS,KACdrB,KAAK0qC,QAAS,EACd1qC,KAAKkB,SAAU,GAUnBM,EAAO+xE,OAAOjxE,UAAUwiC,OAAS,WAGzB9kC,KAAK+0J,kBAAoBvzJ,EAAO+xE,OAAO8iF,qBAEnCr2J,KAAKy1J,eAELz1J,KAAKy1J,cAAc3yJ,kBACnB9C,KAAK8E,OAAOk0B,SAASh5B,KAAKy1J,cAAc/zJ,cAAcqC,EAAG/D,KAAKy1J,cAAc/zJ,cAAcsC,IAErFhE,KAAK01J,gBAEV11J,KAAK8E,OAAOk0B,SAASh5B,KAAK01J,eAAe5rB,OAAQ9pI,KAAK01J,eAAe3rB,SAIzE/pI,KAAKqzJ,UAELrzJ,KAAK02J,QAWbl1J,EAAO+xE,OAAOjxE,UAAUusC,WAAa,WAG5B7uC,KAAK21J,WAAc31J,KAAK41J,YAK7B51J,KAAK41J,WAAY,EAEjB51J,KAAK+1J,UAAY/1J,KAAKg2J,gBAqB1Bx0J,EAAO+xE,OAAOjxE,UAAUq0J,YAAc,SAAUrzI,EAAQoB,EAASC,EAASkxI,GAatE,YAVgBtvJ,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,QACjBpe,IAAlBsvJ,IAA+BA,GAAgB,GAEnD71J,KAAK01J,eAAiB,KACtB11J,KAAKy1J,cAAgBnyI,EACrBtjB,KAAK61J,cAAgBA,EAErB71J,KAAK81J,YAAY3uJ,IAAIud,EAASC,GAEvB3kB,MAoBXwB,EAAO+xE,OAAOjxE,UAAUs0J,aAAe,SAAU5oH,EAAStpB,EAASC,GAa/D,YAVgBpe,IAAZynC,IAAyBA,EAAUhuC,KAAK+C,KAAKojC,MAAMuc,oBACvCn8C,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAEvC3kB,KAAK01J,eAAiB1nH,EACtBhuC,KAAKy1J,cAAgB,KACrBz1J,KAAK61J,eAAgB,EAErB71J,KAAK81J,YAAY3uJ,IAAIud,EAASC,GAEvB3kB,MA0BXwB,EAAO+xE,OAAOjxE,UAAUu0J,SAAW,SAAUz0I,EAAW3c,GAGpDzF,KAAK21J,WAAY,EAEjB,IAAIxC,KAEA9mH,EAAQrsC,KAqBZ,OAnBIyF,GAAQzF,KAAKy1J,eAAiBz1J,KAAK01J,eAEnCtzI,EAAUuO,QAAQ,SAAUlZ,GAGxB07I,EAAQrrJ,KAAKukC,EAAMqqH,KAAKjxJ,EAAM,KAAM,KAAMgS,EAAO1T,EAAG0T,EAAOzT,MAM/Doe,EAAUuO,QAAQ,SAAU/vB,GAGxBuyJ,EAAQrrJ,KAAKukC,EAAMqqH,KAAK91J,MAKzBuyJ,GAyBX3xJ,EAAO+xE,OAAOjxE,UAAUw0J,WAAa,SAAUpyI,EAASC,GAMpD,YAHgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAEhC3kB,KAAK02J,KAAK,KAAM,KAAM,KAAMhyI,EAASC,IA+BhDnjB,EAAO+xE,OAAOjxE,UAAUo0J,KAAO,SAAUjxJ,EAAM1B,EAAGC,EAAG0gB,EAASC,GAM1D,QAHUpe,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEvBhE,KAAK+C,KAAKmiC,KAAK2X,IAAM78C,KAAK+1J,WAAc/1J,KAAKuzJ,UAAY,GAAKvzJ,KAAKszJ,QAAUtzJ,KAAKuzJ,UAElF,OAAO,KAGX,IAAIpyG,EAAQnhD,KAAKo0J,YAGgB,IAA7Bp0J,KAAKq0J,sBAELlzG,GAAS3/C,EAAOkC,KAAKq3C,SAAS/6C,KAAKq0J,oBAAqBr0J,KAAKq0J,sBAG7D5uJ,EAEIzF,KAAK0zJ,SAAS91J,MAAQ,EAEtBoC,KAAK0zJ,SAAS16H,SAASvzB,EAAK1B,EAAG0B,EAAKzB,IAIpChE,KAAK0zJ,SAAS3vJ,EAAI0B,EAAK1B,EACvB/D,KAAK0zJ,SAAS1vJ,EAAIyB,EAAKzB,GAGtBhE,KAAKy1J,eAENz1J,KAAK61J,eAEL71J,KAAKi2J,cAAc9uJ,IAAInH,KAAKy1J,cAAcxyJ,MAAMc,EAAI/D,KAAK81J,YAAY/xJ,EAAG/D,KAAKy1J,cAAcxyJ,MAAMe,EAAIhE,KAAK81J,YAAY9xJ,GACtHhE,KAAKi2J,cAAcz9H,OAAOx4B,KAAKy1J,cAAcxyJ,MAAMc,EAAG/D,KAAKy1J,cAAcxyJ,MAAMe,EAAGhE,KAAKy1J,cAAc7zJ,eAEjG5B,KAAK0zJ,SAAS91J,MAAQ,EAEtBoC,KAAK0zJ,SAAS16H,SAASh5B,KAAKi2J,cAAclyJ,EAAG/D,KAAKi2J,cAAcjyJ,IAIhEhE,KAAK0zJ,SAAS3vJ,EAAI/D,KAAKi2J,cAAclyJ,EACrC/D,KAAK0zJ,SAAS1vJ,EAAIhE,KAAKi2J,cAAcjyJ,IAIzChE,KAAK0zJ,SAAS91J,MAAQ,EAEtBoC,KAAK0zJ,SAAS16H,SAASh5B,KAAKy1J,cAAcxyJ,MAAMc,EAAI/D,KAAK81J,YAAY/xJ,EAAG/D,KAAKy1J,cAAcxyJ,MAAMe,EAAIhE,KAAK81J,YAAY9xJ,IAItHhE,KAAK0zJ,SAAS3vJ,EAAI/D,KAAKy1J,cAAcxyJ,MAAMc,EAAI/D,KAAK81J,YAAY/xJ,EAChE/D,KAAK0zJ,SAAS1vJ,EAAIhE,KAAKy1J,cAAcxyJ,MAAMe,EAAIhE,KAAK81J,YAAY9xJ,GAGhEhE,KAAK4zJ,2BAELzyG,GAASnhD,KAAKy1J,cAAc3jH,KAAKqP,QAGhCnhD,KAAK01J,iBAEN11J,KAAK0zJ,SAAS91J,MAAQ,EAEtBoC,KAAK0zJ,SAAS16H,SAASh5B,KAAK01J,eAAezyJ,MAAMc,EAAI/D,KAAK81J,YAAY/xJ,EAAG/D,KAAK01J,eAAezyJ,MAAMe,EAAIhE,KAAK81J,YAAY9xJ,IAIxHhE,KAAK0zJ,SAAS3vJ,EAAI/D,KAAK01J,eAAezyJ,MAAMc,EAAI/D,KAAK81J,YAAY/xJ,EACjE/D,KAAK0zJ,SAAS1vJ,EAAIhE,KAAK01J,eAAezyJ,MAAMe,EAAIhE,KAAK81J,YAAY9xJ,SAIzDuC,IAAZme,IAEA1kB,KAAK0zJ,SAAS3vJ,GAAK2gB,QAGPne,IAAZoe,IAEA3kB,KAAK0zJ,SAAS1vJ,GAAK2gB,GAGvB,IAAIujE,EAASloF,KAAK0zJ,SAAS91J,MAAQ,EAAKoC,KAAK0zJ,SAAS/yH,QAAU3gC,KAAK0zJ,SAAS3vJ,EAC1EokF,EAASnoF,KAAK0zJ,SAAS71J,OAAS,EAAKmC,KAAK0zJ,SAAS9yH,QAAU5gC,KAAK0zJ,SAAS1vJ,EAE3E4xB,EAAS51B,KAAkB,cAAIA,KAAKy1J,cAAc7/H,MAAQ51B,KAAK2zJ,UAGzD,OAAN5vJ,GAAoB,OAANC,IAEd4xB,EAAQ51B,KAAK+C,KAAKyiC,KAAKxI,SAASt5B,KAAKq5B,MAAM/4B,EAAImkF,EAAOpkF,EAAImkF,KAI7B,IAA7BloF,KAAKm0J,sBAELv+H,GAASp0B,EAAOkC,KAAKq3C,SAAS/6C,KAAKm0J,oBAAqBn0J,KAAKm0J,sBAGjE,IAAI4C,EAAQ,EACRC,EAAQ,EAGE,IAAVphI,GAAyB,MAAVA,EAEfmhI,EAAQrzJ,KAAKI,IAAI9D,KAAK+C,KAAKyiC,KAAK/O,SAASb,IAAUurB,EAEpC,KAAVvrB,GAA0B,MAAVA,EAErBohI,EAAQtzJ,KAAKG,IAAI7D,KAAK+C,KAAKyiC,KAAK/O,SAASb,IAAUurB,GAInD41G,EAAQrzJ,KAAKI,IAAI9D,KAAK+C,KAAKyiC,KAAK/O,SAASb,IAAUurB,EACnD61G,EAAQtzJ,KAAKG,IAAI7D,KAAK+C,KAAKyiC,KAAK/O,SAASb,IAAUurB,GAGvD,IAAI81G,EAAS,KAab,GAXIj3J,KAAKozJ,wBAEL6D,EAASj3J,KAAKmzJ,QAAQv6G,gBAAe,GAAO,EAAMsvC,EAAOC,EAAOnoF,KAAK00J,UAAW10J,KAAK20J,cAE9EvgJ,KAAK8iJ,cAAgBl3J,KAI5Bi3J,EAASj3J,KAAKmzJ,QAAQv6G,gBAAe,GAGrCq+G,EACJ,CAiBI,GAhBAA,EAAOlxH,MAAMmiD,EAAOC,GAEpB8uE,EAAO7iJ,KAAK8zE,MAAQA,EACpB+uE,EAAO7iJ,KAAK+zE,MAAQA,EACpB8uE,EAAO7iJ,KAAK+iJ,SAAWn3J,KAAKo3J,eAC5BH,EAAO7iJ,KAAKijJ,aAAer3J,KAAKu0J,mBAChC0C,EAAO7iJ,KAAKkjJ,iBAAmBt3J,KAAKy0J,uBAEhCz0J,KAAKo3J,iBAAmB51J,EAAO+xE,OAAO4iF,gBAEtCc,EAAO5lF,SAAWrxE,KAAKs0J,gBAG3B2C,EAAOrhI,MAAQA,EAAQ51B,KAAKk0J,kBAGC,KAAzBl0J,KAAK6zJ,gBACT,CACI,GAA6D,OAAzDoD,EAAO5rF,WAAWwxC,aAAa78G,KAAK6zJ,iBACxC,CACI,IAAIv3C,EAAOt8G,KAAKq1J,MAAMr1J,KAAK6zJ,iBAE3BoD,EAAO5rF,WAAWpyC,IAAIqjF,EAAKtqF,KAAMsqF,EAAKjhB,OAAQihB,EAAKpxC,UAAWoxC,EAAKnxC,KAAMmxC,EAAKE,iBAGlFy6C,EAAO5rF,WAAWJ,KAAKjrE,KAAK6zJ,sBAG5B7zJ,KAAK+zJ,kBAELkD,EAAO5pJ,MAAQrN,KAAKm1J,aAAan1J,KAAKo1J,oBAEtCp1J,KAAKo1J,kBAEwBp1J,KAAKm1J,aAAaxyJ,SAE3C3C,KAAKo1J,iBAAmB,IAGvBp1J,KAAK8zJ,oBAEVmD,EAAO5pJ,MAAQrN,KAAKm1J,aAAazxJ,KAAKmsB,MAAMnsB,KAAKivB,SAAW3yB,KAAKm1J,aAAaxyJ,UAG9Es0J,EAAO7iJ,KAAKmjJ,YAERv3J,KAAK+2F,MAAMk+D,YAEXgC,EAAOnlH,KAAKhM,QAAQ9lC,KAAK+2F,MAAMn5F,MAAOoC,KAAK+2F,MAAMl5F,OAAQmC,KAAK+2F,MAAMryE,QAAS1kB,KAAK+2F,MAAMpyE,SAG5FsyI,EAAOnlH,KAAKwsG,mBAAqBt+I,KAAKw3J,yBAEtCP,EAAO7iJ,KAAKmjJ,WAAY,GAG5BN,EAAOnlH,KAAKmmG,SAAS9wI,IAAI4vJ,EAAOC,GAChCC,EAAOnlH,KAAK+kG,QAAQ1vI,IAAInH,KAAKw0J,cAAczwJ,EAAG/D,KAAKw0J,cAAcxwJ,GAEjE,IAAImxC,EAAO,EAEX,GAAiC,IAA7Bn1C,KAAKq0J,oBACT,CACI,IAAIvB,EAAO9yJ,KAAKwzJ,UAEhBV,GAAQtxJ,EAAOkC,KAAKq3C,SAAS/6C,KAAKyzJ,iBAAkBzzJ,KAAKyzJ,mBAE9C,IAEPX,EAAO,GAGX39G,EAAOn1C,KAAK+C,KAAKmiC,KAAK2X,IAAMi2G,OAI5B39G,EAAOn1C,KAAK+C,KAAKmiC,KAAK2X,IAAM78C,KAAKwzJ,SAGjCxzJ,KAAK21J,UAEA31J,KAAK41J,YAGN51J,KAAK41J,WAAY,EACjB51J,KAAKg2J,cAAgB7gH,EACrBn1C,KAAKszJ,UAKTtzJ,KAAK+1J,UAAY5gH,EAEjBn1C,KAAKszJ,SAGTtzJ,KAAKs1J,OAAOlwH,SAAS6xH,EAAQj3J,KAAMmhD,GAE/BnhD,KAAKuzJ,UAAY,GAAKvzJ,KAAKszJ,QAAUtzJ,KAAKuzJ,WAE1CvzJ,KAAKw1J,YAAYpwH,SAASplC,KAAMA,KAAKuzJ,WAI7C,OAAO0D,GAYXz1J,EAAO+xE,OAAOjxE,UAAUm1J,cAAgB,SAAUzpH,GAK9C,YAFgBznC,IAAZynC,IAAyBA,EAAUhuC,KAAK+C,KAAKojC,MAAMuc,eAEhD1iD,KAAK02J,KAAK,KAAM1oH,EAAQ87F,OAAQ97F,EAAQ+7F,SAYnDvoI,EAAO+xE,OAAOjxE,UAAUo1J,aAAe,SAAUp0I,GAG7C,OAAOtjB,KAAK02J,KAAK,KAAMpzI,EAAOrgB,MAAMc,EAAGuf,EAAOrgB,MAAMe,IAaxDxC,EAAO+xE,OAAOjxE,UAAUq1J,SAAW,SAAU5zJ,EAAGC,GAG5C,OAAOhE,KAAK02J,KAAK,KAAM3yJ,EAAGC,IA0B9BxC,EAAO+xE,OAAOjxE,UAAUs1J,oBAAsB,SAAUh6J,EAAOC,EAAQ6mB,EAASC,GAgB5E,YAbgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAEvC3kB,KAAK+2F,MAAMk+D,YAAa,EACxBj1J,KAAK+2F,MAAMn5F,MAAQA,EACnBoC,KAAK+2F,MAAMl5F,OAASA,EACpBmC,KAAK+2F,MAAMryE,QAAUA,EACrB1kB,KAAK+2F,MAAMpyE,QAAUA,EAGrB3kB,KAAKmzJ,QAAQz7G,QAAQ,eAAgB,OAAQ95C,EAAOC,EAAQ6mB,EAASC,GACrE3kB,KAAKmzJ,QAAQ78G,OAAO,kBAAkB,GAE/Bt2C,MAsBXwB,EAAO+xE,OAAOjxE,UAAUu1J,gBAAkB,SAAUv+H,EAAKrzB,EAAK6xJ,EAAOnlI,GAajE,YAVcpsB,IAAVuxJ,IAAuBA,GAAQ,QACpBvxJ,IAAXosB,IAAwBA,GAAS,GAErC3yB,KAAKm1J,aAAe3zJ,EAAOk4C,WAAWq1F,YAAYz1G,EAAKrzB,GAEvDjG,KAAKo1J,iBAAmB,EAExBp1J,KAAK+zJ,iBAAmB+D,EACxB93J,KAAK8zJ,kBAAoBnhI,EAElB3yB,MAuBXwB,EAAO+xE,OAAOjxE,UAAUy1J,mBAAqB,SAAU/lI,EAAMqpE,EAAQnwB,EAAWC,EAAMqxC,GAgBlF,OAbAx8G,KAAKq1J,MAAMrjI,IACPA,KAAMA,EACNqpE,OAAQA,EACRnwB,UAAWA,EACXC,KAAMA,EACNqxC,gBAAiBA,GAIrBx8G,KAAKmzJ,QAAQz7G,QAAQ,iBAAkB,aAAc1lB,EAAMqpE,EAAQnwB,EAAWC,EAAMqxC,GAEpFx8G,KAAK6zJ,gBAAkB7hI,EAEhBhyB,MAaXwB,EAAO+xE,OAAOjxE,UAAUwnC,MAAQ,SAAU/lC,EAAGC,EAAGg0J,QAGlCzxJ,IAANxC,IAAmBA,EAAI,SACjBwC,IAANvC,IAAmBA,EAAI,SACPuC,IAAhByxJ,IAA6BA,GAAc,GAE/Ch4J,KAAK+C,KAAK+mC,MAAMyqC,KAAK,gBAAiBxwE,EAAGC,GACzChE,KAAK+C,KAAK+mC,MAAMyqC,KAAK,kBAAoBv0E,KAAKmzJ,QAAQx6G,MAAQ,aAAe34C,KAAKmzJ,QAAQxwJ,OAAQoB,EAAGC,EAAI,IAErGg0J,GAEAh4J,KAAKmzJ,QAAQl7G,cAAcj4C,KAAK+C,KAAK+mC,MAAMgI,KAAM9xC,KAAK+C,KAAK+mC,MAAO,2BAc1E9iC,OAAOyF,eAAejL,EAAO+xE,OAAOjxE,UAAW,eAE3C4E,IAAK,WAGD,OAAOlH,KAAK40J,cAIhBztJ,IAAK,SAAUwrC,GAGX3yC,KAAK40J,aAAejiH,EAGhB3yC,KAAKmzJ,UAELnzJ,KAAKmzJ,QAAQxgH,UAAY3yC,KAAK40J,iBAqC1C5tJ,OAAOyF,eAAejL,EAAO+xE,OAAOjxE,UAAW,kBAE3C4E,IAAK,WAGD,OAAOlH,KAAK+0J,iBAIhB5tJ,IAAK,SAAUqM,GAGX,OAAQA,GAEJ,KAAKhS,EAAO+xE,OAAOgjF,mBACnB,KAAK/0J,EAAO+xE,OAAO8iF,mBACfr2J,KAAKk1J,aAAel1J,KAAK8E,OACzB,MAEJ,KAAKtD,EAAO+xE,OAAO+iF,mBACft2J,KAAKk1J,aAAel1J,KAAK+C,KAAK+X,OAAO7D,KACrC,MAEJ,KAAKzV,EAAO+xE,OAAOyhF,kBACfh1J,KAAKk1J,aAAel1J,KAAK+C,KAAKE,MAAM6B,OAI5C9E,KAAK+0J,gBAAkBvhJ,KAY/BxM,OAAOyF,eAAejL,EAAO+xE,OAAOjxE,UAAW,4BAE3C4E,IAAK,WAGD,OAAOlH,KAAK80J,2BAIhB3tJ,IAAK,SAAUC,GAGXpH,KAAK80J,0BAA4B1tJ,EAEjCpH,KAAKmzJ,QAAQ78G,OAAO,0BAA2BlvC,GAC/CpH,KAAKmzJ,QAAQ78G,OAAO,kBAAkB,MAa9CtvC,OAAOyF,eAAejL,EAAO+xE,OAAOjxE,UAAW,KAE3C4E,IAAK,WAGD,OAAOlH,KAAK0zJ,SAAS3vJ,GAIzBoD,IAAK,SAAUC,GAGXpH,KAAK0zJ,SAAS3vJ,EAAIqD,KAY1BJ,OAAOyF,eAAejL,EAAO+xE,OAAOjxE,UAAW,KAE3C4E,IAAK,WAGD,OAAOlH,KAAK0zJ,SAAS1vJ,GAIzBmD,IAAK,SAAUC,GAGXpH,KAAK0zJ,SAAS1vJ,EAAIoD,KAwB1B5F,EAAOqzJ,OAAS,SAAU9xJ,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAGvC7L,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAE1CrN,KAAK2G,OAAOQ,IAAI,IAEhBnH,KAAKoU,MACD8iJ,cAAe,KACfhvE,MAAO,EACPC,MAAO,EACPovE,WAAW,EACXD,kBAAkB,EAClBH,SAAU,EACVE,aAAc,IAKtB71J,EAAOqzJ,OAAOvyJ,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACtDd,EAAOqzJ,OAAOvyJ,UAAUC,YAAcf,EAAOqzJ,OAS7CrzJ,EAAOqzJ,OAAOvyJ,UAAU00C,KAAO,WAS3B,OANAh3C,KAAKwyC,OAAQ,EACbxyC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEflB,KAAKoU,KAAK8iJ,cAAc3B,OAAOnwH,SAASplC,MAEjCA,MAUXwB,EAAOqzJ,OAAOvyJ,UAAUwiC,OAAS,WAGxB9kC,KAAKkN,SAKNlN,KAAKoU,KAAK+iJ,SAAW31J,EAAO+xE,OAAO4iF,gBAE/Bn2J,KAAKoU,KAAK+iJ,WAAa31J,EAAO+xE,OAAO6iF,cAEjCp2J,KAAK+C,KAAK0jC,QAAQyvG,OAAO8G,aAAah9I,KAAMA,KAAKoU,KAAK8zE,MAAOloF,KAAKoU,KAAK+zE,OAAO,GAAQnoF,KAAKoU,KAAKijJ,cAEhGr3J,KAAKg3C,OAIRh3C,KAAKoU,KAAK8iJ,cAAchC,aAAa1+H,WAAWx2B,OAEjDA,KAAKg3C,QAITh3C,KAAKoU,KAAKkjJ,mBAEVt3J,KAAKgB,SAAWhB,KAAK8xC,KAAKmmG,SAASh7G,QAGnCj9B,KAAKoU,KAAK8iJ,cAAclD,iBAExBh0J,KAAK+C,KAAKE,MAAMg3B,KAAKj6B,KAAMA,KAAKoU,KAAK8iJ,cAAcjD,0BA0C3DzyJ,EAAOssE,MAAQ,SAAU/qE,EAAMiQ,EAAKqjE,GA6MhC,QA3MY9vE,IAARyM,IAAqBA,EAAM,WACnBzM,IAAR8vE,IAAqBA,EAAM,MAK/Br2E,KAAK+C,KAAOA,EAMZ/C,KAAKgT,IAAMA,EAMXhT,KAAKpC,MAAQ,EAMboC,KAAKnC,OAAS,EAMdmC,KAAKwT,KAAOhS,EAAOssB,MAKnB9tB,KAAKs6E,sBAAuB,EAM5Bt6E,KAAKikH,aAAc,EAKnBjkH,KAAKs5H,OAAS,IAAI93H,EAAO6gC,OAKzBriC,KAAK+tE,eAAiB,IAAIvsE,EAAO6gC,OAKjCriC,KAAKo2G,WAAa,IAAI50G,EAAO6gC,OAK7BriC,KAAKi4J,SAAW,IAAIz2J,EAAO6gC,OAK3BriC,KAAK+4D,QAAU,IAAIv3D,EAAO6gC,OAO1BriC,KAAKk4J,UAAY,IAAI12J,EAAO6gC,OAM5BriC,KAAK87H,cAAgB,IAAIt6H,EAAO6gC,OAOhCriC,KAAKm4J,kBAAmB,EAMxBn4J,KAAKo4J,QAAU,KAMfp4J,KAAKmqG,WAAa,KAKlBnqG,KAAKo2E,MAAQ,KAKbp2E,KAAKq4J,YAAc,KAKnBr4J,KAAKs4J,aAAc,EASnBt4J,KAAKu4J,WAAa,GAMlBv4J,KAAKw4J,MAAQ,EAMbx4J,KAAKy4J,cAAgB,IAMrBz4J,KAAK04J,SAAW,KAOhB14J,KAAKi8H,YAAa,EAOlBj8H,KAAK45H,QAAS,EAOd55H,KAAK87C,aAAc,EAOnB97C,KAAK67C,SAAU,EAOf77C,KAAK24J,UAAW,EAOhB34J,KAAK44J,sBAAuB,EAO5B54J,KAAK64J,WAAY,EAMjB74J,KAAK84J,aAAe,KAMpB94J,KAAK+4J,cAAgB,KAEjB/lJ,GAAOhT,KAAK+C,KAAKiX,MAAMqtG,cAAcr0G,GACzC,CACI,IAAIgmJ,EAASh5J,KAAK+C,KAAKiX,MAAMmuG,SAASn1G,GAElCgmJ,EAAOvzC,OAEPzlH,KAAKi5J,oBAAoBD,EAAO5kJ,MAIhCpU,KAAKo2E,MAAQ4iF,EAAO5kJ,KAGxBpU,KAAKpC,MAAQoC,KAAKo2E,MAAM8iF,WACxBl5J,KAAKnC,OAASmC,KAAKo2E,MAAM+iF,iBAEpB9iF,GAELr2E,KAAKo5J,mBAAmB/iF,GAAK,GAO7Br2E,KAAKo2E,QAAUC,GAEfr2E,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAAYnqB,KAAKo2E,MAAO,KAAMp2E,KAAK+C,KAAK6B,YACpE5E,KAAKoG,YAAYmkB,YAAYvqB,KAAKpC,MAAOoC,KAAKnC,UAI9CmC,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAAY3oB,EAAO8sC,MAAM5mB,QAAQthB,YAAYgJ,OAAQ,KAAMpP,KAAK+C,KAAK6B,YACjG5E,KAAKoG,YAAYmkB,YAAYvqB,KAAKpC,MAAOoC,KAAKnC,SAOlDmC,KAAKjC,QAAU,IAAIS,KAAKqO,QAAQ7M,KAAKoG,aAMrCpG,KAAKm6E,aAAe,IAAI34E,EAAO64E,MAAM,EAAG,EAAG,EAAGr6E,KAAKpC,MAAOoC,KAAKnC,OAAQ,SAEvEmC,KAAKjC,QAAQgtB,SAAS/qB,KAAKm6E,cAE3Bn6E,KAAKjC,QAAQ0P,OAAQ,EAET,OAARuF,GAAgBhT,KAAKo2E,QAErBp2E,KAAKjC,QAAQ0P,MAAQzN,KAAKo2E,MAAMy6C,SAWpC7wH,KAAKq5J,SAAW,KAEZ73J,EAAOkwE,aAEP1xE,KAAKq5J,SAAW,IAAI73J,EAAOkwE,WAAW1xE,KAAK+C,KAAM,GAAI/C,KAAKpC,MAAOoC,KAAKnC,SAGtEmC,KAAK+C,KAAKknB,OAAO8+E,mBAEjB/oG,KAAK48H,eAGLo8B,IAEAA,EAAOrqG,QAAS,IAIxBntD,EAAOssE,MAAMxrE,WAUTg3J,qBAAsB,SAAUljF,EAAOmjF,GAcnC,OAZInjF,GAASmjF,IAETv5J,KAAKo2E,MAAQA,EACbp2E,KAAKq4J,YAAckB,EAEnBv5J,KAAKs4J,aAAc,EACnBt4J,KAAKoG,YAAYgJ,OAASpP,KAAKo2E,MAC/Bp2E,KAAKwV,cAAc,KAAMxV,KAAKo2E,MAAM8iF,WAAYl5J,KAAKo2E,MAAM+iF,aAE3Dn5J,KAAKi4J,SAAS7yH,SAASplC,OAGpBA,MAsBXw5J,iBAAkB,SAAUC,EAAc77J,EAAOC,GAM7C,QAJqB0I,IAAjBkzJ,IAA8BA,GAAe,QACnClzJ,IAAV3I,IAAuBA,EAAQ,WACpB2I,IAAX1I,IAAwBA,EAAS,OAEhCmC,KAAK+C,KAAKknB,OAAO62E,aAGlB,OADA9gG,KAAK+4D,QAAQ3zB,SAASplC,KAAM,oBACrB,EAGc,OAArBA,KAAKq4J,cAEDr4J,KAAKq4J,YAAY3tH,OAEjB1qC,KAAKq4J,YAAY3tH,QAAS,EAI1B1qC,KAAKq4J,YAAYlsJ,QAIzBnM,KAAK05J,qBAEL15J,KAAKo2E,MAAQpmC,SAAS0mD,cAAc,SACpC12F,KAAKo2E,MAAMujF,aAAa,WAAY,YACpC35J,KAAKo2E,MAAMujF,aAAa,cAAe,eAEzB,OAAV/7J,IAEAoC,KAAKo2E,MAAMx4E,MAAQA,GAGR,OAAXC,IAEAmC,KAAKo2E,MAAMv4E,OAASA,GAKxBmC,KAAKmqG,WAAa/5F,OAAO2zF,WAAW/jG,KAAK45J,oBAAoB7pI,KAAK/vB,MAAOA,KAAKo4J,SAE9E,IAEIzuI,UAAUm3E,cACJ7sB,MAAOwlF,EAAcrjF,OAAO,GAC9Bp2E,KAAK65J,oBAAoB9pI,KAAK/vB,MAC9BA,KAAK85J,kBAAkB/pI,KAAK/vB,OAGpC,MAAOO,GAEHP,KAAK85J,kBAAkBv5J,GAG3B,OAAOP,MAOX45J,oBAAqB,WAEjBpvD,aAAaxqG,KAAKmqG,YAElBnqG,KAAKk4J,UAAU9yH,SAASplC,OAO5B85J,kBAAmB,SAAUzpH,GAEzBm6D,aAAaxqG,KAAKmqG,YAElBnqG,KAAK+4D,QAAQ3zB,SAASplC,KAAMqwC,IAOhCwpH,oBAAqB,SAAUN,GAE3B/uD,aAAaxqG,KAAKmqG,YAGlBnqG,KAAKq4J,YAAckB,OAGahzJ,IAA5BvG,KAAKo2E,MAAM2jF,aAEX/5J,KAAKo2E,MAAM2jF,aAAeR,OAEIhzJ,IAAzBvG,KAAKo2E,MAAM4jF,UAEhBh6J,KAAKo2E,MAAM4jF,UAAYT,EAIvBv5J,KAAKo2E,MAAMvmE,IAAOO,OAAOs3F,KAAOt3F,OAAOs3F,IAAIuyD,gBAAgBV,IAAYA,EAG3E,IAAIp+H,EAAOn7B,KAEXA,KAAKo2E,MAAM8jF,aAAe,WAItB,SAASC,IAEL,GAAI3B,EAAQ,EAER,GAAIr9H,EAAKi7C,MAAM8iF,WAAa,EAC5B,CAEI,IAAIt7J,EAAQu9B,EAAKi7C,MAAM8iF,WACnBr7J,EAASs9B,EAAKi7C,MAAM+iF,YAEpBt3F,MAAM1mC,EAAKi7C,MAAM+iF,eAEjBt7J,EAASD,GAAS,EAAI,IAG1Bu9B,EAAKi7C,MAAMnL,OAEX9vC,EAAKm9H,aAAc,EACnBn9H,EAAK/0B,YAAYgJ,OAAS+rB,EAAKi7C,MAC/Bj7C,EAAK3lB,cAAc,KAAM5X,EAAOC,GAChCs9B,EAAK88H,SAAS7yH,SAASjK,QAIvB/qB,OAAO2zF,WAAWo2D,EAAa,UAKnC75J,QAAQ+Z,KAAK,oDAGjBm+I,IAlCJ,IAAIA,EAAQ,GAqCZ2B,MAYRlB,oBAAqB,SAAUvgD,GAE3B,IAAIrsE,EAAQrsC,KAUZ,OARAA,KAAKo2E,MAAQpmC,SAAS0mD,cAAc,SACpC12F,KAAKo2E,MAAMq6C,UAAW,EACtBzwH,KAAKo2E,MAAMujF,aAAa,WAAY,YACpC35J,KAAKo2E,MAAMujF,aAAa,cAAe,eACvC35J,KAAKo2E,MAAMzlC,iBAAiB,aAAc,SAAUN,GAAShE,EAAM72B,cAAc66B,KAAW,GAC5FrwC,KAAKo2E,MAAMvmE,IAAMO,OAAOs3F,IAAIuyD,gBAAgBvhD,GAC5C14G,KAAKo2E,MAAMy6C,SAAU,EAEd7wH,MAWXo5J,mBAAoB,SAAU/iF,EAAKq6C,GAgC/B,YA9BiBnqH,IAAbmqH,IAA0BA,GAAW,GAGrC1wH,KAAKjC,UAELiC,KAAKjC,QAAQ0P,OAAQ,GAGzBzN,KAAKo2E,MAAQpmC,SAAS0mD,cAAc,SACpC12F,KAAKo2E,MAAMq6C,UAAW,EAElBC,GAEA1wH,KAAKo2E,MAAMujF,aAAa,WAAY,YAGxC35J,KAAKo2E,MAAMujF,aAAa,cAAe,eAEvC35J,KAAKo2E,MAAMvmE,IAAMwmE,EAEjBr2E,KAAKo2E,MAAMy6C,SAAU,EAErB7wH,KAAKo2E,MAAMhwC,OAEXpmC,KAAKw4J,MAAQx4J,KAAKu4J,WAElBv4J,KAAK04J,SAAWtoJ,OAAO2zF,WAAW/jG,KAAKo6J,mBAAmBrqI,KAAK/vB,MAAOA,KAAKy4J,eAE3Ez4J,KAAKgT,IAAMqjE,EAEJr2E,MAYXwV,cAAe,SAAU66B,EAAOzyC,EAAOC,GAEnC,IAAIw8J,GAAS,OAEC9zJ,IAAV3I,GAAiC,OAAVA,IAAkBA,EAAQoC,KAAKo2E,MAAM8iF,WAAYmB,GAAS,QACtE9zJ,IAAX1I,GAAmC,OAAXA,IAAmBA,EAASmC,KAAKo2E,MAAM+iF,aAEnEn5J,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEVmC,KAAKoG,YAAYgJ,SAAWpP,KAAKo2E,QAEjCp2E,KAAKoG,YAAYgJ,OAASpP,KAAKo2E,OAGnCp2E,KAAKoG,YAAYmkB,YAAY3sB,EAAOC,GAEpCmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ0P,OAAQ,EAEjBzN,KAAKq5J,UAELr5J,KAAKq5J,SAASlzJ,OAAOvI,EAAOC,GAG5Bw8J,GAAuB,OAAbr6J,KAAKgT,MAEfhT,KAAK+tE,eAAe3oC,SAASplC,KAAMpC,EAAOC,GAEtCmC,KAAK64J,YAEL74J,KAAKo2E,MAAMnL,OACXjrE,KAAKs5H,OAAOl0F,SAASplC,KAAMA,KAAKmrE,KAAMnrE,KAAKs6J,iBAWvDlwI,SAAU,WAENpqB,KAAKo2G,WAAWhxE,SAASplC,OAa7BirE,KAAM,SAAUE,EAAMmvF,GAElB,OAAIt6J,KAAK44J,qBAEE54J,WAGEuG,IAAT4kE,IAAsBA,GAAO,QACZ5kE,IAAjB+zJ,IAA8BA,EAAe,GAE7Ct6J,KAAK+C,KAAKsjC,MAAMmzF,SAEhBx5H,KAAK+C,KAAKsjC,MAAMmzF,OAAOvgG,IAAIj5B,KAAKogD,QAASpgD,MACzCA,KAAK+C,KAAKsjC,MAAMw1F,SAAS5iG,IAAIj5B,KAAKugD,UAAWvgD,MAEzCA,KAAK+C,KAAKsjC,MAAM20F,MAEhBh7H,KAAKogD,WAIbpgD,KAAK+C,KAAK2lC,QAAQzP,IAAIj5B,KAAKu6J,SAAUv6J,MACrCA,KAAK+C,KAAK6lC,SAAS3P,IAAIj5B,KAAKw6J,UAAWx6J,MAEvCA,KAAK84J,aAAe94J,KAAKoqB,SAAS2F,KAAK/vB,MAEvCA,KAAKo2E,MAAMzlC,iBAAiB,QAAS3wC,KAAK84J,cAAc,GACxD94J,KAAKo2E,MAAMzlC,iBAAiB,sBAAuB3wC,KAAK84J,cAAc,GAIlE94J,KAAKo2E,MAAMjL,KAFXA,EAEkB,OAIA,GAGtBnrE,KAAKo2E,MAAMkkF,aAAeA,EAEtBt6J,KAAKikH,YAELjkH,KAAK24J,UAAW,GAIhB34J,KAAK24J,UAAW,EAEC,OAAb34J,KAAKgT,MAEyB,IAA1BhT,KAAKo2E,MAAM0tB,YAEX9jG,KAAKw4J,MAAQx4J,KAAKu4J,WAClBv4J,KAAK04J,SAAWtoJ,OAAO2zF,WAAW/jG,KAAKo6J,mBAAmBrqI,KAAK/vB,MAAOA,KAAKy4J,iBAI3Ez4J,KAAK+4J,cAAgB/4J,KAAKy6J,YAAY1qI,KAAK/vB,MAC3CA,KAAKo2E,MAAMzlC,iBAAiB,UAAW3wC,KAAK+4J,eAAe,KAInE/4J,KAAKo2E,MAAMnL,OAEXjrE,KAAKs5H,OAAOl0F,SAASplC,KAAMmrE,EAAMmvF,IAG9Bt6J,OASXy6J,YAAa,WAETz6J,KAAKo2E,MAAMxkC,oBAAoB,UAAW5xC,KAAK+4J,eAAe,GAE9D/4J,KAAKwV,iBAiBTrJ,KAAM,WAkEF,OAhEInM,KAAK+C,KAAKsjC,MAAMmzF,SAEhBx5H,KAAK+C,KAAKsjC,MAAMmzF,OAAOr9G,OAAOnc,KAAKogD,QAASpgD,MAC5CA,KAAK+C,KAAKsjC,MAAMw1F,SAAS1/G,OAAOnc,KAAKugD,UAAWvgD,OAGpDA,KAAK+C,KAAK2lC,QAAQvsB,OAAOnc,KAAKu6J,SAAUv6J,MACxCA,KAAK+C,KAAK6lC,SAASzsB,OAAOnc,KAAKw6J,UAAWx6J,MAItCA,KAAKs4J,aAEDt4J,KAAKo2E,MAAM2jF,cAEX/5J,KAAKo2E,MAAM2jF,aAAa5tJ,OACxBnM,KAAKo2E,MAAMvmE,IAAM,MAEZ7P,KAAKo2E,MAAM4jF,WAEhBh6J,KAAKo2E,MAAM4jF,UAAU7tJ,OACrBnM,KAAKo2E,MAAMvmE,IAAM,OAIjB7P,KAAKo2E,MAAMvmE,IAAM,GAEb7P,KAAKq4J,YAAY3tH,OAEjB1qC,KAAKq4J,YAAY3tH,QAAS,EAG1B1qC,KAAKq4J,YAAYqC,UAEjB16J,KAAKq4J,YAAYqC,YAAY/pI,QAAQ,SAAUgqI,GAE3CA,EAAMxuJ,SAKVnM,KAAKq4J,YAAYlsJ,QAIzBnM,KAAKq4J,YAAc,KACnBr4J,KAAKs4J,aAAc,IAInBt4J,KAAKo2E,MAAMxkC,oBAAoB,QAAS5xC,KAAK84J,cAAc,GAC3D94J,KAAKo2E,MAAMxkC,oBAAoB,sBAAuB5xC,KAAK84J,cAAc,GACzE94J,KAAKo2E,MAAMxkC,oBAAoB,UAAW5xC,KAAK+4J,eAAe,GAE1D/4J,KAAKikH,YAELjkH,KAAK24J,UAAW,EAIhB34J,KAAKo2E,MAAMztC,SAIZ3oC,MAWXi5B,IAAK,SAAUmgB,GAEX,GAAI3xC,MAAMC,QAAQ0xC,GAEd,IAAK,IAAI12C,EAAI,EAAGA,EAAI02C,EAAOz2C,OAAQD,IAE3B02C,EAAO12C,GAAGs2C,aAEVI,EAAO12C,GAAGs2C,YAAYh5C,WAM9Bo5C,EAAOJ,YAAYh5C,MAGvB,OAAOA,MAeXmuC,WAAY,SAAUpqC,EAAGC,EAAGoqC,EAASC,EAASzpB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI5K,EAAQla,KAAK+C,KAAKk2B,IAAI/e,MAAMnW,EAAGC,EAAGhE,MAKtC,OAHAka,EAAMvT,OAAOQ,IAAIinC,EAASC,GAC1Bn0B,EAAMpZ,MAAMqG,IAAIyd,EAAQE,GAEjB5K,GAUX/U,OAAQ,YAECnF,KAAKs6E,sBAAwBt6E,KAAK46J,SAEnC56J,KAAKoG,YAAYoL,SAUzB4uC,QAAS,WAEDpgD,KAAK45H,SAKT55H,KAAK45H,QAAS,EAEd55H,KAAKo2E,MAAM2kD,OAAQ,IASvBx6E,UAAW,WAEFvgD,KAAK45H,SAAU55H,KAAKi8H,aAKzBj8H,KAAK45H,QAAS,EAEd55H,KAAKo2E,MAAM2kD,OAAQ,IASvBw/B,SAAU,WAEFv6J,KAAK67C,SAAW77C,KAAKikH,cAKzBjkH,KAAK67C,SAAU,EAEf77C,KAAKo2E,MAAMztC,UASf6xH,UAAW,YAEFx6J,KAAK67C,SAAW77C,KAAK87C,aAAe97C,KAAKikH,cAK9CjkH,KAAK67C,SAAU,EAEV77C,KAAKo2E,MAAM+yD,OAEZnpI,KAAKo2E,MAAMnL,SAyBnB4vF,aAAc,SAAUhrJ,EAAK6gH,GA0BzB,YAxBiBnqH,IAAbmqH,IAA0BA,GAAW,GAGzC1wH,KAAKjC,QAAQ0P,OAAQ,EAErBzN,KAAKo2E,MAAMztC,QAEX3oC,KAAK44J,sBAAuB,EAE5B54J,KAAKw4J,MAAQx4J,KAAKu4J,WAElBv4J,KAAK04J,SAAWtoJ,OAAO2zF,WAAW/jG,KAAKo6J,mBAAmBrqI,KAAK/vB,MAAOA,KAAKy4J,eAE3Ez4J,KAAKo2E,MAAMvmE,IAAMA,EAEjB7P,KAAKo2E,MAAMhwC,OAEXpmC,KAAK64J,UAAYnoC,EAEZA,IAED1wH,KAAK+mC,QAAS,GAGX/mC,MASXo6J,mBAAoB,WAGc,IAA1Bp6J,KAAKo2E,MAAM0tB,YAEX9jG,KAAK44J,sBAAuB,EAG5B54J,KAAKwV,mBAILxV,KAAKw4J,MAEY,EAEbx4J,KAAK04J,SAAWtoJ,OAAO2zF,WAAW/jG,KAAKo6J,mBAAmBrqI,KAAK/vB,MAAOA,KAAKy4J,eAI3En4J,QAAQ+Z,KAAK,0DAA2Dra,KAAKs4J,cAWzF17B,aAAc,WAEV58H,KAAK+C,KAAKojC,MAAM6e,qBAAqBhlD,KAAK68H,OAAQ78H,MAAM,GACxDA,KAAKikH,aAAc,GAUvB4Y,OAAQ,WAWJ,GATA78H,KAAKikH,aAAc,EAEfjkH,KAAKm4J,mBAELn4J,KAAKo2E,MAAMnL,OAEXjrE,KAAKs5H,OAAOl0F,SAASplC,KAAMA,KAAKmrE,KAAMnrE,KAAKs6J,eAG3Ct6J,KAAKgT,IACT,CACI,IAAIgmJ,EAASh5J,KAAK+C,KAAKiX,MAAMmuG,SAASnoH,KAAKgT,KAEvCgmJ,IAAWA,EAAOvzC,SAElBuzC,EAAOrqG,QAAS,GAMxB,OAFA3uD,KAAK87H,cAAc12F,SAASplC,OAErB,GAgBX86J,KAAM,SAAUlgJ,EAAO3Z,EAAOgH,GAM1B,QAJc1B,IAAVqU,IAAuBA,GAAQ,QACrBrU,IAAVtF,IAAuBA,EAAQ,QACjBsF,IAAd0B,IAA2BA,EAAY,MAErB,OAAlBjI,KAAKq5J,SAaT,OAPIz+I,GAEA5a,KAAKq5J,SAAS9+E,MAGlBv6E,KAAKq5J,SAASrlI,KAAKh0B,KAAKo2E,MAAO,EAAG,EAAGp2E,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAGmC,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAOgH,GAE5GjI,KAAKq5J,SAXR/4J,QAAQ+Z,KAAK,mEAoBrBq/I,mBAAoB,WAEhB,GAAK15J,KAAKo2E,MAAV,CAUA,IALIp2E,KAAKo2E,MAAMozB,YAEXxpG,KAAKo2E,MAAMozB,WAAW3gG,YAAY7I,KAAKo2E,OAGpCp2E,KAAKo2E,MAAM2kF,iBAEd/6J,KAAKo2E,MAAMvtE,YAAY7I,KAAKo2E,MAAM4kF,YAGtCh7J,KAAKo2E,MAAM6kF,gBAAgB,YAC3Bj7J,KAAKo2E,MAAM6kF,gBAAgB,OAE3Bj7J,KAAKo2E,MAAQ,OASjB5zE,QAAS,WAELxC,KAAKmM,OAELnM,KAAK05J,qBAED15J,KAAKikH,aAELjkH,KAAK+C,KAAKojC,MAAM+e,wBAAwBllD,KAAK68H,OAAQ78H,MAGrDA,KAAK04J,UAELtoJ,OAAOo6F,aAAaxqG,KAAK04J,YAUrC1xJ,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,eAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKo2E,MAAMwhD,YAAc,GAGnDzwH,IAAK,SAAUC,GAEXpH,KAAKo2E,MAAMwhD,YAAcxwH,KAUjCJ,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,YAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKo2E,MAAMvzC,SAAW,KAUpD77B,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,YAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAKA,KAAKo2E,MAAMwhD,YAAc53H,KAAKo2E,MAAMvzC,SAAY,KAS/E77B,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAK45H,QAGhBzyH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAIpH,KAAK45H,OAEL,OAGJ55H,KAAKi8H,YAAa,EAClBj8H,KAAKogD,cAGT,CACI,IAAKpgD,KAAK45H,OAEN,OAGJ55H,KAAKi8H,YAAa,EAClBj8H,KAAKugD,gBAajBv5C,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK67C,SAGhB10C,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,MAEbpH,KAAKikH,YAKT,GAAI78G,EACJ,CACI,GAAIpH,KAAK67C,QAEL,OAGJ77C,KAAK87C,aAAc,EACnB97C,KAAKu6J,eAGT,CACI,IAAKv6J,KAAK67C,QAEN,OAGJ77C,KAAK87C,aAAc,EACnB97C,KAAKw6J,gBAUjBxzJ,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,UAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKo2E,MAAM70C,OAAS,GAG9Cp6B,IAAK,SAAUC,GAEPA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRpH,KAAKo2E,QAELp2E,KAAKo2E,MAAM70C,OAASn6B,MAUhCJ,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,gBAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKo2E,MAAMkkF,aAAe,GAGpDnzJ,IAAK,SAAUC,GAEPpH,KAAKo2E,QAELp2E,KAAKo2E,MAAMkkF,aAAelzJ,MActCJ,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,QAE1C4E,IAAK,WAED,QAAQlH,KAAU,OAAIA,KAAKo2E,MAAMjL,MAGrChkE,IAAK,SAAUC,GAEPA,GAASpH,KAAKo2E,MAEdp2E,KAAKo2E,MAAMjL,KAAO,OAEbnrE,KAAKo2E,QAEVp2E,KAAKo2E,MAAMjL,KAAO,OAW9BnkE,OAAOyF,eAAejL,EAAOssE,MAAMxrE,UAAW,WAE1C4E,IAAK,WAED,QAAQlH,KAAU,SAAMA,KAAKo2E,MAAMrvC,QAAU/mC,KAAKo2E,MAAM+yD,UAKhE3nI,EAAOssE,MAAMxrE,UAAUC,YAAcf,EAAOssE,WAWpBvnE,IAApB/H,KAAK0J,aAEL1J,KAAK0J,WAAa1G,EAAO0G,iBAGL3B,IAApB/H,KAAKC,aAELD,KAAKC,WAAa+C,EAAO/C,iBAGK8H,IAA9B/H,KAAKqO,QAAQC,eAEbtO,KAAKqO,QAAQC,aAAe,IAAItO,KAAKqO,QAAQ,IAAIrO,KAAK2rB,mBAGnB5jB,IAAnC/H,KAAKmC,cAAcuE,cAEnB1G,KAAKmC,cAAcuE,YAAc,IAAI1D,EAAOC,QAGhDjD,KAAKmsB,mBAAoB,EAGzBnsB,KAAK08J,0BAA4B,WAE7B,OAAO15J,EAAO85C,OAAOpxB,gBASE,oBAAZkB,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU5pB,GAE/B4pB,QAAQ5pB,OAASA,GACQ,oBAAX8pB,QAA0BA,OAAOC,IAC/CD,OAAO,SAA+B5qB,EAAKc,OAASA,GAEpDd,EAAKc,OAASA,EAGXA,GACRgD,KAAKxE","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","all","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","_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","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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":";;CAoBA,WA+xMA,SAASA,EAAqBC,EAAIC,EAAOC,EAAQC,GAE7C,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,EAAoBrB,EAAIC,EAAOC,EAAQC,EAAWmB,GAEvD,IAAIC,EAAcvB,EAAGwB,oBACjBC,EAAqBzB,EAAG0B,qBACxBC,EAAc,KACdC,EAAW,EAiBf,OAfA5B,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,sBAEfC,QAAQC,MAAM,8BAA+BC,EAAUjB,IAE3DL,EAAYtB,MAAQA,EACpBsB,EAAYrB,OAASA,EACrBqB,EAAYuB,cAAgBnB,EAC5BJ,EAAYe,aAAeb,EACpBF,EA50MP,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,EAiBbjB,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,GAGzB7D,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,uBACL5C,KAAK6C,yBAsBTC,gBAAiB,SAAUzB,GAEvB,IAAKA,IAAWrB,KAAKqB,SAAWrB,KAAK+C,KAEjC,OAAO/C,KAGX,IAAIgD,EAAIhD,KAAKqB,OAETA,EAEA2B,EAAI3B,EAEErB,KAAKqB,SAEX2B,EAAIhD,KAAK+C,KAAKE,OAIlB,IAIIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAJhBC,EAAKR,EAAEzB,eACPkC,EAAKzD,KAAKuB,eAMVvB,KAAKgB,SAAWQ,OAAOkC,KAAKC,KAGxB3D,KAAKgB,WAAahB,KAAK4D,gBAEvB5D,KAAK4D,cAAgB5D,KAAKgB,SAC1BhB,KAAK8B,IAAM4B,KAAKG,IAAI7D,KAAKgB,UACzBhB,KAAK+B,IAAM2B,KAAKI,IAAI9D,KAAKgB,WAI7BkC,EAAIlD,KAAK+B,IAAM/B,KAAKc,MAAMiD,EAC1BZ,EAAInD,KAAK8B,IAAM9B,KAAKc,MAAMiD,EAC1BX,GAAKpD,KAAK8B,IAAM9B,KAAKc,MAAMkD,EAC3BX,EAAIrD,KAAK+B,IAAM/B,KAAKc,MAAMkD,EAC1BV,EAAKtD,KAAKY,SAASmD,EACnBR,EAAKvD,KAAKY,SAASoD,GAGfhE,KAAKe,MAAMgD,GAAK/D,KAAKe,MAAMiD,KAE3BV,GAAMtD,KAAKe,MAAMgD,EAAIb,EAAIlD,KAAKe,MAAMiD,EAAIZ,EACxCG,GAAMvD,KAAKe,MAAMgD,EAAIZ,EAAInD,KAAKe,MAAMiD,EAAIX,GAI5CI,EAAGP,EAAIA,EAAIM,EAAGN,EAAIC,EAAIK,EAAGJ,EACzBK,EAAGN,EAAID,EAAIM,EAAGL,EAAIA,EAAIK,EAAGH,EACzBI,EAAGL,EAAIA,EAAII,EAAGN,EAAIG,EAAIG,EAAGJ,EACzBK,EAAGJ,EAAID,EAAII,EAAGL,EAAIE,EAAIG,EAAGH,EACzBI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,KAKnCL,EAAIlD,KAAKc,MAAMiD,EACfZ,EAAI,EACJC,EAAI,EACJC,EAAIrD,KAAKc,MAAMkD,EACfV,EAAKtD,KAAKY,SAASmD,EAAI/D,KAAKe,MAAMgD,EAAIb,EACtCK,EAAKvD,KAAKY,SAASoD,EAAIhE,KAAKe,MAAMiD,EAAIX,EAEtCI,EAAGP,EAAIA,EAAIM,EAAGN,EACdO,EAAGN,EAAID,EAAIM,EAAGL,EACdM,EAAGL,EAAIC,EAAIG,EAAGJ,EACdK,EAAGJ,EAAIA,EAAIG,EAAGH,EACdI,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,GAEjCnD,KAAK4B,cAAiBuB,EAAI,EAAKO,KAAKU,KAAKlB,EAAIgB,IAAMR,KAAKU,KAAKlB,EAAIgB,GACjElE,KAAK2B,WAAWoC,EAAIG,EACpBlE,KAAK2B,WAAWqC,EAAIC,EAASC,OAE5B,GAAId,GAAKC,EACd,CACI,IAAIgB,EAAIX,KAAKS,KAAMf,EAAIA,EAAMC,EAAIA,GAEjCrD,KAAK4B,cAAgBJ,OAAOkC,KAAKY,SAAYjB,EAAI,EAAKK,KAAKU,MAAMhB,EAAIiB,IAAMX,KAAKU,KAAKhB,EAAIiB,IACzFrE,KAAK2B,WAAWoC,EAAIE,EAASI,EAC7BrE,KAAK2B,WAAWqC,EAAIK,OAIpBrE,KAAK2B,WAAWoC,EAAI,EACpB/D,KAAK2B,WAAWqC,EAAI,EAiBxB,OAbAhE,KAAKsB,WAAatB,KAAKiB,MAAQ+B,EAAE1B,WACjCtB,KAAK0B,cAAcqC,EAAIN,EAAGH,GAC1BtD,KAAK0B,cAAcsC,EAAIP,EAAGF,GAG1BvD,KAAKkC,eAAiB,KAGlBlC,KAAKuE,mBAELvE,KAAKuE,kBAAkBC,KAAKxE,KAAKyE,yBAA0BhB,EAAID,GAG5DxD,MAQX0E,UAAW,aAkBXC,gBAAiB,SAAUC,EAAY9G,EAAW+G,GAE9C,IAAIC,EAAS9E,KAAK+E,iBAEdC,EAAgB,IAAIxD,OAAOyD,cAAcjF,KAAK+C,KAAqB,EAAf+B,EAAOlH,MAA2B,EAAhBkH,EAAOjH,OAAYgH,EAAU/G,EAAW8G,GAOlH,OALApG,EAAKmC,cAAcuE,YAAY5B,IAAMwB,EAAOf,EAC5CvF,EAAKmC,cAAcuE,YAAY3B,IAAMuB,EAAOd,EAE5CgB,EAAcG,OAAOnF,KAAMxB,EAAKmC,cAAcuE,aAEvCF,GASXI,YAAa,WAIT,OAFApF,KAAKqF,wBAEErF,MAUXsF,SAAU,SAAU1E,GAIhB,OAFAZ,KAAK8C,kBAEE9C,KAAKuB,eAAegE,MAAM3E,IAWrC4E,QAAS,SAAU5E,EAAU6E,GASzB,OAPIA,IAEA7E,EAAW6E,EAAKH,SAAS1E,IAG7BZ,KAAK8C,kBAEE9C,KAAKuB,eAAemE,aAAa9E,IAU5C+E,oBAAqB,SAAUC,GAE3B5F,KAAK6F,cAAcvE,WAAatB,KAAKsB,WAEjCsE,EAAcjI,GAEda,EAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAK6F,cAAeD,GAI5DpH,EAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAK6F,cAAeD,IAUrEP,sBAAuB,WAEnBrF,KAAKoC,gBAAiB,EAEtB,IAAI0C,EAAS9E,KAAK+E,iBAQlB,GALAD,EAAOlH,MAAQ8F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOlH,QAC5CkH,EAAOjH,OAAS6F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOjH,SAE7CmC,KAAK8C,kBAEA9C,KAAK6F,cAaN7F,KAAK6F,cAAc9H,QAAQoI,OAAOrB,EAAOlH,MAAOkH,EAAOjH,YAZ3D,CACI,IAAIoB,EAAc,EACde,KAAKjC,SAAWiC,KAAKjC,QAAQqI,aAAe5H,EAAK6H,4BAEjDpH,EAAce,KAAKjC,QAAQqI,YAAYE,cAE3C,IAAItB,EAAgB,IAAIxD,OAAOyD,cAAcjF,KAAK+C,KAAM+B,EAAOlH,MAAOkH,EAAOjH,YAAQ0I,OAAWA,OAAWA,OAAWA,EAAWtH,GACjIe,KAAK6F,cAAgB,IAAIrH,EAAKsH,OAAOd,GACrChF,KAAK6F,cAActE,eAAiBvB,KAAKuB,eAQ7C,IAAIiF,EAAcxG,KAAKyG,SAEvBzG,KAAKyG,SAAW,KAChBzG,KAAK6F,cAAca,QAAUF,EAE7BhI,EAAKmC,cAAcuE,YAAY5B,IAAMwB,EAAOf,EAC5CvF,EAAKmC,cAAcuE,YAAY3B,IAAMuB,EAAOd,EAC5ChE,KAAK6F,cAAc9H,QAAQoH,OAAOnF,KAAMxB,EAAKmC,cAAcuE,aAAa,GACxElF,KAAK6F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOlH,MAClDoC,KAAK6F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOjH,OAElDmC,KAAKyG,SAAWD,EAEhBxG,KAAKoC,gBAAiB,GAS1BQ,qBAAsB,WAEb5C,KAAK6F,gBAKV7F,KAAK6F,cAAc9H,QAAQyE,SAAQ,GAEnCxC,KAAK6F,cAAgB,OAGzBhD,sBAAuB,WAEd7C,KAAK4G,gBAKVpF,OAAOqF,WAAWC,eAAe9G,KAAK4G,eAEtC5G,KAAK4G,cAAgB,QAM7BpI,EAAKmC,cAAc2B,UAAUyE,6BAA+BvI,EAAKmC,cAAc2B,UAAUQ,gBAEzFkE,OAAOC,iBAAiBzI,EAAKmC,cAAc2B,WAQvCyB,GAEImD,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,IAW1BpD,GAEIkD,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,IAU1BC,cAEIH,IAAK,WAED,GAAKlH,KAAKkB,QAKV,CACI,IAAIoG,EAAOtH,KAAKqB,OAEhB,IAAKiG,EAED,OAAOtH,KAAKkB,QAIZ,EACA,CACI,IAAKoG,EAAKpG,QAEN,OAAO,EAGXoG,EAAOA,EAAKjG,aAETiG,GAGX,OAAO,EAxBP,OAAO,IAuCnBC,MAEIL,IAAK,WAED,OAAOlH,KAAKmC,OAGhBgF,IAAK,SAAUC,GAEPpH,KAAKmC,QAELnC,KAAKmC,MAAMqF,QAAS,GAGxBxH,KAAKmC,MAAQiF,EAETA,IAEApH,KAAKmC,MAAMqF,QAAS,KAmBhCd,SAEIQ,IAAK,WAED,OAAOlH,KAAKyG,UAGhBU,IAAK,SAAUC,GAEX,GAAIK,MAAMC,QAAQN,GAClB,CAII,IAAK,IAFDO,KAEKjF,EAAI,EAAGA,EAAI0E,EAAMzE,OAAQD,IAI9B,IAAK,IAFDkF,EAAeR,EAAM1E,GAAGiF,OAEnBE,EAAI,EAAGA,EAAID,EAAajF,OAAQkF,IAErCF,EAAOG,KAAKF,EAAaC,IAKjC7H,KAAK+H,cAAiBC,OAAQhI,KAAM4H,aAAcD,GAGtD3H,KAAKyG,SAAWW,EAEZpH,KAAKiI,WAAajI,KAAKiI,YAAczJ,EAAK0J,WAAWC,WAErDnI,KAAKiI,UAAYzJ,EAAK0J,WAAWE,UAuB7CC,eAEInB,IAAK,WAED,OAAOlH,KAAKoC,gBAGhB+E,IAAK,SAAUC,GAEPpH,KAAKoC,iBAAmBgF,IAKxBA,EAEApH,KAAKqF,wBAILrF,KAAK4C,uBAGT5C,KAAKoC,eAAiBgF,OAmBlC5I,EAAK8J,uBAAyB,WAE1B9J,EAAKmC,cAAc6D,KAAKxE,MASxBA,KAAKyC,YAWLzC,KAAKuI,kBAAmB,GAG5B/J,EAAK8J,uBAAuBhG,UAAY0E,OAAOwB,OAAOhK,EAAKmC,cAAc2B,WACzE9D,EAAK8J,uBAAuBhG,UAAUC,YAAc/D,EAAK8J,uBASzD9J,EAAK8J,uBAAuBhG,UAAUmG,SAAW,SAAUC,GAEvD,OAAO1I,KAAK2I,WAAWD,EAAO1I,KAAKyC,SAASE,SAWhDnE,EAAK8J,uBAAuBhG,UAAUqG,WAAa,SAAUD,EAAOE,GAEhE,GAAIA,GAAS,GAAKA,GAAS5I,KAAKyC,SAASE,OAWrC,OATI+F,EAAMrH,QAENqH,EAAMrH,OAAOwH,YAAYH,GAG7BA,EAAMrH,OAASrB,KAEfA,KAAKyC,SAASqG,OAAOF,EAAO,EAAGF,GAExBA,EAIP,MAAM,IAAIK,MAAML,EAAQ,yBAA2BE,EAAQ,8BAAgC5I,KAAKyC,SAASE,SAWjHnE,EAAK8J,uBAAuBhG,UAAU0G,aAAe,SAAUN,EAAOO,GAElE,GAAIP,IAAUO,EAAd,CAKA,IAAIC,EAASlJ,KAAKmJ,cAAcT,GAC5BU,EAASpJ,KAAKmJ,cAAcF,GAEhC,GAAIC,EAAS,GAAKE,EAAS,EAEvB,MAAM,IAAIL,MAAM,iFAGpB/I,KAAKyC,SAASyG,GAAUD,EACxBjJ,KAAKyC,SAAS2G,GAAUV,IAU5BlK,EAAK8J,uBAAuBhG,UAAU6G,cAAgB,SAAUT,GAE5D,IAAIE,EAAQ5I,KAAKyC,SAAS4G,QAAQX,GAElC,IAAe,IAAXE,EAEA,MAAM,IAAIG,MAAM,4DAGpB,OAAOH,GAUXpK,EAAK8J,uBAAuBhG,UAAUgH,cAAgB,SAAUZ,EAAOE,GAEnE,GAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,OAEpC,MAAM,IAAIoG,MAAM,uCAGpB,IAAIQ,EAAevJ,KAAKmJ,cAAcT,GAEtC1I,KAAKyC,SAASqG,OAAOS,EAAc,GACnCvJ,KAAKyC,SAASqG,OAAOF,EAAO,EAAGF,IAUnClK,EAAK8J,uBAAuBhG,UAAUkH,WAAa,SAAUZ,GAEzD,GAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,OAEpC,MAAM,IAAIoG,MAAM,8BAAgCH,EAAQ,kGAG5D,OAAO5I,KAAKyC,SAASmG,IAUzBpK,EAAK8J,uBAAuBhG,UAAUuG,YAAc,SAAUH,GAE1D,IAAIE,EAAQ5I,KAAKyC,SAAS4G,QAAQX,GAElC,IAAe,IAAXE,EAKJ,OAAO5I,KAAKyJ,cAAcb,IAU9BpK,EAAK8J,uBAAuBhG,UAAUmH,cAAgB,SAAUb,GAE5D,IAAIF,EAAQ1I,KAAKwJ,WAAWZ,GAS5B,OAPIF,IAEAA,EAAMrH,YAASkF,EAEfvG,KAAKyC,SAASqG,OAAOF,EAAO,IAGzBF,GAGXlK,EAAK8J,uBAAuBhG,UAAUoH,gBAAkB,SAAUhB,GAE9D,GAAIA,EAAMrH,SAAWrB,KAKrB,OAAOA,KAAKsJ,cAAcZ,EAAO1I,KAAKyC,SAASE,OAAS,IAG5DnE,EAAK8J,uBAAuBhG,UAAUqH,gBAAkB,SAAUjB,GAE9D,GAAIA,EAAMrH,SAAWrB,KAKrB,OAAOA,KAAKsJ,cAAcZ,EAAO,IAUrClK,EAAK8J,uBAAuBhG,UAAUsH,eAAiB,SAAUC,EAAYC,QAEtDvD,IAAfsD,IAA4BA,EAAa,QAC5BtD,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,QAEvD,IAAIoH,EAAQD,EAAWD,EAEvB,GAAIE,EAAQ,GAAKA,GAASD,EAC1B,CAGI,IAAK,IAFDE,EAAUhK,KAAKyC,SAASqG,OAAOe,EAAYE,GAEtCrH,EAAI,EAAGA,EAAIsH,EAAQrH,OAAQD,IAEpBsH,EAAQtH,GACdrB,YAASkF,EAGnB,OAAOyD,EAEN,GAAc,IAAVD,GAAwC,IAAzB/J,KAAKyC,SAASE,OAElC,SAIA,MAAM,IAAIoG,MAAM,iFAUxBvK,EAAK8J,uBAAuBhG,UAAUQ,gBAAkB,WAEpD,GAAK9C,KAAKkB,UAKVlB,KAAK+G,gCAED/G,KAAKoC,gBAKT,IAAK,IAAIM,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,mBAKzBtE,EAAK8J,uBAAuBhG,UAAU2H,sCAAwCzL,EAAK8J,uBAAuBhG,UAAUQ,gBASpHtE,EAAK8J,uBAAuBhG,UAAU4H,UAAY,SAAUC,GAExD,IAAIC,EAAwCD,GAAyBA,aAAiC3L,EAAKmC,cACvG0J,GAAsC,EAErCD,EAMDC,EAFKF,aAAiC3L,EAAK8J,wBAEL6B,EAAsBG,SAAStK,MAJrEmK,EAAwBnK,KAW5B,IAAI0C,EAEJ,GAAI0H,EACJ,CACI,IAAIG,EAAcJ,EAAsB5I,eAIxC,IAFA4I,EAAsB5I,eAAiBC,OAAOgJ,eAEzC9H,EAAI,EAAGA,EAAIyH,EAAsB1H,SAASE,OAAQD,IAEnDyH,EAAsB1H,SAASC,GAAGI,kBAI1C,IAMI2H,EACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAMRI,GAAe,EAEnB,IAAKvI,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtB1C,KAAKyC,SAASC,GAEfxB,UAKX+J,GAAe,EAIfL,EAAQA,GAFRH,EAAczK,KAAKyC,SAASC,GAAGwH,aAEJnG,EAAK6G,EAAOH,EAAY1G,EACnD+G,EAAQA,EAAOL,EAAYzG,EAAK8G,EAAOL,EAAYzG,EAEnD0G,EAAYD,EAAY7M,MAAQ6M,EAAY1G,EAC5C4G,EAAYF,EAAY5M,OAAS4M,EAAYzG,EAE7C+G,EAAQA,EAAOL,EAAaK,EAAOL,EACnCM,EAAQA,EAAOL,EAAaK,EAAOL,GAGvC,IAAI7F,EAAS9E,KAAKgC,QAElB,IAAKiJ,EACL,CAGI,IAAIC,GAFJpG,EAAS,IAAItG,EAAKyD,WAEF8B,EACZoH,EAAKrG,EAAOlH,MAAQkH,EAAOf,EAE3BqH,EAAKtG,EAAOd,EACZqH,EAAKvG,EAAOjH,OAASiH,EAAOd,EAE5BzC,EAAiBvB,KAAKuB,eAEtB2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAE3BwH,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,GALAlG,EAAOf,EAAI6G,EACX9F,EAAOd,EAAI8G,EACXhG,EAAOlH,MAAQmN,EAAOH,EACtB9F,EAAOjH,OAASmN,EAAOF,EAEnBV,EAIA,IAFAD,EAAsB5I,eAAiBgJ,EAElC7H,EAAI,EAAGA,EAAIyH,EAAsB1H,SAASE,OAAQD,IAEnDyH,EAAsB1H,SAASC,GAAGI,kBAI1C,IAAKuH,EACL,CACI,IAAIyB,EAA8B3B,EAAsBD,YAExDpF,EAAOf,GAAK+H,EAA4B/H,EACxCe,EAAOd,GAAK8H,EAA4B9H,EAG5C,OAAOc,GASXtG,EAAK8J,uBAAuBhG,UAAUyC,eAAiB,WAEnD,OAAO/E,KAAKkK,UAAUlK,OAU1BxB,EAAK8J,uBAAuBhG,UAAUgI,SAAW,SAAU5B,GAEvD,QAAKA,IAIIA,IAAU1I,MAMRA,KAAKsK,SAAS5B,EAAMrH,UAWnC7C,EAAK8J,uBAAuBhG,UAAUyD,aAAe,SAAUH,GAE3D,GAAK5F,KAAKkB,WAAWlB,KAAKiB,OAAS,GAKnC,GAAIjB,KAAKoC,eAELpC,KAAK2F,oBAAoBC,OAF7B,CAMA,IAAIlD,EAEJ,GAAI1C,KAAKmC,OAASnC,KAAKyG,SACvB,CAgBI,IAdIzG,KAAKyG,WAELb,EAAcmG,YAAYC,QAC1BpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKmC,QAELyD,EAAcmG,YAAYI,OAC1BvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CA,EAAcmG,YAAYO,SAIzB5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlCA,EAAcmG,YAAYI,OAEtBnM,KAAKmC,OAASyD,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,GAC5D5F,KAAKyG,UAAYb,EAAcqG,cAAcO,YAEjD5G,EAAcmG,YAAYO,aAK1B,IAAK5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGqD,aAAaH,KAY1CpH,EAAK8J,uBAAuBhG,UAAU0D,cAAgB,SAAUJ,GAE5D,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,MAKnC,GAAIjB,KAAKoC,eAELpC,KAAK2F,oBAAoBC,OAF7B,CAMI5F,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnD,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,KAU1CoB,OAAOyF,eAAejO,EAAK8J,uBAAuBhG,UAAW,SAEzD4E,IAAK,WAED,OAAOlH,KAAK+E,iBAAiBnH,MAAQoC,KAAKc,MAAMiD,GAGpDoD,IAAK,SAAUC,GAEX,IAAIxJ,EAAQoC,KAAK+E,iBAAiBnH,MAI9BoC,KAAKc,MAAMiD,EAFD,IAAVnG,EAEewJ,EAAQxJ,EAIR,EAGnBoC,KAAK0M,OAAStF,KAUtBJ,OAAOyF,eAAejO,EAAK8J,uBAAuBhG,UAAW,UAEzD4E,IAAK,WAED,OAAOlH,KAAK+E,iBAAiBlH,OAASmC,KAAKc,MAAMkD,GAGrDmD,IAAK,SAAUC,GAEX,IAAIvJ,EAASmC,KAAK+E,iBAAiBlH,OAI/BmC,KAAKc,MAAMkD,EAFA,IAAXnG,EAEeuJ,EAAQvJ,EAIR,EAGnBmC,KAAK2M,QAAUvF,KAiBvB5I,EAAKsH,OAAS,SAAU/H,GAEpBS,EAAK8J,uBAAuB9D,KAAKxE,MAajCA,KAAK2G,OAAS,IAAInI,EAAKqC,MAAMrC,EAAKsH,OAAO8G,cAAc7I,EAAGvF,EAAKsH,OAAO8G,cAAc5I,GAQpFhE,KAAKjC,QAAUA,GAAWS,EAAKqO,QAAQC,aASvC9M,KAAK0M,OAAS,EASd1M,KAAK2M,QAAU,EASf3M,KAAK+M,KAAO,SAUZ/M,KAAKgN,YAAc,EASnBhN,KAAK4G,cAAgB,KAWrB5G,KAAKiI,UAAYzJ,EAAK0J,WAAWE,OAUjCpI,KAAKiN,OAAS,KASdjN,KAAKkN,QAAS,EAEVlN,KAAKjC,QAAQqI,YAAY+G,WAEzBnN,KAAKoN,kBAGTpN,KAAKoB,YAAa,GAQtB5C,EAAKsH,OAAO8G,eAAiB7I,EAAG,EAAGC,EAAG,GAGtCxF,EAAKsH,OAAOxD,UAAY0E,OAAOwB,OAAOhK,EAAK8J,uBAAuBhG,WAClE9D,EAAKsH,OAAOxD,UAAUC,YAAc/D,EAAKsH,OAQzCkB,OAAOyF,eAAejO,EAAKsH,OAAOxD,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKc,MAAMiD,EAAI/D,KAAKjC,QAAQsP,MAAMzP,OAG7CuJ,IAAK,SAAUC,GAEXpH,KAAKc,MAAMiD,EAAIqD,EAAQpH,KAAKjC,QAAQsP,MAAMzP,MAC1CoC,KAAK0M,OAAStF,KAWtBJ,OAAOyF,eAAejO,EAAKsH,OAAOxD,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKc,MAAMkD,EAAIhE,KAAKjC,QAAQsP,MAAMxP,QAG7CsJ,IAAK,SAAUC,GAEXpH,KAAKc,MAAMkD,EAAIoD,EAAQpH,KAAKjC,QAAQsP,MAAMxP,OAC1CmC,KAAK2M,QAAUvF,KAavB5I,EAAKsH,OAAOxD,UAAUgL,WAAa,SAAUvP,EAASwP,GAE9CA,GAEAvN,KAAKjC,QAAQqI,YAAY5D,UAI7BxC,KAAKjC,QAAQqI,YAAYoH,YAAa,EACtCxN,KAAKjC,QAAUA,EACfiC,KAAKjC,QAAQ0P,OAAQ,EACrBzN,KAAKgN,YAAc,GAUvBxO,EAAKsH,OAAOxD,UAAU8K,gBAAkB,WAGhCpN,KAAK0M,SAAU1M,KAAKc,MAAMiD,EAAI/D,KAAK0M,OAAS1M,KAAKjC,QAAQsP,MAAMzP,OAC/DoC,KAAK2M,UAAW3M,KAAKc,MAAMkD,EAAIhE,KAAK2M,QAAU3M,KAAKjC,QAAQsP,MAAMxP,SAiBzEW,EAAKsH,OAAOxD,UAAU4H,UAAY,SAAUwD,GAExC,IAAI9P,EAAQoC,KAAKjC,QAAQsP,MAAMzP,MAC3BC,EAASmC,KAAKjC,QAAQsP,MAAMxP,OAE5BqN,EAAKtN,GAAS,EAAIoC,KAAK2G,OAAO5C,GAC9BoH,EAAKvN,GAASoC,KAAK2G,OAAO5C,EAE1BqH,EAAKvN,GAAU,EAAImC,KAAK2G,OAAO3C,GAC/BqH,EAAKxN,GAAUmC,KAAK2G,OAAO3C,EAE3BzC,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEX,GAAU,IAAN1H,GAAiB,IAANC,EACf,CAEI,GAAIF,EAAI,EACR,CACIA,IAAM,EACFyK,EAAOzC,EACXA,GAAMC,EACNA,GAAMwC,EAGV,GAAItK,EAAI,EACR,CACIA,IAAM,EACN,IAAIsK,EAAOvC,EACXA,GAAMC,EACNA,GAAMsC,EAOV/C,EAAO1H,EAAIiI,EAAK7H,EAChByH,EAAO7H,EAAIgI,EAAK5H,EAChBwH,EAAOzH,EAAIgI,EAAK9H,EAChByH,EAAO3H,EAAI+H,EAAK7H,MAGpB,CACI,IAAI+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAK3BqH,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,IAAIlG,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXtG,EAAKsH,OAAOxD,UAAUyC,eAAiB,WAEnC,IAAIwF,EAAcvK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,OAAOgJ,eAE7B,IAAK,IAAI9H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,kBAGrB,IAAIgC,EAAS9E,KAAKkK,YAIlB,IAFAlK,KAAKuB,eAAiBgJ,EAEjB7H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGI,kBAGrB,OAAOgC,GAWXtG,EAAKsH,OAAOxD,UAAUyD,aAAe,SAAUH,EAAe8H,GAG1D,GAAK1N,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKoB,WAA9C,CAGA,IAAIqC,EAAKzD,KAAKuB,eAQd,GANImM,IAEAjK,EAAKiK,GAIL1N,KAAKmC,OAASnC,KAAKyG,SACvB,CACI,IAAIsF,EAAcnG,EAAcmG,YAG5B/L,KAAKyG,WAELsF,EAAYC,QACZpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAKmC,QAEL4J,EAAYI,OACZvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CmG,EAAYO,SAIhBP,EAAY5G,OAAOnF,MAGnB,IAAS0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAIlCmG,EAAYI,OAERnM,KAAKmC,OAASyD,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,GAC5D5F,KAAKyG,UAAYb,EAAcqG,cAAcO,YAEjDT,EAAYO,YAGhB,CACI1G,EAAcmG,YAAY5G,OAAOnF,MAGjC,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,EAAenC,MAazDjF,EAAKsH,OAAOxD,UAAU0D,cAAgB,SAAUJ,EAAe8H,GAG3D,MAAK1N,KAAKkB,SAA0B,IAAflB,KAAKiB,QAAgBjB,KAAKoB,YAAcpB,KAAKjC,QAAQ6P,KAAKhQ,MAAQ,GAAKoC,KAAKjC,QAAQ6P,KAAK/P,OAAS,GAAvH,CAKA,IAAI4F,EAAKzD,KAAKuB,eAoBd,GAjBImM,IAEAjK,EAAKiK,GAGL1N,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtCrC,EAAckI,QAAQC,yBAA2BvP,EAAKwP,iBAAiBpI,EAAciI,mBAGrF7N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAI9C5F,KAAKjC,QAAQ0P,MAAlB,CAgBA,IAAI7I,EAAa5E,KAAKjC,QAAQqI,YAAYxB,WAAagB,EAAchB,WAErEgB,EAAckI,QAAQG,YAAcjO,KAAKsB,WAGrCsE,EAAcsI,gBAAkBtI,EAAc9H,YAAckC,KAAKjC,QAAQqI,YAAYtI,YAErF8H,EAAc9H,UAAYkC,KAAKjC,QAAQqI,YAAYtI,UACnD8H,EAAckI,QAAQlI,EAAcsI,gBAAmBtI,EAAc9H,YAAcU,EAAKC,WAAWC,QAIvG,IAAIyP,EAAMnO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQqQ,KAAKrK,EAAI/D,KAAK2G,OAAO5C,EAAI/D,KAAKjC,QAAQqQ,KAAKxQ,MAAQoC,KAAK2G,OAAO5C,GAAK/D,KAAKjC,QAAQsP,MAAMzP,MAC/HyQ,EAAMrO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQqQ,KAAKpK,EAAIhE,KAAK2G,OAAO3C,EAAIhE,KAAKjC,QAAQqQ,KAAKvQ,OAASmC,KAAK2G,OAAO3C,GAAKhE,KAAKjC,QAAQsP,MAAMxP,OAEhIyF,EAAMG,EAAGH,GAAKsC,EAAchB,WAAcgB,EAAc0I,OACxD/K,EAAME,EAAGF,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAExDC,EAAKxO,KAAKjC,QAAQ6P,KAAKhQ,MACvB6Q,EAAKzO,KAAKjC,QAAQ6P,KAAK/P,OAE3B,GAAImC,KAAKjC,QAAQ2Q,QACjB,CACI,IAAIxL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EACPC,EAAII,EAAGJ,EACPsL,EAAIH,EAGRlL,EAAKG,EAAGL,EAAIqL,EAAKnL,EACjBC,EAAKE,EAAGJ,EAAIoL,EAAKlL,EAMjBE,EAAGP,EAAQ,sBAAJA,EAA6BE,EACpCK,EAAGN,EAAQ,sBAAJA,EAA6BE,EACpCI,EAAGL,EAAIF,EAAQ,sBAAJE,EACXK,EAAGJ,EAAIF,EAAQ,sBAAJE,EAGXmL,EAAKC,EACLA,EAAKE,EAqBT,GAjBI/I,EAAcgJ,aAEdhJ,EAAckI,QAAQe,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAQ,EAALC,EAAa,EAALC,GACnE4K,GAAM,EACNE,GAAM,GAINzI,EAAckI,QAAQe,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAGnE4K,GAAMvJ,EACNyJ,GAAMzJ,EAEN4J,GAAM,EACNC,GAAM,EAEDD,GAAOC,EAAZ,CAKA,GAAkB,WAAdzO,KAAK+M,MAED/M,KAAKjC,QAAQ+Q,gBAAkB9O,KAAKgN,aAAehN,KAAK+M,QAExD/M,KAAK4G,cAAgBpI,EAAKuQ,aAAaC,iBAAiBhP,KAAMA,KAAK+M,MAEnE/M,KAAKgN,WAAahN,KAAK+M,KACvB/M,KAAKjC,QAAQ+Q,gBAAiB,GAGlClJ,EAAckI,QAAQmB,UAAUjP,KAAK4G,cAAe,EAAG,EAAG4H,EAAIC,EAAIN,EAAIE,EAAIG,EAAK5J,EAAY6J,EAAK7J,OAGpG,CACI,IAAIsK,EAAKlP,KAAKjC,QAAQ6P,KAAK7J,EACvBoL,EAAKnP,KAAKjC,QAAQ6P,KAAK5J,EAE3B4B,EAAckI,QAAQmB,UAAUjP,KAAKjC,QAAQqI,YAAYgJ,OAAQF,EAAIC,EAAIX,EAAIC,EAAIN,EAAIE,EAAIG,EAAK5J,EAAY6J,EAAK7J,GAGnH,IAASlC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,QAjHtC,CAGI,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,MAoH9CpH,EAAK6Q,mBAAqB,aAW1B7Q,EAAK8Q,oBAAsB,SAAU3R,EAAI4R,GAErC,OAAO/Q,EAAKgR,eAAe7R,EAAI4R,EAAW5R,EAAG8R,gBAUjDjR,EAAKkR,sBAAwB,SAAU/R,EAAI4R,GAEvC,OAAO/Q,EAAKgR,eAAe7R,EAAI4R,EAAW5R,EAAGgS,kBAYjDnR,EAAKgR,eAAiB,SAAU7R,EAAI4R,EAAWK,GAE3C,IAAIC,EAAMN,EAEN9H,MAAMC,QAAQ6H,KAEdM,EAAMN,EAAUO,KAAK,OAGzB,IAAI7C,EAAStP,EAAGoS,aAAaH,GAI7B,OAHAjS,EAAGqS,aAAa/C,EAAQ4C,GACxBlS,EAAGsS,cAAchD,GAEZtP,EAAGuS,mBAAmBjD,EAAQtP,EAAGwS,gBAM/BlD,GAJHmD,OAAO9P,QAAQ+P,IAAI1S,EAAG2S,iBAAiBrD,IAChC,OAcfzO,EAAK+R,eAAiB,SAAU5S,EAAI6S,EAAWC,GAE3C,IAAIC,EAAiBlS,EAAKkR,sBAAsB/R,EAAI8S,GAChDE,EAAenS,EAAK8Q,oBAAoB3R,EAAI6S,GAE5CI,EAAgBjT,EAAGkT,gBAYvB,OAVAlT,EAAGmT,aAAaF,EAAeD,GAC/BhT,EAAGmT,aAAaF,EAAeF,GAC/B/S,EAAGoT,YAAYH,GAEVjT,EAAGqT,oBAAoBJ,EAAejT,EAAGsT,eAE1Cb,OAAO9P,QAAQ+P,IAAI1S,EAAGuT,kBAAkBN,IACxCR,OAAO9P,QAAQ+P,IAAI,iCAGhBO,GAaXpS,EAAK2S,WAAa,SAAUxT,GAOxBqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,YAAc,KAOnBzQ,KAAKsR,aAAe,EAQpBtR,KAAKuR,UAAW,EAOhBvR,KAAKwR,OAAQ,EAQbxR,KAAKyR,cAELzR,KAAK0R,QAGTlT,EAAK2S,WAAW7O,UAAUC,YAAc/D,EAAK2S,WAE7C3S,EAAK2S,WAAW7O,UAAUqP,mBAAqB,WAE3C,IAAIhU,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,+CACRA,EAAQ,wCAExB5I,KAAKyQ,aACD,iCACA,wBACA,+FACA,8BACA,uBACA,+BACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,4DACA,KAGJ,IAAIP,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,WAAahS,EAAK2S,WAAWa,iBAAkBhS,KAAKyQ,aAE/F9S,EAAGsU,WAAWZ,GAMdrR,KAAKkS,cAAgBvU,EAAGwU,mBAAmBd,EAAS,oBACpDrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cAGjDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,iBAEnD,IAAIuB,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKkS,cAAeU,IAUN,IAAzB5S,KAAK0S,iBAEJ1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK0S,eAAgB1S,KAAK2S,eAKxF,IAAK,IAAIK,KAAOhT,KAAKiT,SAGjBjT,KAAKiT,SAASD,GAAKE,gBAAkBvV,EAAGwU,mBAAmBd,EAAS2B,GAGxEhT,KAAKmT,eAELnT,KAAKqR,QAAUA,GAGnB7S,EAAK2S,WAAW7O,UAAU8Q,kBAAoB,WAEjB,OAArBpT,KAAKyQ,cAELzQ,KAAKyQ,aACD,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,kEACA,MAIR,IAAI9S,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,WAAahS,EAAK2S,WAAWa,iBAAkBhS,KAAKyQ,aAE/F9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW1V,EAAGwU,mBAAmBd,EAAS,YAC/CrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cAGjDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,kBAWvB,IAAzBrR,KAAK0S,iBAEJ1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK0S,eAAgB1S,KAAK2S,eAKxF,IAAK,IAAIK,KAAOhT,KAAKiT,SAGjBjT,KAAKiT,SAASD,GAAKE,gBAAkBvV,EAAGwU,mBAAmBd,EAAS2B,GAGxEhT,KAAKmT,eAELnT,KAAKqR,QAAUA,GAQnB7S,EAAK2S,WAAW7O,UAAUoP,KAAO,SAAU4B,GAEnC9U,EAAK6H,4BAA8BiN,EAEnCtT,KAAK2R,qBAIL3R,KAAKoT,qBAYb5U,EAAK2S,WAAW7O,UAAU6Q,aAAe,WAErCnT,KAAKsR,aAAe,EACpB,IACIiC,EADA5V,EAAKqC,KAAKrC,GAGd,IAAK,IAAIqV,KAAOhT,KAAKiT,SACrB,CAGI,IAAIO,GAFJD,EAAUvT,KAAKiT,SAASD,IAELQ,KAEN,cAATA,GAEAD,EAAQE,OAAQ,EAEM,OAAlBF,EAAQnM,OAERpH,KAAK0T,cAAcH,IAGT,SAATC,GAA4B,SAATA,GAA4B,SAATA,GAG3CD,EAAQI,UAAW,EACnBJ,EAAQK,cAAgB,EAEX,SAATJ,EAEAD,EAAQM,OAASlW,EAAGmW,iBAEN,SAATN,EAELD,EAAQM,OAASlW,EAAGoW,iBAEN,SAATP,IAELD,EAAQM,OAASlW,EAAGqW,oBAMxBT,EAAQM,OAASlW,EAAG,UAAY6V,GAI5BD,EAAQK,cAFC,OAATJ,GAA0B,OAATA,EAEO,EAEV,OAATA,GAA0B,OAATA,EAEE,EAEV,OAATA,GAA0B,OAATA,EAEE,EAIA,KAWxChV,EAAK2S,WAAW7O,UAAUoR,cAAgB,SAAUH,GAEhD,GAAKA,EAAQnM,OAAUmM,EAAQnM,MAAMhB,aAAgBmN,EAAQnM,MAAMhB,YAAY+G,UAA/E,CAKA,IAAIxP,EAAKqC,KAAKrC,GAOd,GAJAA,EAAG6B,cAAc7B,EAAG8B,SAAWO,KAAKsR,cACpC3T,EAAGM,YAAYN,EAAGO,WAAYqV,EAAQnM,MAAMhB,YAAY6N,YAAYtW,EAAGuW,KAGnEX,EAAQY,YACZ,CACI,IAAIC,EAAOb,EAAQY,YAgBfE,EAAaD,EAAc,UAAIA,EAAKC,UAAY1W,EAAGe,OACnD4V,EAAaF,EAAc,UAAIA,EAAKE,UAAY3W,EAAGe,OACnD6V,EAASH,EAAU,MAAIA,EAAKG,MAAQ5W,EAAGU,cACvCmW,EAASJ,EAAU,MAAIA,EAAKI,MAAQ7W,EAAGU,cACvCoW,EAAUL,EAAc,UAAIzW,EAAG+W,UAAY/W,EAAGmB,KAUlD,GARIsV,EAAKO,SAELJ,EAAQ5W,EAAGiX,OACXJ,EAAQ7W,EAAGiX,QAGfjX,EAAGkX,YAAYlX,EAAGmX,sBAAuBV,EAAKW,OAE1CX,EAAKxW,MACT,CACI,IAAIA,EAASwW,EAAU,MAAIA,EAAKxW,MAAQ,IACpCC,EAAUuW,EAAW,OAAIA,EAAKvW,OAAS,EACvCmX,EAAUZ,EAAW,OAAIA,EAAKY,OAAS,EAG3CrX,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGuW,EAAQ7W,EAAOC,EAAQmX,EAAQP,EAAQ9W,EAAGoB,cAAe,WAKzFpB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGuW,EAAQ9W,EAAGmB,KAAMnB,EAAGoB,cAAewU,EAAQnM,MAAMhB,YAAYgJ,QAGjGzR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoB8V,GACvD1W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoB0V,GACvD3W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBmW,GACnD5W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBkW,GAGvD7W,EAAGsX,UAAU1B,EAAQL,gBAAiBlT,KAAKsR,cAE3CiC,EAAQE,OAAQ,EAEhBzT,KAAKsR,iBAQT9S,EAAK2S,WAAW7O,UAAU4S,aAAe,WAErClV,KAAKsR,aAAe,EACpB,IAAIiC,EACA5V,EAAKqC,KAAKrC,GAGd,IAAK,IAAIqV,KAAOhT,KAAKiT,SAGa,KAD9BM,EAAUvT,KAAKiT,SAASD,IACZY,eAEiB,IAArBL,EAAQI,SAERJ,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQ4B,UAAW5B,EAAQnM,OAI5EmM,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,OAG9B,IAA1BmM,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,GAEjD,IAA1BuP,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,EAAGuP,EAAQnM,MAAMgO,GAElE,IAA1B7B,EAAQK,cAEbL,EAAQM,OAAOrP,KAAK7G,EAAI4V,EAAQL,gBAAiBK,EAAQnM,MAAMrD,EAAGwP,EAAQnM,MAAMpD,EAAGuP,EAAQnM,MAAMgO,EAAG7B,EAAQnM,MAAMiO,GAE5F,cAAjB9B,EAAQC,OAETD,EAAQE,OAER9V,EAAG6B,cAAc7B,EAAG,UAAYqC,KAAKsR,eAElCiC,EAAQnM,MAAMhB,YAAYkP,OAAO3X,EAAGuW,IAEnC1V,EAAK+W,UAAU5X,EAAGuW,IAAIsB,cAAcjC,EAAQnM,MAAMhB,aAKlDzI,EAAGM,YAAYN,EAAGO,WAAYqV,EAAQnM,MAAMhB,YAAY6N,YAAYtW,EAAGuW,KAI3EvW,EAAGsX,UAAU1B,EAAQL,gBAAiBlT,KAAKsR,cAC3CtR,KAAKsR,gBAILtR,KAAK0T,cAAcH,KAWnC/U,EAAK2S,WAAW7O,UAAUE,QAAU,WAEhCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAStBjT,EAAK2S,WAAWa,kBACZ,8BACA,kCACA,kCACA,gCACA,yBACA,iCAEA,iCACA,6BAEA,8BACA,uBACA,+BAEA,uCAEA,oBACA,uDACA,qGACA,oCACA,qDACA,oCACA,KAYJxT,EAAKkX,eAAiB,SAAU/X,GAsB5B,GAfAqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAEX7S,EAAK6H,0BACT,CACI,IAAI1I,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,wCAQxB5I,KAAKyQ,aACD,qCACA,wBACA,+FACA,8BACA,wBACA,+BACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,2DACA,UAKJ5R,KAAKyQ,aACD,qCACA,wBACA,8BACA,wBACA,+BACA,8BACA,oBACA,iEACA,KASRzQ,KAAKwQ,WACD,mCACA,kCACA,iCACA,yBACA,6BACA,gCACA,0BACA,iCAEA,iCACA,6BACA,wBAEA,8BACA,wBACA,+BAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCACA,oCAGA,sBACA,KAQJxQ,KAAKsR,aAAe,EAEpBtR,KAAK0R,QAGTlT,EAAKkX,eAAepT,UAAUC,YAAc/D,EAAKkX,eAOjDlX,EAAKkX,eAAepT,UAAUoP,KAAO,WAEjC,IAAI/T,EAAKqC,KAAKrC,GACV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAS3D,GAPA9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW7U,EAAK6H,0BACjB1I,EAAGwU,mBAAmBd,EAAS,oBAC/B1T,EAAGwU,mBAAmBd,EAAS,YAE/B7S,EAAK6H,0BACT,CACI,IAAIuM,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKqT,SAAUT,GAGjC5S,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKsS,WAAa3U,EAAGwU,mBAAmBd,EAAS,cACjDrR,KAAK2V,QAAUhY,EAAGwU,mBAAmBd,EAAS,WAG9CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAK4V,eAAiBjY,EAAG6U,kBAAkBnB,EAAS,kBAEpDrR,KAAK6V,OAASlY,EAAG6U,kBAAkBnB,EAAS,UAC5CrR,KAAK8V,UAAYnY,EAAG6U,kBAAkBnB,EAAS,aAE/CrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UAEpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,kBAUtB,IAAzBrR,KAAK0S,iBAEL1S,KAAK0S,eAAiB,GAG1B1S,KAAKyR,YACDzR,KAAKuS,gBACLvS,KAAK4V,eACL5V,KAAK6V,OACL7V,KAAK8V,UACL9V,KAAKyS,cACLzS,KAAK0S,eACL1S,KAAK2S,eAKT3S,KAAKqR,QAAUA,GAQnB7S,EAAKkX,eAAepT,UAAUE,QAAU,WAEpCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAYtBjT,EAAKuX,YAAc,SAAUpY,GAsBzB,GAfAqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAEX7S,EAAK6H,0BACT,CACI,IAAI1I,EAAKqC,KAAKrC,GACdqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBAEvC,IAAK,IADDC,EAAa,qGACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,gCASxB5I,KAAKyQ,aACD,iCACA,2BACA,+FACA,8BACA,+BAGA,uBACA,mCAAqCzQ,KAAK4R,aAAe,KAMzD,8CAMA,6CACA,oBACAG,EACA,0BAA4B/R,KAAK4R,aAAe,qCAChD,2DACA,UAUJ5R,KAAKyQ,aACD,iCACA,2BACA,8BACA,+BAGA,uBACA,8BACA,oBACA,wDACA,KASRzQ,KAAKwQ,WACD,+BACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BAMA,8BACA,+BAIA,oBACA,+DACA,4BACA,qGACA,oCACA,oCAGA,KAGJxQ,KAAK0R,QAGTlT,EAAKuX,YAAYzT,UAAUC,YAAc/D,EAAKuX,YAO9CvX,EAAKuX,YAAYzT,UAAUoP,KAAO,WAE9B,IAAI/T,EAAKqC,KAAKrC,GACV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAS3D,GARA9S,EAAGsU,WAAWZ,GAGdrR,KAAKqT,SAAW7U,EAAK6H,0BACjB1I,EAAGwU,mBAAmBd,EAAS,oBAC/B1T,EAAGwU,mBAAmBd,EAAS,YAG/B7S,EAAK6H,0BACT,CACI,IAAIuM,KAGAC,EAAclV,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BlV,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmV,IAAK,EAAG,EAAG,EAAGnV,EAAGmV,IAAKnV,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAK4R,eAAgBlP,EAErC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAY2U,GAC9BD,EAAQ9K,KAAKpF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGoV,WAAW/S,KAAKqT,SAAUT,GAGjC5S,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UACpDrR,KAAK2S,cAAgBhV,EAAG6U,kBAAkBnB,EAAS,iBAKnDrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAKyS,cAAgB9U,EAAG6U,kBAAkBnB,EAAS,iBAEnDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAKyS,cAAezS,KAAK2S,eAEnE3S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAKuX,YAAYzT,UAAUE,QAAU,WAEjCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKiW,UAAY,MAYrBzX,EAAK0X,gBAAkB,SAAUvY,GAO7BqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJzQ,KAAKwQ,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJxQ,KAAK0R,QAGTlT,EAAK0X,gBAAgB5T,UAAUC,YAAc/D,EAAK0X,gBAOlD1X,EAAK0X,gBAAgB5T,UAAUoP,KAAO,WAElC,IAAI/T,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAC3D9S,EAAGsU,WAAWZ,GAGdrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKmW,UAAYxY,EAAGwU,mBAAmBd,EAAS,QAChDrR,KAAK+U,MAAQpX,EAAGwU,mBAAmBd,EAAS,SAG5CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBACrDrR,KAAK0S,eAAiB/U,EAAG6U,kBAAkBnB,EAAS,UAEpDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAK0S,gBAE/C1S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAK0X,gBAAgB5T,UAAUE,QAAU,WAErCxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKyR,WAAa,MAYtBjT,EAAK4X,uBAAyB,SAAUzY,GAOpCqC,KAAKoR,KAAO5P,OAAO4P,OAMnBpR,KAAKrC,GAAKA,EAOVqC,KAAKqR,QAAU,KAOfrR,KAAKyQ,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJzQ,KAAKwQ,WACD,kCAGA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJxQ,KAAK0R,QAGTlT,EAAK4X,uBAAuB9T,UAAUC,YAAc/D,EAAK4X,uBAOzD5X,EAAK4X,uBAAuB9T,UAAUoP,KAAO,WAEzC,IAAI/T,EAAKqC,KAAKrC,GAEV0T,EAAU7S,EAAK+R,eAAe5S,EAAIqC,KAAKwQ,UAAWxQ,KAAKyQ,aAC3D9S,EAAGsU,WAAWZ,GAGdrR,KAAKoS,iBAAmBzU,EAAGwU,mBAAmBd,EAAS,oBACvDrR,KAAKqS,aAAe1U,EAAGwU,mBAAmBd,EAAS,gBACnDrR,KAAKmW,UAAYxY,EAAGwU,mBAAmBd,EAAS,QAChDrR,KAAKqW,MAAQ1Y,EAAGwU,mBAAmBd,EAAS,SAC5CrR,KAAK+U,MAAQpX,EAAGwU,mBAAmBd,EAAS,SAG5CrR,KAAKuS,gBAAkB5U,EAAG6U,kBAAkBnB,EAAS,mBAIrDrR,KAAKyR,YAAezR,KAAKuS,gBAAiBvS,KAAK0S,gBAE/C1S,KAAKgW,kBAAoBrY,EAAGwU,mBAAmBd,EAAS,qBACxDrR,KAAKiB,MAAQtD,EAAGwU,mBAAmBd,EAAS,SAE5CrR,KAAKqR,QAAUA,GAQnB7S,EAAK4X,uBAAuB9T,UAAUE,QAAU,WAE5CxC,KAAKrC,GAAG8X,cAAczV,KAAKqR,SAC3BrR,KAAKiT,SAAW,KAChBjT,KAAKrC,GAAK,KAEVqC,KAAKiW,UAAY,MAOrBzX,EAAK8X,cACL9X,EAAK+W,aACL/W,EAAK6H,2BAA4B,EAYjC7H,EAAK+X,cAAgB,SAAUxT,EAAMyT,GAKjCxW,KAAK+C,KAAOA,EAEPvE,EAAKiY,kBAENjY,EAAKiY,gBAAkBzW,MAG3BA,KAAK0W,cAML1W,KAAKwT,KAAOhS,OAAOmV,MASnB3W,KAAK4E,WAAa7B,EAAK6B,WAQvB5E,KAAK4W,YAAc7T,EAAK6T,YAQxB5W,KAAK6W,YAAa,EAQlB7W,KAAK8W,sBAAwB/T,EAAK+T,sBAYlC9W,KAAK+W,kBAAoBhU,EAAKgU,kBAU9B/W,KAAKgX,gBAAkBjU,EAAKiU,gBAQ5BhX,KAAKpC,MAAQmF,EAAKnF,MAQlBoC,KAAKnC,OAASkF,EAAKlF,OAQnBmC,KAAKiX,KAAOlU,EAAKmU,OAOjBlX,KAAKmX,iBACDlW,MAAOjB,KAAK4W,YACZQ,UAAWrU,EAAKqU,UAChBC,6BAA8Bb,EAAOa,6BACrCC,mBAAoBtX,KAAK4W,aAAoC,kBAArB5W,KAAK4W,YAC7CW,SAAS,EACTT,sBAAuB9W,KAAK8W,sBAC5BE,gBAAiBjU,EAAKiU,iBAO1BhX,KAAKwX,WAAa,IAAIhZ,EAAKqC,MAM3Bb,KAAKyX,OAAS,IAAIjZ,EAAKqC,MASvBb,KAAK0X,cAAgB,IAAIlZ,EAAKmZ,mBAO9B3X,KAAK+L,YAAc,IAAIvN,EAAKoZ,iBAAiB7U,GAO7C/C,KAAKoM,YAAc,IAAI5N,EAAKqZ,iBAO5B7X,KAAKiM,cAAgB,IAAIzN,EAAKsZ,mBAO9B9X,KAAK+X,eAAiB,IAAIvZ,EAAKwZ,oBAO/BhY,KAAKiY,iBAAmB,IAAIzZ,EAAK0Z,sBAMjClY,KAAK4F,iBAML5F,KAAKmY,0BAGLnY,KAAK4F,cAAc7C,KAAO/C,KAAK+C,KAC/B/C,KAAK4F,cAAcjI,GAAKqC,KAAKrC,GAC7BqC,KAAK4F,cAAcwS,UAAY,EAC/BpY,KAAK4F,cAAc8R,cAAgB1X,KAAK0X,cACxC1X,KAAK4F,cAAcwG,YAAcpM,KAAKoM,YACtCpM,KAAK4F,cAAcqG,cAAgBjM,KAAKiM,cACxCjM,KAAK4F,cAAcqS,iBAAmBjY,KAAKiY,iBAC3CjY,KAAK4F,cAAcmG,YAAc/L,KAAK+L,YACtC/L,KAAK4F,cAAcmS,eAAiB/X,KAAK+X,eACzC/X,KAAK4F,cAAcf,SAAW7E,KAC9BA,KAAK4F,cAAchB,WAAa5E,KAAK4E,WACrC5E,KAAK4F,cAAcgJ,YAAc4H,EAAO5H,cAAe,EACvD5O,KAAK4F,cAAcyS,yBAA2B,KAG9CrY,KAAKsY,cAGLtY,KAAKuY,iBAIT/Z,EAAK+X,cAAcjU,UAAUC,YAAc/D,EAAK+X,cAKhD/X,EAAK+X,cAAcjU,UAAUgW,YAAc,WAEvC,IAAI3a,EAAKqC,KAAKiX,KAAKuB,WAAW,QAASxY,KAAKmX,kBAAoBnX,KAAKiX,KAAKuB,WAAW,qBAAsBxY,KAAKmX,iBAIhH,GAFAnX,KAAKrC,GAAKA,GAELA,EAGD,MAAM,IAAIoL,MAAM,sEAGpB/I,KAAKyY,YAAc9a,EAAGkU,aAAalU,EAAGmU,yBACtC9R,KAAK0Y,eAAiB1Y,KAAKrC,GAAGkU,aAAalU,EAAGgb,kBAE9C3Y,KAAK4Y,YAAcjb,EAAGuW,GAAK1V,EAAK+X,cAAcqC,cAE9Cpa,EAAK8X,WAAWtW,KAAK4Y,aAAejb,EAEpCa,EAAK+W,UAAUvV,KAAK4Y,aAAe5Y,KAGnCrC,EAAGkb,QAAQlb,EAAGmb,YACdnb,EAAGkb,QAAQlb,EAAGob,WACdpb,EAAGqb,OAAOrb,EAAGsb,OAGbjZ,KAAK0X,cAAcwB,WAAWvb,GAC9BqC,KAAK+L,YAAYmN,WAAWvb,GAC5BqC,KAAKoM,YAAY8M,WAAWvb,GAC5BqC,KAAKiM,cAAciN,WAAWvb,GAC9BqC,KAAKiY,iBAAiBiB,WAAWvb,GACjCqC,KAAK+X,eAAemB,WAAWvb,GAE/BqC,KAAK4F,cAAcjI,GAAKqC,KAAKrC,GAG7BqC,KAAKmG,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAG7BmC,KAAK0W,WAAWyC,eAEhB,IAAIC,EAAOzb,EAAG0b,aAAa,kCAAoC1b,EAAG0b,aAAa,wCAC3EC,EAAQ3b,EAAG0b,aAAa,mCAAqC1b,EAAG0b,aAAa,yCAC7EE,EAAO5b,EAAG0b,aAAa,kCAAoC1b,EAAG0b,aAAa,wCAE3ED,IAAQpZ,KAAK0W,WAAWyC,YAAYK,KAAOJ,GAC3CE,IAAStZ,KAAK0W,WAAWyC,YAAYM,MAAQH,GAC7CC,IAAQvZ,KAAK0W,WAAWyC,YAAYO,KAAOH,IA0BnD/a,EAAK+X,cAAcjU,UAAUqX,mBAAqB,SAAUC,GAExD,GAAKpb,EAAK6H,0BAAV,CA0BA,IAAK,IArBDwT,EAAW,SAAUC,GAQrB,QANEA,EACFA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,KACbA,GAETnc,EAAKqC,KAAKrC,GACV8a,EAAc9a,EAAGkU,aAAalU,EAAGmU,yBACjC4G,EAAiB/a,EAAGkU,aAAalU,EAAGgb,kBACpCoB,EAAa/Z,KAAK+C,KAAKiX,MAAMC,OAAOC,MACpCC,EAAY,KAOPzX,EAAI,EAAGA,EAAI1C,KAAKmY,uBAAuBxV,OAAQD,KAEpDyX,EAAYna,KAAKmY,uBAAuBzV,MAErBqX,EAMnBA,EAAWI,GAAWC,KAAK9T,aAAe,EAJtChG,QAAQ+Z,KAAK,iEAAkEF,GAMvF,IAAI9B,EAA2B,EAAmBwB,EAASnW,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,SACrFmC,KAAKmY,uBAAuBxV,OAAS,EAGrC,IAAK,IAAIkF,EAAI,EAAGA,EAAI+R,EAAsBjX,SAAUkF,EAIhD,IAFAsS,EAAYP,EAAsB/R,MAEfkS,EAAnB,CAOA,IAAIK,EAAOL,EAAWI,GAAWC,MACjC/B,GAA4BwB,EAASnW,KAAKuC,IAAImU,EAAKxc,MAAOwc,EAAKvc,WAC/B,GAE5Buc,EAAK9T,aAAe,EACpBhG,QAAQ+Z,KAAK,4GACTF,EAAW9B,IAIf+B,EAAK9T,aAAgB,EAAKuB,GAAK4Q,EAAc,GAEjDzY,KAAKmY,uBAAuBrQ,KAAKqS,QAjB7B7Z,QAAQ+Z,KAAK,iEAAkEF,GAsBvF,OAFAna,KAAK4F,cAAcyS,yBAA2BA,EAEvCrY,KAAKmY,uBApER7X,QAAQ+Z,KAAK,mGA6ErB7b,EAAK+X,cAAcjU,UAAU6C,OAAS,SAAUmV,GAG5C,IAAIta,KAAKua,YAAT,CAKA,IAAI5c,EAAKqC,KAAKrC,GAGdA,EAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAOoC,KAAKnC,QAGnCF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAE/BK,KAAK+C,KAAKgU,oBAEVpZ,EAAG8c,WAAWH,EAAMI,SAASxW,EAAGoW,EAAMI,SAASC,EAAGL,EAAMI,SAASvX,EAAGmX,EAAMI,SAASxX,GAEnFvF,EAAGid,MAAMjd,EAAGkd,mBAGhB7a,KAAKyX,OAAO1T,EAAI/D,KAAK+C,KAAK+X,OAAOC,OAAOhX,EACxC/D,KAAKyX,OAAOzT,EAAIhE,KAAK+C,KAAK+X,OAAOC,OAAO/W,EAExChE,KAAKgb,oBAAoBV,EAAOta,KAAKwX,cAWzChZ,EAAK+X,cAAcjU,UAAU0Y,oBAAsB,SAAUC,EAAezD,EAAY0D,EAAQxN,GAE5F1N,KAAK4F,cAAcqS,iBAAiBkD,aAAa3c,EAAK0J,WAAWE,QAGjEpI,KAAK4F,cAAcwS,UAAY,EAG/BpY,KAAK4F,cAAcmP,MAAQmG,GAAU,EAAI,EAGzClb,KAAK4F,cAAc4R,WAAaA,EAGhCxX,KAAK4F,cAAc6R,OAASzX,KAAKyX,OAGjCzX,KAAK+L,YAAYqP,MAAMpb,KAAK4F,eAG5B5F,KAAKiM,cAAcmP,MAAMpb,KAAK4F,cAAesV,GAG7CD,EAAclV,aAAa/F,KAAK4F,cAAe8H,GAG/C1N,KAAK+L,YAAYsP,OAUrB7c,EAAK+X,cAAcjU,UAAU6D,OAAS,SAAUvI,EAAOC,GAEnDmC,KAAKpC,MAAQA,EAAQoC,KAAK4E,WAC1B5E,KAAKnC,OAASA,EAASmC,KAAK4E,WAE5B5E,KAAKiX,KAAKrZ,MAAQoC,KAAKpC,MACvBoC,KAAKiX,KAAKpZ,OAASmC,KAAKnC,OAEpBmC,KAAK6W,aAEL7W,KAAKiX,KAAKqE,MAAM1d,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAAa,KACvD5E,KAAKiX,KAAKqE,MAAMzd,OAASmC,KAAKnC,OAASmC,KAAK4E,WAAa,MAG7D5E,KAAKrC,GAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAOoC,KAAKnC,QAExCmC,KAAKwX,WAAWzT,EAAI/D,KAAKpC,MAAQ,EAAIoC,KAAK4E,WAC1C5E,KAAKwX,WAAWxT,GAAKhE,KAAKnC,OAAS,EAAImC,KAAK4E,YAUhDpG,EAAK+X,cAAcjU,UAAUiZ,wBAA0B,SAAUxd,GAE7D,IAAKA,EAAQoP,UAET,OAAO,EAEX,IAAIxP,EAAKqC,KAAKrC,GACV6d,EAAkBzd,EAAQqR,OA2C9B,OAzCKrR,EAAQkW,YAAYtW,EAAGuW,MAExBnW,EAAQkW,YAAYtW,EAAGuW,IAAMvW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQuI,cAEvC3I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAErDvW,EAAG8d,qBACC9d,EAAGO,WACH,EACAsd,EAAgBE,kBAChBF,EAAgB5d,MAChB4d,EAAgB3d,OAChB,EACA2d,EAAgBrH,aAGpBxW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQ4d,QAAUna,OAAOkC,KAAKkY,aAAa7d,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGke,qBAAuBle,EAAGme,wBACnIne,EAAGoe,eAAepe,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQie,WAOTre,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGiX,QACtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGiX,UANtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAO1DN,EAAQuX,OAAO3X,EAAGuW,KAAM,GACjB,GAUX1V,EAAK+X,cAAcjU,UAAUkT,cAAgB,SAAUzX,GAEnD,IAAKA,EAAQoP,YAAcpP,EAAQqR,OAE/B,OAAO,EAEX,GAAIrR,EAAQqR,OAAO6M,qBAEf,OAAOjc,KAAKub,wBAAwBxd,GAGxC,IAAIJ,EAAKqC,KAAKrC,GAwCd,OAtCKI,EAAQkW,YAAYtW,EAAGuW,MAExBnW,EAAQkW,YAAYtW,EAAGuW,IAAMvW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQuI,cAEvC3I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAErDvW,EAAGkX,YAAYlX,EAAGue,+BAAgCne,EAAQuZ,oBAE1D3Z,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMnB,EAAGmB,KAAMnB,EAAGoB,cAAehB,EAAQqR,QAE5EzR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQ4d,QAAUna,OAAOkC,KAAKkY,aAAa7d,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGke,qBAAuBle,EAAGme,wBACnIne,EAAGoe,eAAepe,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQie,WAOTre,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGiX,QACtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGiX,UANtDjX,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAQ1DN,EAAQuX,OAAO3X,EAAGuW,KAAM,GAGjB,GAQX1V,EAAK+X,cAAcjU,UAAUE,QAAU,WAEnChE,EAAK8X,WAAWtW,KAAK4Y,aAAe,KAEpC5Y,KAAKwX,WAAa,KAClBxX,KAAKyX,OAAS,KAEdzX,KAAK0X,cAAclV,UACnBxC,KAAK+L,YAAYvJ,UACjBxC,KAAKoM,YAAY5J,UACjBxC,KAAKiM,cAAczJ,UAEnBxC,KAAK0X,cAAgB,KACrB1X,KAAK+L,YAAc,KACnB/L,KAAKoM,YAAc,KACnBpM,KAAKiM,cAAgB,KAErBjM,KAAKrC,GAAK,KACVqC,KAAK4F,cAAgB,KAErBpE,OAAOqF,WAAWsV,OAAOnc,MAEzBxB,EAAK+W,UAAUvV,KAAK4Y,aAAe,KAEnCpa,EAAK+X,cAAcqC,eAQvBpa,EAAK+X,cAAcjU,UAAUiW,cAAgB,WAEzC,IAAI5a,EAAKqC,KAAKrC,GAEd,IAAKa,EAAK4d,gBACV,CACI,IAAIjZ,KACAkZ,EAAQ7d,EAAK0J,WAEjB/E,EAAEkZ,EAAMjU,SAAYzK,EAAG2e,IAAK3e,EAAG4e,qBAC/BpZ,EAAEkZ,EAAMG,MAAS7e,EAAG8e,UAAW9e,EAAG+e,WAClCvZ,EAAEkZ,EAAMlU,WAAcxK,EAAGgf,UAAWhf,EAAG4e,qBACvCpZ,EAAEkZ,EAAMO,SAAYjf,EAAG8e,UAAW9e,EAAG2e,KACrCnZ,EAAEkZ,EAAMQ,UAAalf,EAAG2e,IAAK3e,EAAG4e,qBAChCpZ,EAAEkZ,EAAMS,SAAYnf,EAAG2e,IAAK3e,EAAG4e,qBAC/BpZ,EAAEkZ,EAAMU,UAAapf,EAAG2e,IAAK3e,EAAG4e,qBAChCpZ,EAAEkZ,EAAMW,cAAiBrf,EAAG2e,IAAK3e,EAAG4e,qBACpCpZ,EAAEkZ,EAAMY,aAAgBtf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMa,aAAgBvf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMc,aAAgBxf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMe,aAAgBzf,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMgB,YAAe1f,EAAG2e,IAAK3e,EAAG4e,qBAClCpZ,EAAEkZ,EAAMiB,MAAS3f,EAAG2e,IAAK3e,EAAG4e,qBAC5BpZ,EAAEkZ,EAAMkB,aAAgB5f,EAAG2e,IAAK3e,EAAG4e,qBACnCpZ,EAAEkZ,EAAMmB,QAAW7f,EAAG2e,IAAK3e,EAAG4e,qBAC9BpZ,EAAEkZ,EAAMoB,aAAgB9f,EAAG2e,IAAK3e,EAAG4e,qBAEnC/d,EAAK4d,gBAAkBjZ,IAI/B3E,EAAK+X,cAAcjU,UAAUob,kBAAoB,WAE7C,IAAI/f,EAAKqC,KAAKrC,GACd,OAAOA,EAAGkU,aAAalU,EAAGmU,0BAG9BtT,EAAKmf,mBAAqB,WAEtBnf,EAAK6H,2BAA4B,GAGrC7H,EAAK+X,cAAcqC,YAAc,EACjCpa,EAAK+X,cAAcqH,gBAWnBpf,EAAK0Z,sBAAwB,WAMzBlY,KAAK6N,iBAAmB,OAG5BrP,EAAK0Z,sBAAsB5V,UAAUC,YAAc/D,EAAK0Z,sBAQxD1Z,EAAK0Z,sBAAsB5V,UAAU4W,WAAa,SAAUvb,GAExDqC,KAAKrC,GAAKA,GASda,EAAK0Z,sBAAsB5V,UAAU6Y,aAAe,SAAUlT,GAE1D,GAAGjI,KAAK6N,mBAAqB5F,EAAa,OAAO,EAEjDjI,KAAK6N,iBAAmB5F,EAExB,IAAI4V,EAAiBrf,EAAK4d,gBAAgBpc,KAAK6N,kBAO/C,OALIgQ,GAEA7d,KAAKrC,GAAGmgB,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXrf,EAAK0Z,sBAAsB5V,UAAUE,QAAU,WAE3CxC,KAAKrC,GAAK,MAYda,EAAKqZ,iBAAmB,aAIxBrZ,EAAKqZ,iBAAiBvV,UAAUC,YAAc/D,EAAKqZ,iBAQnDrZ,EAAKqZ,iBAAiBvV,UAAU4W,WAAa,SAAUvb,GAEnDqC,KAAKrC,GAAKA,GAUda,EAAKqZ,iBAAiBvV,UAAU+J,SAAW,SAAU0R,EAAUnY,GAE3D,IAAIjI,EAAKiI,EAAcjI,GAEnBogB,EAASvM,OAEThT,EAAKwf,cAAcC,eAAeF,EAAUpgB,QAGjB4I,IAA3BwX,EAASG,OAAOvgB,EAAGuW,UAAqD3N,IAAhCwX,EAASG,OAAOvgB,EAAGuW,IAAIE,MAA6D,IAAvC2J,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAKzR,QAKrHiD,EAAcmS,eAAeoG,YAAYJ,EAAUA,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAK,GAAIxO,IAUvFpH,EAAKqZ,iBAAiBvV,UAAUiK,QAAU,SAAUwR,EAAUnY,GAE1D,IAAIjI,EAAKqC,KAAKrC,QAEiB4I,IAA3BwX,EAASG,OAAOvgB,EAAGuW,UAAqD3N,IAAhCwX,EAASG,OAAOvgB,EAAGuW,IAAIE,MAA6D,IAAvC2J,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAKzR,QAKrHiD,EAAcmS,eAAeqG,WAAWL,EAAUA,EAASG,OAAOvgB,EAAGuW,IAAIE,KAAK,GAAIxO,IAQtFpH,EAAKqZ,iBAAiBvV,UAAUE,QAAU,WAEtCxC,KAAKrC,GAAK,MAYda,EAAKwZ,oBAAsB,WAEvBhY,KAAKqe,gBACLre,KAAKse,SAAU,EACfte,KAAKue,MAAQ,GASjB/f,EAAKwZ,oBAAoB1V,UAAU4W,WAAa,SAAUvb,GAEtDqC,KAAKrC,GAAKA,GAWda,EAAKwZ,oBAAoB1V,UAAU6b,YAAc,SAAUK,EAAUC,EAAW7Y,GAE5E,IAAIjI,EAAKqC,KAAKrC,GACdqC,KAAK0e,aAAaF,EAAUC,EAAW7Y,GAEP,IAA7B5F,KAAKqe,aAAa1b,SAEjBhF,EAAGqb,OAAOrb,EAAGghB,cACbhhB,EAAGid,MAAMjd,EAAGihB,oBACZ5e,KAAKse,SAAU,EACfte,KAAKue,MAAQ,GAGjBve,KAAKqe,aAAavW,KAAK2W,GAEvB,IAAII,EAAQ7e,KAAKue,MAEjB5gB,EAAGmhB,WAAU,GAAO,GAAO,GAAO,GAElCnhB,EAAGohB,YAAYphB,EAAGqhB,OAAO,EAAE,KAC3BrhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGwhB,QAIV,IAAnBV,EAAUW,MAETzhB,EAAG0hB,aAAa1hB,EAAG2hB,aAAcb,EAAU7L,QAAQjQ,OAAS,EAAGhF,EAAG4hB,eAAgB,GAE/Evf,KAAKse,SAEJ3gB,EAAGohB,YAAYphB,EAAG6hB,MAAO,IAAOX,EAAO,KACvClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,QAIhC9hB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAC/BlhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,OAIpC/hB,EAAG0hB,aAAa1hB,EAAG2hB,aAAc,EAAG3hB,EAAG4hB,eAAiD,GAAhCd,EAAU7L,QAAQjQ,OAAS,IAEhF3C,KAAKse,QAEJ3gB,EAAGohB,YAAYphB,EAAG6hB,MAAM,KAAQX,EAAQ,GAAI,KAI5ClhB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KAGvC7e,KAAKse,SAAWte,KAAKse,UAIjBte,KAAKse,SAOL3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAC/BlhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,QANhC/hB,EAAGohB,YAAYphB,EAAG6hB,MAAO,IAAOX,EAAO,KACvClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,OAQpC9hB,EAAG0hB,aAAa1hB,EAAGgiB,eAAgBlB,EAAU7L,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,GAE5Evf,KAAKse,QAML3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KAJnClhB,EAAGohB,YAAYphB,EAAG6hB,MAAM,KAAQX,EAAQ,GAAI,MAQpDlhB,EAAGmhB,WAAU,GAAM,GAAM,GAAM,GAC/BnhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGuhB,MAEhClf,KAAKue,SAWT/f,EAAKwZ,oBAAoB1V,UAAUoc,aAAe,SAAUF,EAAUC,EAAW7Y,GAG7E5F,KAAK4f,iBAAmBpB,EAExB,IAKIvR,EALAtP,EAAKqC,KAAKrC,GAGV6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OAGL,IAAnBgH,EAAUW,MAETnS,EAASrH,EAAc8R,cAAcmI,uBAErCja,EAAc8R,cAAcoI,UAAU7S,GAEtCtP,EAAGoiB,UAAU9S,EAAO8H,MAAOnP,EAAcmP,OAEzCpX,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOwI,EAASjd,eAAeye,SAAQ,IAErFriB,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGuiB,WAAWjT,EAAOkJ,UAAW3U,OAAO2e,MAAMC,cAAc5B,EAASzR,OACpEpP,EAAGuiB,WAAWjT,EAAOoJ,MAAOoI,EAAUpI,OAEtC1Y,EAAGoiB,UAAU9S,EAAOhM,MAAOud,EAASld,WAAamd,EAAUxd,OAE3DtD,EAAG0iB,WAAW1iB,EAAG2iB,aAAc7B,EAAUvD,QAEzCvd,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAO,GAO1E7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBhC,EAAUiC,eAKjDzT,EAASrH,EAAc8R,cAAciJ,gBACrC/a,EAAc8R,cAAcoI,UAAU7S,GAEtCtP,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOwI,EAASjd,eAAeye,SAAQ,IAErFriB,EAAGoiB,UAAU9S,EAAO8H,MAAOnP,EAAcmP,OACzCpX,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGuiB,WAAWjT,EAAOkJ,UAAW3U,OAAO2e,MAAMC,cAAc5B,EAASzR,OAEpEpP,EAAGoiB,UAAU9S,EAAOhM,MAAOud,EAASld,YAEpC3D,EAAG0iB,WAAW1iB,EAAG2iB,aAAc7B,EAAUvD,QAEzCvd,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,GAAO,GAC1E7iB,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAM,GAAO,GAGxE7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBhC,EAAUiC,eAUzDliB,EAAKwZ,oBAAoB1V,UAAU8b,WAAa,SAAUI,EAAUC,EAAW7Y,GAE3E,IAAIjI,EAAKqC,KAAKrC,GAKd,GAJAqC,KAAKqe,aAAauC,MAElB5gB,KAAKue,QAE2B,IAA7Bve,KAAKqe,aAAa1b,OAGjBhF,EAAGkb,QAAQlb,EAAGghB,kBAGlB,CACI,IAAIE,EAAQ7e,KAAKue,MAEjBve,KAAK0e,aAAaF,EAAUC,EAAW7Y,GAEvCjI,EAAGmhB,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBL,EAAUW,MAETpf,KAAKse,SAAWte,KAAKse,QAElBte,KAAKse,SAEJ3gB,EAAGohB,YAAYphB,EAAG6hB,MAAO,KAAQX,EAAQ,GAAI,KAC7ClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,QAIhC/hB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KACnClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,OAIpC9hB,EAAG0hB,aAAa1hB,EAAG2hB,aAAc,EAAG3hB,EAAG4hB,eAAiD,GAAhCd,EAAU7L,QAAQjQ,OAAS,IAEnFhF,EAAGohB,YAAYphB,EAAGqhB,OAAO,EAAE,KAC3BrhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGwhB,QAGhCxhB,EAAG0hB,aAAa1hB,EAAG2hB,aAAcb,EAAU7L,QAAQjQ,OAAS,EAAGhF,EAAG4hB,eAAgB,GAE9Evf,KAAKse,QAML3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAJ/BlhB,EAAGohB,YAAYphB,EAAG6hB,MAAM,IAAO,EAAS,OAUxCxf,KAAKse,SAOL3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAQ,EAAG,KACnClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG8hB,QANhC9hB,EAAGohB,YAAYphB,EAAG6hB,MAAO,KAAQX,EAAQ,GAAI,KAC7ClhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAG+hB,OAQpC/hB,EAAG0hB,aAAa1hB,EAAGgiB,eAAgBlB,EAAU7L,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,GAE5Evf,KAAKse,QAML3gB,EAAGohB,YAAYphB,EAAG6hB,MAAMX,EAAO,KAJ/BlhB,EAAGohB,YAAYphB,EAAG6hB,MAAM,IAAO,EAAS,MAQhD7hB,EAAGmhB,WAAU,GAAM,GAAM,GAAM,GAC/BnhB,EAAGshB,UAAUthB,EAAGuhB,KAAKvhB,EAAGuhB,KAAKvhB,EAAGuhB,QASxC1gB,EAAKwZ,oBAAoB1V,UAAUE,QAAU,WAEzCxC,KAAKqe,aAAe,KACpBre,KAAKrC,GAAK,MAYda,EAAKmZ,mBAAqB,WAMtB3X,KAAK6gB,UAAY,GAMjB7gB,KAAK8gB,eAML9gB,KAAK+gB,mBAEL,IAAK,IAAIre,EAAI,EAAGA,EAAI1C,KAAK6gB,UAAWne,IAEhC1C,KAAK8gB,YAAYpe,IAAK,EAO1B1C,KAAKghB,UAGTxiB,EAAKmZ,mBAAmBrV,UAAUC,YAAc/D,EAAKmZ,mBAQrDnZ,EAAKmZ,mBAAmBrV,UAAU4W,WAAa,SAAUvb,GAErDqC,KAAKrC,GAAKA,EAGVqC,KAAK2gB,gBAAkB,IAAIniB,EAAK0X,gBAAgBvY,GAGhDqC,KAAK6f,uBAAyB,IAAIrhB,EAAK4X,uBAAuBzY,GAG9DqC,KAAKihB,cAAgB,IAAIziB,EAAK2S,WAAWxT,GAGzCqC,KAAKkhB,WAAa,IAAI1iB,EAAKkX,eAAe/X,GAG1CqC,KAAKmhB,YAAc,IAAI3iB,EAAKuX,YAAYpY,GAGxCqC,KAAKohB,eAAiB5iB,EAAK6iB,eAAiB,IAAI7iB,EAAK6iB,eAAe1jB,GAAM,KAE1EqC,KAAK8f,UAAU9f,KAAKihB,gBASxBziB,EAAKmZ,mBAAmBrV,UAAUgf,WAAa,SAAUC,GAGrD,IAAI7e,EAEJ,IAAKA,EAAI,EAAGA,EAAI1C,KAAK+gB,gBAAgBpe,OAAQD,IAEzC1C,KAAK+gB,gBAAgBre,IAAK,EAI9B,IAAKA,EAAI,EAAGA,EAAI6e,EAAQ5e,OAAQD,IAChC,CACI,IAAI8e,EAAWD,EAAQ7e,GACvB1C,KAAK+gB,gBAAgBS,IAAY,EAGrC,IAAI7jB,EAAKqC,KAAKrC,GAEd,IAAK+E,EAAI,EAAGA,EAAI1C,KAAK8gB,YAAYne,OAAQD,IAElC1C,KAAK8gB,YAAYpe,KAAO1C,KAAK+gB,gBAAgBre,KAE5C1C,KAAK8gB,YAAYpe,GAAK1C,KAAK+gB,gBAAgBre,GAExC1C,KAAK+gB,gBAAgBre,GAEpB/E,EAAG8jB,wBAAwB/e,GAI3B/E,EAAG+jB,yBAAyBhf,KAY5ClE,EAAKmZ,mBAAmBrV,UAAUwd,UAAY,SAAU7S,GAEpD,OAAGjN,KAAK2hB,aAAe1U,EAAOmE,OAE9BpR,KAAK2hB,WAAa1U,EAAOmE,KAEzBpR,KAAK4hB,cAAgB3U,EAErBjN,KAAKrC,GAAGsU,WAAWhF,EAAOoE,SAC1BrR,KAAKshB,WAAWrU,EAAOwE,aAEhB,IAQXjT,EAAKmZ,mBAAmBrV,UAAUE,QAAU,WAExCxC,KAAK8gB,YAAc,KAEnB9gB,KAAK+gB,gBAAkB,KAEvB/gB,KAAK2gB,gBAAgBne,UAErBxC,KAAK6f,uBAAuBrd,UAE5BxC,KAAKihB,cAAcze,UAEnBxC,KAAKkhB,WAAW1e,UAEhBxC,KAAKmhB,YAAY3e,UAEbxC,KAAKohB,gBAELphB,KAAKohB,eAAe5e,UAGxBxC,KAAKrC,GAAK,MAoBda,EAAKoZ,iBAAmB,SAAU7U,GAK9B/C,KAAK+C,KAAOA,EAMZ/C,KAAK6hB,SAAW,EAOhB7hB,KAAK8hB,KAAO,IAQZ9hB,KAAK+hB,WAAa,GAClB,IAAIC,EAAWhiB,KAAK+hB,WAAa/hB,KAAK8hB,KAAO,EAMzCG,EAAyB,EAAZjiB,KAAK8hB,KAQtB9hB,KAAKkiB,SAAW,IAAIC,YAAYH,GAQhChiB,KAAKoiB,UAAY,IAAIC,aAAariB,KAAKkiB,UAQvCliB,KAAKsiB,OAAS,IAAIC,YAAYviB,KAAKkiB,UAQnCliB,KAAK4S,QAAU,IAAI4P,YAAYP,GAM/BjiB,KAAKyiB,eAAiB,EAEtB,IAAK,IAAI/f,EAAI,EAAGmF,EAAI,EAAGnF,EAAIuf,EAAYvf,GAAK,EAAGmF,GAAK,EAEhD7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAO9B7H,KAAK0iB,SAAU,EAMf1iB,KAAK2iB,iBAAmB,EAMxB3iB,KAAK4iB,mBAAqB,KAM1B5iB,KAAKwR,OAAQ,EAMbxR,KAAK6iB,YAML7iB,KAAKkI,cAMLlI,KAAK8iB,WAML9iB,KAAK+iB,WAML/iB,KAAKihB,cAAgB,MAOzBziB,EAAKoZ,iBAAiBtV,UAAU4W,WAAa,SAAUvb,GAInD,GAFAqC,KAAK4R,aAAejU,EAAGkU,aAAalU,EAAGmU,yBACvC9R,KAAKrC,GAAKA,EACNa,EAAK6H,0BACT,CAEI,IAAK,IADD0L,EAAa,6GACRnJ,EAAQ,EAAGA,EAAQ5I,KAAK4R,eAAgBhJ,EAE7CmJ,GAAc,0BACVnJ,EAAQ,+CACRA,EAAQ,wCAEhB5I,KAAKihB,cAAgB,IAAIzf,OAAOwhB,OAC5BhjB,KAAK+C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,mCAAqCvG,KAAK4R,aAAe,KACzD,oBACAG,EACA,wEACA,WAKR/R,KAAKihB,cAAgB,IAAIzf,OAAOwhB,OAC5BhjB,KAAK+C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,iEACA,MAKZvG,KAAKijB,aAAetlB,EAAGulB,eACvBljB,KAAK0gB,YAAc/iB,EAAGulB,eAKtBvlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,aAExDzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAG0lB,cAEjDrjB,KAAK6N,iBAAmB,MAExB,IAAIZ,EAAS,IAAIzO,EAAK2S,WAAWxT,GAEjCsP,EAAOwD,YAAczQ,KAAKihB,cAAcxQ,YACxCxD,EAAOgG,YACPhG,EAAOyE,OAEP1R,KAAKihB,cAAc6B,QAAQnlB,EAAGuW,IAAMjH,GAOxCzO,EAAKoZ,iBAAiBtV,UAAU8Y,MAAQ,SAAUxV,GAE9C5F,KAAK4F,cAAgBA,EACrB5F,KAAKiN,OAASjN,KAAK4F,cAAc8R,cAAcuJ,cAE/CjhB,KAAKsM,SAMT9N,EAAKoZ,iBAAiBtV,UAAU+Y,IAAM,WAElCrb,KAAKgM,SAQTxN,EAAKoZ,iBAAiBtV,UAAU6C,OAAS,SAAUme,EAAQ5V,GAEvD,IAAI3P,EAAUulB,EAAOvlB,QACjBqI,EAAcrI,EAAQqI,YACtBzI,EAAKqC,KAAKrC,GACVa,EAAK+X,cAAcqH,aAAaxX,EAAYE,eAAiBF,IAE7DpG,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW2G,EAAYE,cAC3C3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcqH,aAAaxX,EAAYE,cAAgBF,GAIhE,IAAI3C,EAAK6f,EAAO/hB,eAEZmM,IAEAjK,EAAKiK,GAIL1N,KAAK2iB,kBAAoB3iB,KAAK8hB,OAE9B9hB,KAAKgM,QACLhM,KAAK4iB,mBAAqB7kB,EAAQqI,aAItC,IAAImd,EAAMxlB,EAAQylB,KAGlB,GAAKD,EAAL,CAKA,IAGIrY,EAAIC,EAAIC,EAAIC,EAHZoY,EAAKH,EAAO3c,OAAO5C,EACnB2f,EAAKJ,EAAO3c,OAAO3C,EAIvB,GAAIjG,EAAQqQ,KACZ,CAEI,IAAIA,EAAOrQ,EAAQqQ,KAGnBlD,GADAC,EAAKiD,EAAKrK,EAAI0f,EAAKrV,EAAKxQ,OACdG,EAAQ6P,KAAKhQ,MAGvBwN,GADAC,EAAK+C,EAAKpK,EAAI0f,EAAKtV,EAAKvQ,QACdE,EAAQ6P,KAAK/P,YAIvBqN,EAAMnN,EAAQsP,MAAW,OAAK,EAAIoW,GAClCtY,EAAMpN,EAAQsP,MAAW,OAAKoW,EAE9BrY,EAAKrN,EAAQsP,MAAMxP,QAAU,EAAI6lB,GACjCrY,EAAKtN,EAAQsP,MAAMxP,QAAU6lB,EAGjC,IAAIhhB,EAAI1C,KAAK2iB,iBAAmB3iB,KAAK+hB,WACjCnd,EAAa7G,EAAQqI,YAAYxB,WACjC0B,EAAevI,EAAQqI,YAAYE,aAEnCpD,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAERkL,EAAK1Q,EAAQ6P,KAAK/P,OAEtB,GAAIE,EAAQ2Q,QACZ,CACI,IAAIiV,EAAKlgB,EAAGP,EACR0gB,EAAKngB,EAAGN,EACR0gB,EAAKpgB,EAAGL,EACR0gB,EAAKrgB,EAAGJ,EACR0gB,EAAM5Y,EACN6Y,EAAM9Y,EAGV5H,EAAKG,EAAGL,EAAIqL,EAAKnL,EACjBC,EAAKE,EAAGJ,EAAIoL,EAAKlL,EAMjBL,EAAS,sBAALygB,EAA8BE,EAClC1gB,EAAS,sBAALygB,EAA8BE,EAClC1gB,EAAIugB,EAAU,sBAALE,EACTxgB,EAAIugB,EAAU,sBAALE,EAGT/lB,EAAQkmB,qBAGR/Y,EAAKE,EACLD,EAAKE,EACLD,EAAK4Y,EACL3Y,EAAK0Y,EAGT,IAAIzB,EAAStiB,KAAKsiB,OACdF,EAAYpiB,KAAKoiB,UACjBrV,EAAOuW,EAAOvW,KACdsJ,GAAStJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBuW,EAAOhiB,YAAoB,IAE7FtB,KAAK4F,cAAcgJ,aAEnBwT,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAIW,GACrB9B,EAAU1f,KAAO6gB,EAAIY,GACrB7B,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAIjY,GACrB8W,EAAU1f,KAAO6gB,EAAIhY,GACrB+W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAI/X,GACrB4W,EAAU1f,KAAO6gB,EAAI9X,GACrB6W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EAAK,EACxC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAAK,EACxC6e,EAAU1f,KAAO6gB,EAAI7X,GACrB0W,EAAU1f,KAAO6gB,EAAI5X,GACrB2W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,IAIjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACnC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EACnC6e,EAAU1f,KAAO6gB,EAAIW,GACrB9B,EAAU1f,KAAO6gB,EAAIY,GACrB7B,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACnC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EACnC6e,EAAU1f,KAAO6gB,EAAIjY,GACrB8W,EAAU1f,KAAO6gB,EAAIhY,GACrB+W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EACnC6e,EAAU1f,KAAO6gB,EAAI/X,GACrB4W,EAAU1f,KAAO6gB,EAAI9X,GACrB6W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,EAEjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EACnC6e,EAAU1f,KAAO6gB,EAAI7X,GACrB0W,EAAU1f,KAAO6gB,EAAI5X,GACrB2W,EAAO5f,KAAO2T,EACd+L,EAAU1f,KAAO4D,GAIrBtG,KAAK+iB,QAAQ/iB,KAAK2iB,oBAAsBW,IAS5C9kB,EAAKoZ,iBAAiBtV,UAAU8hB,mBAAqB,SAAUd,GAE3D,IAAIvlB,EAAUulB,EAAOe,cACjBje,EAAcrI,EAAQqI,YACtBzI,EAAKqC,KAAKrC,GACV2I,EAAegd,EAAOvlB,QAAQqI,YAAYE,aAC1C9H,EAAK+X,cAAcqH,aAAatX,IAAiBF,IAEjDpG,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcqH,aAAatX,GAAgBF,GAIhDpG,KAAK2iB,kBAAoB3iB,KAAK8hB,OAE9B9hB,KAAKgM,QACLhM,KAAK4iB,mBAAqB7kB,EAAQqI,aAIjCkd,EAAOE,OAERF,EAAOE,KAAO,IAAIhlB,EAAK8lB,YAG3B,IAAIf,EAAMD,EAAOE,KAEbnO,EAAItX,EAAQqI,YAAYxI,MACxB2mB,EAAIxmB,EAAQqI,YAAYvI,OAY5BylB,EAAOkB,aAAazgB,GAAKsR,EAAIiO,EAAOmB,gBAAgB1gB,EACpDuf,EAAOkB,aAAaxgB,GAAKugB,EAAIjB,EAAOmB,gBAAgBzgB,EAEpD,IAAI0gB,EAAUpB,EAAOkB,aAAazgB,GAAKsR,EAAIiO,EAAOmB,gBAAgB1gB,GAC9D4gB,EAAUrB,EAAOkB,aAAaxgB,GAAKugB,EAAIjB,EAAOmB,gBAAgBzgB,GAE9D4gB,EAAUtB,EAAO1lB,MAAQyX,GAAMiO,EAAOuB,UAAU9gB,EAAIuf,EAAOmB,gBAAgB1gB,GAC3E+gB,EAAUxB,EAAOzlB,OAAS0mB,GAAMjB,EAAOuB,UAAU7gB,EAAIsf,EAAOmB,gBAAgBzgB,GAEhFuf,EAAIW,GAAK,EAAIQ,EACbnB,EAAIY,GAAK,EAAIQ,EAEbpB,EAAIjY,GAAM,EAAIsZ,EAAUF,EACxBnB,EAAIhY,GAAK,EAAIoZ,EAEbpB,EAAI/X,GAAM,EAAIoZ,EAAUF,EACxBnB,EAAI9X,GAAM,EAAIqZ,EAAUH,EAExBpB,EAAI7X,GAAK,EAAIgZ,EACbnB,EAAI5X,GAAM,EAAImZ,EAAUH,EAGxB,IAAI5X,EAAOuW,EAAOvW,KACdsJ,GAAStJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApBuW,EAAOhiB,YAAoB,IAE7F8gB,EAAYpiB,KAAKoiB,UACjBE,EAAStiB,KAAKsiB,OAEd1kB,EAAQ0lB,EAAO1lB,MACfC,EAASylB,EAAOzlB,OAGhB4lB,EAAKH,EAAO3c,OAAO5C,EACnB2f,EAAKJ,EAAO3c,OAAO3C,EACnBkH,EAAKtN,GAAS,EAAI6lB,GAClBtY,EAAKvN,GAAS6lB,EAEdrY,EAAKvN,GAAU,EAAI6lB,GACnBrY,EAAKxN,GAAU6lB,EAEfhhB,EAAI1C,KAAK2iB,iBAAmB3iB,KAAK+hB,WAEjCnd,EAAa7G,EAAQqI,YAAYxB,WAEjCnB,EAAK6f,EAAO/hB,eAEZ2B,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAGZ6e,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACnC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAGnC6e,EAAU1f,KAAO6gB,EAAIW,GACrB9B,EAAU1f,KAAO6gB,EAAIY,GAGrB7B,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjB8b,EAAU1f,KAAQQ,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACpC8e,EAAU1f,KAAOW,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAGnC6e,EAAU1f,KAAO6gB,EAAIjY,GACrB8W,EAAU1f,KAAO6gB,EAAIhY,GAGrB+W,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjB8b,EAAU1f,KAAOQ,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAGnC6e,EAAU1f,KAAO6gB,EAAI/X,GACrB4W,EAAU1f,KAAO6gB,EAAI9X,GAGrB6W,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjB8b,EAAU1f,KAAOQ,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACnC8e,EAAU1f,KAAOW,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAGnC6e,EAAU1f,KAAO6gB,EAAI7X,GACrB0W,EAAU1f,KAAO6gB,EAAI5X,GAGrB2W,EAAO5f,KAAO2T,EAGd+L,EAAU1f,KAAO4D,EAGjBtG,KAAK+iB,QAAQ/iB,KAAK2iB,oBAAsBW,GAQ5C9kB,EAAKoZ,iBAAiBtV,UAAU0J,MAAQ,WAGpC,GAA8B,IAA1BhM,KAAK2iB,iBAAT,CAKA,IACI1V,EADAtP,EAAKqC,KAAKrC,GAGd,GAAIqC,KAAKwR,MACT,CACIxR,KAAKwR,OAAQ,EAEbvE,EAASjN,KAAKihB,cAAc6B,QAAQnlB,EAAGuW,IAGvCvW,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAG5C,IAAIqE,EAAS/kB,KAAK+hB,WAClBpkB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAOuE,EAAQ,GAC3EpnB,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAOuE,EAAQ,GAGzEpnB,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAGoB,eAAe,EAAMgmB,EAAQ,IAGjFpnB,EAAG4iB,oBAAoBtT,EAAO0F,cAAe,EAAGhV,EAAG6iB,OAAO,EAAOuE,EAAQ,IAI7E,GAAI/kB,KAAK2iB,iBAAgC,GAAZ3iB,KAAK8hB,KAE9BnkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAKkiB,cAG9C,CACIvkB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpC,IAAIhM,EAAOjX,KAAKoiB,UAAU6C,SAAS,EAAGjlB,KAAK2iB,iBAAmB3iB,KAAK+hB,YACnEpkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGrJ,GAezC,IAAK,IAZDiO,EAAaC,EAAeC,EAU5B9B,EATA+B,EAAY,EACZ/Y,EAAQ,EAERsW,EAAqB,KACrB/U,EAAmB7N,KAAK4F,cAAcqS,iBAAiBpK,iBACvD+T,EAAgB,KAEhB0D,GAAY,EACZC,GAAa,EAGR7iB,EAAI,EAAGmF,EAAI7H,KAAK2iB,iBAAkBjgB,EAAImF,EAAGnF,IAClD,CAKQwiB,GAJJ5B,EAAStjB,KAAK+iB,QAAQrgB,IAEX2hB,cAEOf,EAAOe,cAAcje,YAIrBkd,EAAOvlB,QAAQqI,YAMjCkf,EAAYzX,KAHZsX,EAAgB7B,EAAOrb,WAIvBsd,EAAa3D,KAHbwD,EAAa9B,EAAOrW,QAAUjN,KAAKihB,eAKnC,IAAIuE,EAAON,EAAY1X,WAQvB,GANIgY,GAAQlC,EAAO7gB,SAASE,OAAS,IAEjC6iB,GAAO,IAKPF,GACAC,KAEAvlB,KAAKylB,YAAY7C,EAAoByC,EAAW/Y,GAEhDA,EAAQ5J,EACR2iB,EAAY,EACZzC,EAAqBsC,EAEjBI,IAEAzX,EAAmBsX,EACnBnlB,KAAK4F,cAAcqS,iBAAiBkD,aAAatN,IAGjD0X,GACJ,EAGItY,GAFA2U,EAAgBwD,GAEOtC,QAAQnlB,EAAGuW,QAI9BjH,EAAS,IAAIzO,EAAK2S,WAAWxT,IAEtB8S,YAAcmR,EAAcnR,YACnCxD,EAAOgG,SAAW2O,EAAc3O,SAChChG,EAAOyE,OAEPkQ,EAAckB,QAAQnlB,EAAGuW,IAAMjH,GAInCjN,KAAK4F,cAAc8R,cAAcoI,UAAU7S,GAEvCA,EAAOuE,OAEPvE,EAAOiI,eAOX,IAAIsC,EAAaxX,KAAK4F,cAAc4R,WACpC7Z,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,EAAGyT,EAAWxT,GAG/D,IAAIqO,EAAerS,KAAK4F,cAAc6R,OACtC9Z,EAAGsiB,UAAUhT,EAAOoF,aAAcA,EAAatO,EAAGsO,EAAarO,GAMvEqhB,IAGJrlB,KAAKylB,YAAY7C,EAAoByC,EAAW/Y,GAGhDtM,KAAK2iB,iBAAmB,IAS5BnkB,EAAKoZ,iBAAiBtV,UAAUmjB,YAAc,SAAU1nB,EAAS+jB,EAAM4D,GAEnE,GAAa,IAAT5D,EAAJ,CAKA,IAAInkB,EAAKqC,KAAKrC,GAGd,GAAII,EAAQuX,OAAO3X,EAAGuW,KAElB,IAAKlU,KAAK4F,cAAcf,SAAS2Q,cAAczX,GAG3C,YAKJJ,EAAGM,YAAYN,EAAGO,WAAYH,EAAQkW,YAAYtW,EAAGuW,KAGzDvW,EAAG0hB,aAAa1hB,EAAGgoB,UAAkB,EAAP7D,EAAUnkB,EAAG4hB,eAA6B,EAAbmG,EAAiB,GAG5E1lB,KAAK4F,cAAcwS,cAMvB5Z,EAAKoZ,iBAAiBtV,UAAU6J,KAAO,WAEnCnM,KAAKgM,QACLhM,KAAKwR,OAAQ,GAMjBhT,EAAKoZ,iBAAiBtV,UAAUgK,MAAQ,WAEpCtM,KAAKwR,OAAQ,GAQjBhT,EAAKoZ,iBAAiBtV,UAAUE,QAAU,WAEtCxC,KAAKkiB,SAAW,KAChBliB,KAAK4S,QAAU,KAEf5S,KAAKrC,GAAGioB,aAAa5lB,KAAKijB,cAC1BjjB,KAAKrC,GAAGioB,aAAa5lB,KAAK0gB,aAE1B1gB,KAAK4iB,mBAAqB,KAE1B5iB,KAAKrC,GAAK,MAiBda,EAAKqnB,qBAAuB,SAAUloB,GAMlCqC,KAAK6hB,SAAW,GAMhB7hB,KAAK8lB,QAAU,IAMf9lB,KAAK8hB,KAAO9hB,KAAK8lB,QAGjB,IAAI9D,EAAuB,EAAZhiB,KAAK8hB,KAAW9hB,KAAK6hB,SAGhCI,EAA4B,EAAfjiB,KAAK8lB,QAOtB9lB,KAAKkiB,SAAW,IAAIG,aAAaL,GAOjChiB,KAAK4S,QAAU,IAAI4P,YAAYP,GAM/BjiB,KAAKijB,aAAe,KAMpBjjB,KAAK0gB,YAAc,KAMnB1gB,KAAKyiB,eAAiB,EAEtB,IAAK,IAAI/f,EAAI,EAAGmF,EAAI,EAAGnF,EAAIuf,EAAYvf,GAAK,EAAGmF,GAAK,EAEhD7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAC1B7H,KAAK4S,QAAQlQ,EAAI,GAAKmF,EAAI,EAO9B7H,KAAK0iB,SAAU,EAMf1iB,KAAK2iB,iBAAmB,EAMxB3iB,KAAK4iB,mBAAqB,KAM1B5iB,KAAK6N,iBAAmB,EAMxB7N,KAAK4F,cAAgB,KAMrB5F,KAAKiN,OAAS,KAMdjN,KAAK0N,OAAS,KAEd1N,KAAKkZ,WAAWvb,IAGpBa,EAAKqnB,qBAAqBvjB,UAAUC,YAAc/D,EAAKqnB,qBAQvDrnB,EAAKqnB,qBAAqBvjB,UAAU4W,WAAa,SAAUvb,GAEvDqC,KAAKrC,GAAKA,EAGVqC,KAAKijB,aAAetlB,EAAGulB,eACvBljB,KAAK0gB,YAAc/iB,EAAGulB,eAKtBvlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,aAExDzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAG0lB,eAQrD7kB,EAAKqnB,qBAAqBvjB,UAAU8Y,MAAQ,SAAUrP,EAAanG,GAE/D5F,KAAK4F,cAAgBA,EACrB5F,KAAKiN,OAASjN,KAAK4F,cAAc8R,cAAcwJ,WAE/ClhB,KAAK0N,OAAS3B,EAAYxK,eAAeye,SAAQ,GAEjDhgB,KAAKsM,SAMT9N,EAAKqnB,qBAAqBvjB,UAAU+Y,IAAM,WAEtCrb,KAAKgM,SAOTxN,EAAKqnB,qBAAqBvjB,UAAU6C,OAAS,SAAU4G,GAEnD,IAAItJ,EAAWsJ,EAAYtJ,SACvB6gB,EAAS7gB,EAAS,GAKtB,GAAI6gB,EAAOvlB,QAAQylB,KAAnB,CAEAxjB,KAAK4iB,mBAAqBU,EAAOvlB,QAAQqI,YAGtCkd,EAAOrb,YAAcjI,KAAK4F,cAAcqS,iBAAiBpK,mBAExD7N,KAAKgM,QACLhM,KAAK4F,cAAcqS,iBAAiBkD,aAAamI,EAAOrb,YAG5D,IAAI3B,EAAetG,KAAK4iB,mBAAmBtc,aACvC3I,EAAKqC,KAAKrC,GAEdA,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAY8B,KAAK4iB,mBAAmB3O,YAAYtW,EAAGuW,KACrE1V,EAAK+X,cAAcqH,aAAatX,GAAgBtG,KAAK4iB,mBAErD,IAAI,IAAIlgB,EAAI,EAAEmF,EAAIpF,EAASE,OAAQD,EAAImF,EAAGnF,IAEtC1C,KAAK+lB,aAAatjB,EAASC,IAG/B1C,KAAKgM,UAOTxN,EAAKqnB,qBAAqBvjB,UAAUyjB,aAAe,SAAUzC,GAEzD,IACIld,EADUkd,EAAOvlB,QACKqI,YACtBzI,EAAKqC,KAAKrC,GACV2I,EAAegd,EAAOvlB,QAAQqI,YAAYE,aAE9C,IAAI9H,EAAK+X,cAAcqH,aAAatX,IAAiBF,IACjDA,EAAY6N,YAAYtW,EAAGuW,KAAQoP,EAAOvlB,QAAQqI,YAAYoH,aAE9DxN,KAAKgM,QACLrO,EAAG6B,cAAc7B,EAAG8B,SAAW6G,GAC/B3I,EAAGM,YAAYN,EAAGO,WAAYkI,EAAY6N,YAAYtW,EAAGuW,KACzD1V,EAAK+X,cAAcqH,aAAatX,GAAgBF,EAC5Ckd,EAAOvlB,QAAQylB,QAInBF,EAAOpiB,QAAX,CAEA,IAAIqiB,EAEA3lB,EAAOC,EAAQqN,EAAIC,EAAIC,EAAIC,EAAIzC,EAD/BsZ,EAAWliB,KAAKkiB,SAQpB,GALAqB,EAAMD,EAAOvlB,QAAQylB,KAErB5lB,EAAQ0lB,EAAOvlB,QAAQsP,MAAMzP,MAC7BC,EAASylB,EAAOvlB,QAAQsP,MAAMxP,OAE1BylB,EAAOvlB,QAAQqQ,KACnB,CAEI,IAAIA,EAAOkV,EAAOvlB,QAAQqQ,KAG1BlD,GADAC,EAAKiD,EAAKrK,EAAIuf,EAAO3c,OAAO5C,EAAIqK,EAAKxQ,OAC3B0lB,EAAOvlB,QAAQ6P,KAAKhQ,MAG9BwN,GADAC,EAAK+C,EAAKpK,EAAIsf,EAAO3c,OAAO3C,EAAIoK,EAAKvQ,QAC3BylB,EAAOvlB,QAAQ6P,KAAK/P,YAI9BqN,EAAKtN,GAAS,EAAI0lB,EAAO3c,OAAO5C,GAChCoH,EAAKvN,GAAS0lB,EAAO3c,OAAO5C,EAE5BqH,EAAKvN,GAAU,EAAIylB,EAAO3c,OAAO3C,GACjCqH,EAAKxN,GAAUylB,EAAO3c,OAAO3C,EAGjC4E,EAAgC,EAAxB5I,KAAK2iB,iBAAuB3iB,KAAK6hB,SAGzCK,EAAStZ,KAAWuC,EACpB+W,EAAStZ,KAAWyC,EAEpB6W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAIW,GACxBhC,EAAStZ,KAAW2a,EAAIhY,GAGxB2W,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,EAIpB4b,EAAStZ,KAAWsC,EACpBgX,EAAStZ,KAAWyC,EAEpB6W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAIjY,GACxB4W,EAAStZ,KAAW2a,EAAIhY,GAGxB2W,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,EAGpB4b,EAAStZ,KAAWsC,EACpBgX,EAAStZ,KAAWwC,EAEpB8W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAI/X,GACxB0W,EAAStZ,KAAW2a,EAAI9X,GAGxByW,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,EAIpB4b,EAAStZ,KAAWuC,EACpB+W,EAAStZ,KAAWwC,EAEpB8W,EAAStZ,KAAW0a,EAAO1iB,SAASmD,EACpCme,EAAStZ,KAAW0a,EAAO1iB,SAASoD,EAGpCke,EAAStZ,KAAW0a,EAAOxiB,MAAMiD,EACjCme,EAAStZ,KAAW0a,EAAOxiB,MAAMkD,EAGjCke,EAAStZ,KAAW0a,EAAOtiB,SAG3BkhB,EAAStZ,KAAW2a,EAAI7X,GACxBwW,EAAStZ,KAAW2a,EAAI5X,GAGxBuW,EAAStZ,KAAW0a,EAAOriB,MAG3BihB,EAAStZ,KAAWtC,IAGpBtG,KAAK2iB,kBAEuB3iB,KAAK8hB,MAE7B9hB,KAAKgM,UAObxN,EAAKqnB,qBAAqBvjB,UAAU0J,MAAQ,WAGxC,GAA8B,IAA1BhM,KAAK2iB,iBAAT,CAEA,IAAIhlB,EAAKqC,KAAKrC,GAId,GAAIqC,KAAK4iB,mBAAmB3O,YAAYtW,EAAGuW,IAA3C,CAUA,GAAGlU,KAAK2iB,iBAAgC,GAAZ3iB,KAAK8hB,KAE7BnkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAKkiB,cAG9C,CACI,IAAIjL,EAAOjX,KAAKkiB,SAAS+C,SAAS,EAA2B,EAAxBjlB,KAAK2iB,iBAAuB3iB,KAAK6hB,UAEtElkB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGrJ,GAIzCtZ,EAAG0hB,aAAa1hB,EAAGgoB,UAAmC,EAAxB3lB,KAAK2iB,iBAAsBhlB,EAAG4hB,eAAgB,GAG5Evf,KAAK2iB,iBAAmB,EAGxB3iB,KAAK4F,cAAcwS,iBA1BfpY,KAAK4F,cAAcf,SAAS2Q,cAAcxV,KAAK4iB,mBAAoBjlB,KAiC3Ea,EAAKqnB,qBAAqBvjB,UAAU6J,KAAO,WAEvCnM,KAAKgM,SAMTxN,EAAKqnB,qBAAqBvjB,UAAUgK,MAAQ,WAExC,IAAI3O,EAAKqC,KAAKrC,GAGdA,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAG5C,IAAIlJ,EAAaxX,KAAK4F,cAAc4R,WACpC7Z,EAAGsiB,UAAUjgB,KAAKiN,OAAOmF,iBAAkBoF,EAAWzT,EAAGyT,EAAWxT,GAGpErG,EAAGoW,iBAAiB/T,KAAKiN,OAAO0I,SAAS,EAAO3V,KAAK0N,QAGrD,IAAIqX,EAAyB,EAAhB/kB,KAAK6hB,SAElBlkB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAOuE,EAAQ,GAChFpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO2I,eAAgB,EAAGjY,EAAG6iB,OAAO,EAAOuE,EAAQ,GAC/EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO4I,OAAQ,EAAGlY,EAAG6iB,OAAO,EAAOuE,EAAQ,IACvEpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO6I,UAAW,EAAGnY,EAAG6iB,OAAO,EAAOuE,EAAQ,IAC1EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAOuE,EAAQ,IAC9EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAOuE,EAAQ,IAC/EpnB,EAAG4iB,oBAAoBvgB,KAAKiN,OAAO0F,cAAe,EAAGhV,EAAG6iB,OAAO,EAAOuE,EAAQ,KAWlFvmB,EAAKsZ,mBAAqB,WAMtB9X,KAAKgmB,eAMLhmB,KAAK0kB,QAAU,EAMf1kB,KAAK2kB,QAAU,GAGnBnmB,EAAKsZ,mBAAmBxV,UAAUC,YAAc/D,EAAKsZ,mBAQrDtZ,EAAKsZ,mBAAmBxV,UAAU4W,WAAa,SAAUvb,GAErDqC,KAAKrC,GAAKA,EACVqC,KAAKimB,eAELjmB,KAAKkmB,qBAQT1nB,EAAKsZ,mBAAmBxV,UAAU8Y,MAAQ,SAAUxV,EAAesV,GAE/Dlb,KAAK4F,cAAgBA,EACrB5F,KAAKihB,cAAgBrb,EAAc8R,cAAcuJ,cAEjD,IAAIzJ,EAAaxX,KAAK4F,cAAc4R,WACpCxX,KAAKpC,MAAuB,EAAf4Z,EAAWzT,EACxB/D,KAAKnC,OAAyB,GAAf2Z,EAAWxT,EAC1BhE,KAAKkb,OAASA,GASlB1c,EAAKsZ,mBAAmBxV,UAAU4J,WAAa,SAAUia,GAErD,IAAIxoB,EAAKqC,KAAKrC,GAEV6Z,EAAaxX,KAAK4F,cAAc4R,WAChCC,EAASzX,KAAK4F,cAAc6R,OAEhC0O,EAAYC,YAAcD,EAAYne,OAAOnG,YAAcskB,EAAYne,OAAOkC,YAG9Eic,EAAYE,sBAAwBrmB,KAAK4F,cAAcmS,eACvD/X,KAAK4F,cAAcmS,eAAiB,IAAIvZ,EAAKwZ,oBAC7ChY,KAAK4F,cAAcmS,eAAemB,WAAWvb,GAC7CA,EAAGkb,QAAQlb,EAAGghB,cAQd3e,KAAKgmB,YAAYle,KAAKqe,GAEtB,IAAIG,EAASH,EAAYve,aAAa,GAEtC5H,KAAK0kB,SAAWyB,EAAYC,YAAYriB,EACxC/D,KAAK2kB,SAAWwB,EAAYC,YAAYpiB,EAExC,IAAIjG,EAAUiC,KAAKimB,YAAYrF,MAC3B7iB,EAMAA,EAAQoI,OAAOnG,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAJ5F7G,EAAU,IAAIS,EAAK+nB,cAAcvmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAO3HjH,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAEtC,IAAI8D,EAAaskB,EAAYC,YAEzBI,EAAUF,EAAOE,QACrB3kB,EAAWkC,GAAKyiB,EAChB3kB,EAAWmC,GAAKwiB,EAChB3kB,EAAWjE,OAAmB,EAAV4oB,EACpB3kB,EAAWhE,QAAoB,EAAV2oB,EAGlB3kB,EAAWkC,EAAI,IAAKlC,EAAWkC,EAAI,GACnClC,EAAWjE,MAAQoC,KAAKpC,QAASiE,EAAWjE,MAAQoC,KAAKpC,OACzDiE,EAAWmC,EAAI,IAAKnC,EAAWmC,EAAI,GACnCnC,EAAWhE,OAASmC,KAAKnC,SAAUgE,EAAWhE,OAASmC,KAAKnC,QAG/DF,EAAG+B,gBAAgB/B,EAAGgC,YAAa5B,EAAQ0oB,aAG3C9oB,EAAG6c,SAAS,EAAG,EAAG3Y,EAAWjE,MAAQoC,KAAK4F,cAAchB,WAAY/C,EAAWhE,OAASmC,KAAK4F,cAAchB,YAE3G4S,EAAWzT,EAAIlC,EAAWjE,MAAQ,EAClC4Z,EAAWxT,GAAKnC,EAAWhE,OAAS,EAEpC4Z,EAAO1T,GAAKlC,EAAWkC,EACvB0T,EAAOzT,GAAKnC,EAAWmC,EAUvBrG,EAAGmhB,WAAU,GAAM,GAAM,GAAM,GAC/BnhB,EAAG8c,WAAW,EAAE,EAAE,EAAG,GACrB9c,EAAGid,MAAMjd,EAAGkd,kBAEZsL,EAAYO,iBAAmB3oB,GAQnCS,EAAKsZ,mBAAmBxV,UAAUkK,UAAY,WAE1C,IAAI7O,EAAKqC,KAAKrC,GACVwoB,EAAcnmB,KAAKgmB,YAAYpF,MAC/B/e,EAAaskB,EAAYC,YACzBroB,EAAUooB,EAAYO,iBACtBlP,EAAaxX,KAAK4F,cAAc4R,WAChCC,EAASzX,KAAK4F,cAAc6R,OAEhC,GAAG0O,EAAYve,aAAajF,OAAS,EACrC,CACIhF,EAAG6c,SAAS,EAAG,EAAG3Y,EAAWjE,MAAQoC,KAAK4F,cAAchB,WAAY/C,EAAWhE,OAASmC,KAAK4F,cAAchB,YAE3GjH,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cAEpCjjB,KAAK2mB,YAAY,GAAK,EACtB3mB,KAAK2mB,YAAY,GAAK9kB,EAAWhE,OAEjCmC,KAAK2mB,YAAY,GAAK9kB,EAAWjE,MACjCoC,KAAK2mB,YAAY,GAAK9kB,EAAWhE,OAEjCmC,KAAK2mB,YAAY,GAAK,EACtB3mB,KAAK2mB,YAAY,GAAK,EAEtB3mB,KAAK2mB,YAAY,GAAK9kB,EAAWjE,MACjCoC,KAAK2mB,YAAY,GAAK,EAEtBhpB,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK2mB,aAE1ChpB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UAGpC5mB,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAC3CmC,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAE3CF,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK6mB,SAE1C,IAAIC,EAAe/oB,EACfgpB,EAAgB/mB,KAAKimB,YAAYrF,MACjCmG,IAAiBA,EAAgB,IAAIvoB,EAAK+nB,cAAcvmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,aAClJmiB,EAAc5gB,OAAOnG,KAAKpC,MAAQoC,KAAK4F,cAAchB,WAAY5E,KAAKnC,OAASmC,KAAK4F,cAAchB,YAGlGjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaonB,EAAcN,aACjD9oB,EAAGid,MAAMjd,EAAGkd,kBAEZld,EAAGkb,QAAQlb,EAAGsb,OAEd,IAAK,IAAIvW,EAAI,EAAGA,EAAIyjB,EAAYve,aAAajF,OAAS,EAAGD,IACzD,CACI,IAAIskB,EAAab,EAAYve,aAAalF,GAE1C/E,EAAG+B,gBAAgB/B,EAAGgC,YAAaonB,EAAcN,aAGjD9oB,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAY4oB,EAAa/oB,SAM3CiC,KAAKinB,gBAAgBD,EAAYnlB,EAAYA,EAAWjE,MAAOiE,EAAWhE,QAG1E,IAAI8P,EAAOmZ,EACXA,EAAeC,EACfA,EAAgBpZ,EAGpBhQ,EAAGqb,OAAOrb,EAAGsb,OAEblb,EAAU+oB,EACV9mB,KAAKimB,YAAYne,KAAKif,GAG1B,IAAIT,EAASH,EAAYve,aAAaue,EAAYve,aAAajF,OAAS,GAExE3C,KAAK0kB,SAAW7iB,EAAWkC,EAC3B/D,KAAK2kB,SAAW9iB,EAAWmC,EAE3B,IAAIkjB,EAAQlnB,KAAKpC,MACbupB,EAAQnnB,KAAKnC,OAEb6mB,EAAU,EACVC,EAAU,EAEVzJ,EAASlb,KAAKkb,OAGlB,GAA+B,IAA5Blb,KAAKgmB,YAAYrjB,OAEhBhF,EAAGmhB,WAAU,GAAM,GAAM,GAAM,OAGnC,CACI,IAAIsI,EAAgBpnB,KAAKgmB,YAAYhmB,KAAKgmB,YAAYrjB,OAAS,GAG/DukB,GAFArlB,EAAaulB,EAAchB,aAERxoB,MACnBupB,EAAQtlB,EAAWhE,OAEnB6mB,EAAU7iB,EAAWkC,EACrB4gB,EAAU9iB,EAAWmC,EAErBkX,EAASkM,EAAcV,iBAAiBD,YAI5CjP,EAAWzT,EAAImjB,EAAQ,EACvB1P,EAAWxT,GAAKmjB,EAAQ,EAExB1P,EAAO1T,EAAI2gB,EACXjN,EAAOzT,EAAI2gB,EAIX,IAAI5gB,GAFJlC,EAAaskB,EAAYC,aAENriB,EAAI2gB,EACnB1gB,EAAInC,EAAWmC,EAAI2gB,EAMvBhnB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cAEpCjjB,KAAK2mB,YAAY,GAAK5iB,EACtB/D,KAAK2mB,YAAY,GAAK3iB,EAAInC,EAAWhE,OAErCmC,KAAK2mB,YAAY,GAAK5iB,EAAIlC,EAAWjE,MACrCoC,KAAK2mB,YAAY,GAAK3iB,EAAInC,EAAWhE,OAErCmC,KAAK2mB,YAAY,GAAK5iB,EACtB/D,KAAK2mB,YAAY,GAAK3iB,EAEtBhE,KAAK2mB,YAAY,GAAK5iB,EAAIlC,EAAWjE,MACrCoC,KAAK2mB,YAAY,GAAK3iB,EAEtBrG,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK2mB,aAE1ChpB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UAEpC5mB,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAC3CmC,KAAK6mB,QAAQ,GAAKhlB,EAAWjE,MAAQoC,KAAKpC,MAC1CoC,KAAK6mB,QAAQ,GAAKhlB,EAAWhE,OAASmC,KAAKnC,OAE3CF,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAK6mB,SAE1ClpB,EAAG6c,SAAS,EAAG,EAAG0M,EAAQlnB,KAAK4F,cAAchB,WAAYuiB,EAAQnnB,KAAK4F,cAAchB,YAGpFjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaub,GAQnCvd,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAGlCiC,KAAK4F,cAAcmS,gBAEnB/X,KAAK4F,cAAcmS,eAAevV,UAEtCxC,KAAK4F,cAAcmS,eAAiBoO,EAAYE,sBAChDF,EAAYE,sBAAwB,KAChCrmB,KAAK4F,cAAcmS,eAAewG,MAAQ,EAE1C5gB,EAAGqb,OAAOrb,EAAGghB,cAIbhhB,EAAGkb,QAAQlb,EAAGghB,cAMlB3e,KAAKinB,gBAAgBX,EAAQzkB,EAAYqlB,EAAOC,GAUhDnnB,KAAKimB,YAAYne,KAAK/J,GACtBooB,EAAYO,iBAAmB,MAanCloB,EAAKsZ,mBAAmBxV,UAAU2kB,gBAAkB,SAAUX,EAAQzkB,EAAYjE,EAAOC,GAGrF,IAAIF,EAAKqC,KAAKrC,GACVsP,EAASqZ,EAAOxD,QAAQnlB,EAAGuW,IAE3BjH,KAEAA,EAAS,IAAIzO,EAAK2S,WAAWxT,IAEtB8S,YAAc6V,EAAO7V,YAC5BxD,EAAOgG,SAAWqT,EAAOrT,SACzBhG,EAAOyE,MAAK,GAEZ4U,EAAOxD,QAAQnlB,EAAGuW,IAAMjH,GAI5BjN,KAAK4F,cAAc8R,cAAcoI,UAAU7S,GAI3CtP,EAAGsiB,UAAUhT,EAAOmF,iBAAkBxU,EAAQ,GAAIC,EAAS,GAC3DF,EAAGsiB,UAAUhT,EAAOoF,aAAc,EAAE,GAEjCiU,EAAOrT,SAASX,aAEfgU,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAKpC,MAC3C0oB,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAKnC,OAC3CyoB,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAK2mB,YAAY,GACvDL,EAAOrT,SAASX,WAAWlL,MAAM,GAAKpH,KAAK2mB,YAAY,IAG3D1Z,EAAOiI,eAEPvX,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAG,GAEtE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UACpCjpB,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAO,EAAG,GAEpE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKV,aACpC3B,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAO,EAAG,GAErE7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAG5C/iB,EAAG0hB,aAAa1hB,EAAGgoB,UAAW,EAAGhoB,EAAG4hB,eAAgB,GAEpDvf,KAAK4F,cAAcwS,aAQvB5Z,EAAKsZ,mBAAmBxV,UAAU4jB,kBAAoB,WAElD,IAAIvoB,EAAKqC,KAAKrC,GAGdqC,KAAKijB,aAAetlB,EAAGulB,eACvBljB,KAAK4mB,SAAWjpB,EAAGulB,eACnBljB,KAAKV,YAAc3B,EAAGulB,eACtBljB,KAAK0gB,YAAc/iB,EAAGulB,eAMtBljB,KAAK2mB,YAAc,IAAItE,cAAe,EAAK,EACvC,EAAK,EACL,EAAK,EACL,EAAK,IAET1kB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKijB,cACpCtlB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAK2mB,YAAahpB,EAAGylB,aAGpDpjB,KAAK6mB,QAAU,IAAIxE,cAAe,EAAK,EACnC,EAAK,EACL,EAAK,EACL,EAAK,IAET1kB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK4mB,UACpCjpB,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAK6mB,QAASlpB,EAAGylB,aAEhDpjB,KAAKqnB,WAAa,IAAIhF,cAAe,EAAK,SACtC,EAAK,SACL,EAAK,SACL,EAAK,WAET1kB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKV,aACpC3B,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKqnB,WAAY1pB,EAAGylB,aAGnDzlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsB,IAAI+B,aAAc,EAAG,EAAG,EAAG,EAAG,EAAG,IAAM7kB,EAAGylB,cAQrF5kB,EAAKsZ,mBAAmBxV,UAAUE,QAAU,WAExC,IAAI7E,EAAKqC,KAAKrC,GAEdqC,KAAKgmB,YAAc,KAEnBhmB,KAAK0kB,QAAU,EACf1kB,KAAK2kB,QAAU,EAGf,IAAK,IAAIjiB,EAAI,EAAGA,EAAI1C,KAAKimB,YAAYtjB,OAAQD,IAEzC1C,KAAKimB,YAAYvjB,GAAGF,UAGxBxC,KAAKimB,YAAc,KAGnBtoB,EAAGioB,aAAa5lB,KAAKijB,cACrBtlB,EAAGioB,aAAa5lB,KAAK4mB,UACrBjpB,EAAGioB,aAAa5lB,KAAKV,aACrB3B,EAAGioB,aAAa5lB,KAAK0gB,cAyBzB,IAAIlgB,GACA8mB,MAAO,wBACPC,MAAO,qBACPC,MAAO,wBACPC,MAAO,2BA2vCP,OAptCJjpB,EAAK+nB,cAAgB,SAAU5oB,EAAIC,EAAOC,EAAQC,EAAWmB,GAEzDA,EAAqC,iBAAhBA,EAA2BA,EAAc,EAM9De,KAAKrC,GAAKA,EAQVqC,KAAKymB,YAAcznB,EAAmBrB,EAAIC,EAAOC,EAAQC,GAAaU,EAAKC,WAAWipB,QAASzoB,GAM/Fe,KAAKjC,QAAUiC,KAAKymB,YAAYhmB,cAChCT,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKC,aAAeD,KAAKymB,YAAYxmB,cAGzCzB,EAAK+nB,cAAcjkB,UAAUC,YAAc/D,EAAK+nB,cAOhD/nB,EAAK+nB,cAAcjkB,UAAUsY,MAAQ,WAEjC,IAAIjd,EAAKqC,KAAKrC,GAEdA,EAAG8c,WAAW,EAAE,EAAE,EAAG,GACrB9c,EAAGid,MAAMjd,EAAGkd,mBAUhBrc,EAAK+nB,cAAcjkB,UAAU6D,OAAS,SAAUvI,EAAOC,GAEnD,GAAGmC,KAAKpC,QAAUA,GAASoC,KAAKnC,SAAWA,EAA3C,CAEAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEd,IAAIF,EAAKqC,KAAKrC,GACdA,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,SACnCJ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMlB,EAAQC,EAAS,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAGxFpB,EAAGiC,iBAAiBjC,EAAGkC,aAAcG,KAAKC,cAC1CtC,EAAGgqB,oBAAoBhqB,EAAGkC,aAAclC,EAAGiqB,cAAehqB,EAAQC,KAQtEW,EAAK+nB,cAAcjkB,UAAUE,QAAU,WAEnC,IAAI7E,EAAKqC,KAAKrC,GACdA,EAAGkqB,kBAAkB7nB,KAAKymB,aAC1B9oB,EAAGmqB,cAAc9nB,KAAKjC,SAEtBiC,KAAKymB,YAAc,KACnBzmB,KAAKjC,QAAU,MAenBS,EAAKupB,aAAe,SAAUnqB,EAAOC,GAQjCmC,KAAKpC,MAAQA,EAQboC,KAAKnC,OAASA,EAQdmC,KAAKkX,OAAS1V,OAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,QAQ9DmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAEtCxY,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,GAGzBW,EAAKupB,aAAazlB,UAAUC,YAAc/D,EAAKupB,aAQ/CvpB,EAAKupB,aAAazlB,UAAUsY,MAAQ,WAEhC5a,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC7O,KAAK8N,QAAQka,UAAU,EAAE,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,SAUjDW,EAAKupB,aAAazlB,UAAU6D,OAAS,SAAUvI,EAAOC,GAElDmC,KAAKpC,MAAQoC,KAAKkX,OAAOtZ,MAAQA,EACjCoC,KAAKnC,OAASmC,KAAKkX,OAAOrZ,OAASA,GAQvCW,EAAKupB,aAAazlB,UAAUE,QAAU,WAElChB,OAAOqF,WAAWsV,OAAOnc,OAa7BxB,EAAKypB,kBAAoB,aAIzBzpB,EAAKypB,kBAAkB3lB,UAAUC,YAAc/D,EAAKypB,kBASpDzpB,EAAKypB,kBAAkB3lB,UAAU+J,SAAW,SAAU0R,EAAUnY,GAE5D,IAAIkI,EAAUlI,EAAckI,QAE5BA,EAAQoa,OAER,IAAIC,EAAapK,EAAS9c,MACtBmnB,EAAYrK,EAASxc,eAErBqD,EAAagB,EAAchB,WAE/BkJ,EAAQe,aAAauZ,EAAUllB,EAAI0B,EAC/BwjB,EAAUjlB,EAAIyB,EACdwjB,EAAUhlB,EAAIwB,EACdwjB,EAAU/kB,EAAIuB,EACdwjB,EAAU9kB,GAAKsB,EACfwjB,EAAU7kB,GAAKqB,GAEnBpG,EAAK6pB,eAAeC,mBAAmBvK,EAAUjQ,GAEjDA,EAAQya,OAERxK,EAASzc,WAAa6mB,GAS1B3pB,EAAKypB,kBAAkB3lB,UAAUiK,QAAU,SAAU3G,GAEjDA,EAAckI,QAAQ0a,WAa1BhqB,EAAKuQ,aAAe,aAWpBvQ,EAAKuQ,aAAaC,iBAAmB,SAAUsU,EAAQjN,GAEnD,IAAIa,EAASoM,EAAO1c,eAAiBpF,OAAOqF,WAAW2B,OAAOxI,MAI9D,OAFAxB,EAAKuQ,aAAa0Z,WAAWnF,EAAOvlB,QAASsY,EAAOa,GAE7CA,GAYX1Y,EAAKuQ,aAAa2Z,iBAAmB,SAAU3qB,EAASsY,EAAOa,GAE3D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAO7P,EAAQ6P,KACfyH,EAAIzH,EAAKhQ,MACT2mB,EAAI3W,EAAK/P,OAETE,EAAQ2Q,UAER2G,EAAIkP,EACJA,EAAI3W,EAAKhQ,OAGTsZ,EAAOtZ,QAAUyX,GAAK6B,EAAOrZ,SAAW0mB,IAExCrN,EAAOtZ,MAAQyX,EACf6B,EAAOrZ,OAAS0mB,GAGpBzW,EAAQka,UAAU,EAAG,EAAG3S,EAAGkP,GAE3BzW,EAAQ6a,UAAY,KAAO,SAAmB,EAARtS,GAAWuS,SAAS,KAAKC,QAAQ,GACvE/a,EAAQgb,SAAS,EAAG,EAAGzT,EAAGkP,GAE1BzW,EAAQC,yBAA2B,WACnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,GAE7EzW,EAAQC,yBAA2B,mBACnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,IAYjF/lB,EAAKuQ,aAAaga,iBAAmB,SAAUhrB,EAASsY,EAAOa,GAE3D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAO7P,EAAQ6P,KACfyH,EAAIzH,EAAKhQ,MACT2mB,EAAI3W,EAAK/P,OAETE,EAAQ2Q,UAER2G,EAAIkP,EACJA,EAAI3W,EAAKhQ,OAGTsZ,EAAOtZ,QAAUyX,GAAK6B,EAAOrZ,SAAW0mB,IAExCrN,EAAOtZ,MAAQyX,EACf6B,EAAOrZ,OAAS0mB,GAGpBzW,EAAQC,yBAA2B,OAEnCD,EAAQmB,UAAUlR,EAAQqI,YAAYgJ,OAAQxB,EAAK7J,EAAG6J,EAAK5J,EAAGqR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,GAW7E,IAAK,IATDyE,EAAYxnB,OAAO2e,MAAMC,cAAc/J,GACvCnS,EAAI8kB,EAAU,GACdrO,EAAIqO,EAAU,GACd7lB,EAAI6lB,EAAU,GAEdC,EAAYnb,EAAQob,aAAa,EAAG,EAAG7T,EAAGkP,GAE1C4E,EAASF,EAAU7U,KAEd1R,EAAI,EAAGA,EAAIymB,EAAOxmB,OAAQD,GAAK,EAMpC,GAJAymB,EAAOzmB,EAAI,IAAMwB,EACjBilB,EAAOzmB,EAAI,IAAMiY,EACjBwO,EAAOzmB,EAAI,IAAMS,GAEZ3E,EAAKuQ,aAAaqa,eACvB,CACI,IAAInoB,EAAQkoB,EAAOzmB,EAAI,GAEvBymB,EAAOzmB,EAAI,IAAM,IAAMzB,EACvBkoB,EAAOzmB,EAAI,IAAM,IAAMzB,EACvBkoB,EAAOzmB,EAAI,IAAM,IAAMzB,EAI/B6M,EAAQub,aAAaJ,EAAW,EAAG,IAevCzqB,EAAK8qB,eAAiB,SAAUvmB,EAAMyT,GAyFlC,GApFAxW,KAAK+C,KAAOA,EAEPvE,EAAKiY,kBAENjY,EAAKiY,gBAAkBzW,MAS3BA,KAAKwT,KAAOhS,OAAO+nB,OAQnBvpB,KAAK4E,WAAa7B,EAAK6B,WAYvB5E,KAAK+W,kBAAoBhU,EAAKgU,kBAQ9B/W,KAAK4W,YAAc7T,EAAK6T,YAQxB5W,KAAK6W,YAAa,EASlB7W,KAAKpC,MAAQmF,EAAKnF,MAAQoC,KAAK4E,WAS/B5E,KAAKnC,OAASkF,EAAKlF,OAASmC,KAAK4E,WAQjC5E,KAAKiX,KAAOlU,EAAKmU,OAOjBlX,KAAK8N,QAAU9N,KAAKiX,KAAKuB,WAAW,MAAQvX,MAAOjB,KAAK4W,eAEnD5W,KAAK8N,QAEN,MAAM,IAAI/E,MAAM,yCASpB/I,KAAKwpB,SAAU,EAQfxpB,KAAKue,MAAQ,EAObve,KAAKoM,YAAc,IAAI5N,EAAKypB,kBAO5BjoB,KAAK4F,eACDkI,QAAS9N,KAAK8N,QACd1B,YAAapM,KAAKoM,YAClBtO,UAAW,KACXoQ,eAAgB1M,OAAOioB,OAAOC,mBAAmB1pB,KAAK8N,SAMtDc,YAAa4H,EAAO5H,cAAe,GAGvC5O,KAAKuY,gBAELvY,KAAKmG,OAAOnG,KAAKpC,MAAOoC,KAAKnC,SAIjCW,EAAK8qB,eAAehnB,UAAUC,YAAc/D,EAAK8qB,eAQjD9qB,EAAK8qB,eAAehnB,UAAU6C,OAAS,SAAUzE,GAE7CV,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzC7O,KAAK8N,QAAQG,YAAc,EAE3BjO,KAAK4F,cAAciI,iBAAmB,EACtC7N,KAAK4F,cAAc0I,OAAStO,KAAK+C,KAAK+X,OAAOC,OAAOhX,EACpD/D,KAAK4F,cAAc2I,OAASvO,KAAK+C,KAAK+X,OAAOC,OAAO/W,EAEpDhE,KAAK8N,QAAQC,yBAA2B,cAEpC4b,UAAUC,YAAc5pB,KAAKiX,KAAK4S,eAElC7pB,KAAK8N,QAAQ6a,UAAY,QACzB3oB,KAAK8N,QAAQ8M,SAGb5a,KAAK+W,oBAED/W,KAAK4W,YAEL5W,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,QAEzC6C,EAAKga,WAEV1a,KAAK8N,QAAQ6a,UAAYjoB,EAAKga,SAASoP,KACvC9pB,KAAK8N,QAAQgb,SAAS,EAAG,EAAG9oB,KAAKpC,MAAQoC,KAAKnC,UAItDmC,KAAKgb,oBAAoBta,IAG7BlC,EAAK8qB,eAAehnB,UAAUqX,mBAAqB,aAiBnDnb,EAAK8qB,eAAehnB,UAAUE,QAAU,SAAUunB,QAE3BxjB,IAAfwjB,IAA4BA,GAAa,GAEzCA,GAAc/pB,KAAKiX,KAAK5V,QAExBrB,KAAKiX,KAAK5V,OAAOwH,YAAY7I,KAAKiX,MAGtCjX,KAAKiX,KAAO,KACZjX,KAAK8N,QAAU,KACf9N,KAAKoM,YAAc,KACnBpM,KAAK4F,cAAgB,MAUzBpH,EAAK8qB,eAAehnB,UAAU6D,OAAS,SAAUvI,EAAOC,GAEpDmC,KAAKpC,MAAQA,EAAQoC,KAAK4E,WAC1B5E,KAAKnC,OAASA,EAASmC,KAAK4E,WAE5B5E,KAAKiX,KAAKrZ,MAAQoC,KAAKpC,MACvBoC,KAAKiX,KAAKpZ,OAASmC,KAAKnC,OAEpBmC,KAAK6W,aAEL7W,KAAKiX,KAAKqE,MAAM1d,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAAa,KACvD5E,KAAKiX,KAAKqE,MAAMzd,OAASmC,KAAKnC,OAASmC,KAAK4E,WAAa,MAGzD5E,KAAK4F,cAAcsI,iBAEnBlO,KAAK8N,QAAQ9N,KAAK4F,cAAcsI,gBAAmBlO,KAAK4F,cAAc9H,YAAcU,EAAKC,WAAWC,SAa5GF,EAAK8qB,eAAehnB,UAAU0Y,oBAAsB,SAAUC,EAAenN,EAASJ,GAElF1N,KAAK4F,cAAckI,QAAUA,GAAW9N,KAAK8N,QAC7C9N,KAAK4F,cAAchB,WAAa5E,KAAK4E,WACrCqW,EAAcjV,cAAchG,KAAK4F,cAAe8H,IASpDlP,EAAK8qB,eAAehnB,UAAUiW,cAAgB,WAE1C,IAAK/Z,EAAKwP,iBACV,CACI,IAAI7K,KACAkZ,EAAQ7d,EAAK0J,WACb8hB,EAAShqB,KAAK+C,KAAKknB,OAAOC,eAE9B/mB,EAAEkZ,EAAMjU,QAAU,cAClBjF,EAAEkZ,EAAMG,KAAO,UACfrZ,EAAEkZ,EAAMlU,UAAY,EAAW,WAAa,cAC5ChF,EAAEkZ,EAAMO,QAAU,EAAW,SAAW,cACxCzZ,EAAEkZ,EAAMQ,SAAW,EAAW,UAAY,cAC1C1Z,EAAEkZ,EAAMS,QAAU,EAAW,SAAW,cACxC3Z,EAAEkZ,EAAMU,SAAW,EAAW,UAAY,cAC1C5Z,EAAEkZ,EAAMW,aAAe,EAAW,cAAgB,cAClD7Z,EAAEkZ,EAAMY,YAAc,EAAW,aAAe,cAChD9Z,EAAEkZ,EAAMa,YAAc,EAAW,aAAe,cAChD/Z,EAAEkZ,EAAMc,YAAc,EAAW,aAAe,cAChDha,EAAEkZ,EAAMe,YAAc,EAAW,aAAe,cAChDja,EAAEkZ,EAAMgB,WAAa,EAAW,YAAc,cAC9Cla,EAAEkZ,EAAMiB,KAAO,EAAW,MAAQ,cAClCna,EAAEkZ,EAAMkB,YAAc,EAAW,aAAe,cAChDpa,EAAEkZ,EAAMmB,OAAS,EAAW,QAAU,cACtCra,EAAEkZ,EAAMoB,YAAc,EAAW,aAAe,cAEhDjf,EAAKwP,iBAAmB7K,IAiBhC3E,EAAK2rB,YAAc,SAAU/a,EAAQtR,EAAW8G,GAQ5C5E,KAAK4E,WAAaA,GAAc,EAShC5E,KAAKpC,MAAQ,IASboC,KAAKnC,OAAS,IASdmC,KAAKlC,UAAYA,GAAaU,EAAKC,WAAWipB,QAS9C1nB,KAAKmN,WAAY,EAQjBnN,KAAKoP,OAASA,EASdpP,KAAKsX,oBAAqB,EAS1BtX,KAAKiU,eASLjU,KAAK2b,QAAS,EAOd3b,KAAKsG,aAAe,EAOpBtG,KAAKsV,SAAW,GAAM,GAAM,GAAM,GAE7BlG,KAKApP,KAAKoP,OAAOgb,UAAYpqB,KAAKoP,OAAOoJ,aAAexY,KAAKoP,OAAOxR,OAASoC,KAAKoP,OAAOvR,SAErFmC,KAAKmN,WAAY,EACjBnN,KAAKpC,MAAQoC,KAAKoP,OAAOib,cAAgBrqB,KAAKoP,OAAOxR,MACrDoC,KAAKnC,OAASmC,KAAKoP,OAAOkb,eAAiBtqB,KAAKoP,OAAOvR,OACvDmC,KAAKwR,SAYTxR,KAAKwN,YAAa,EAOlBxN,KAAKgc,WAAY,IAGrBxd,EAAK2rB,YAAY7nB,UAAUC,YAAc/D,EAAK2rB,YAW9C3rB,EAAK2rB,YAAY7nB,UAAUioB,YAAc,SAAU3sB,EAAOC,GAEtDmC,KAAKmN,WAAY,EACjBnN,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKwR,SAQThT,EAAK2rB,YAAY7nB,UAAUE,QAAU,WAE7BxC,KAAKoP,QAEL5N,OAAOqF,WAAWC,eAAe9G,KAAKoP,QAG1CpP,KAAKoP,OAAS,KAEdpP,KAAKwqB,iBAQThsB,EAAK2rB,YAAY7nB,UAAUkP,MAAQ,WAE/B,IAAK,IAAI9O,EAAI,EAAGA,EAAI1C,KAAKiU,YAAYtR,OAAQD,IAEzC1C,KAAKsV,OAAO5S,IAAK,GAUzBlE,EAAK2rB,YAAY7nB,UAAUkoB,cAAgB,WAEvCxqB,KAAKwR,QAGL,IAAK,IAAI9O,EAAI1C,KAAKiU,YAAYtR,OAAS,EAAGD,GAAK,EAAGA,IAClD,CACI,IAAI+nB,EAAYzqB,KAAKiU,YAAYvR,GAC7B/E,EAAKa,EAAK8X,WAAW5T,GAEtB/E,GAAM8sB,GAEL9sB,EAAGmqB,cAAc2C,GAIzBzqB,KAAKiU,YAAYtR,OAAS,EAE1B3C,KAAKwR,SAaThT,EAAK2rB,YAAYO,WAAa,SAAUxT,EAAQpZ,EAAW8G,GAcvD,OAZqB,IAAjBsS,EAAOtZ,QAEPsZ,EAAOtZ,MAAQ,GAGG,IAAlBsZ,EAAOrZ,SAEPqZ,EAAOrZ,OAAS,GAGpB+G,EAAaA,GAAc,EAEpB,IAAIpG,EAAK2rB,YAAYjT,EAAQpZ,EAAW8G,IAcnDpG,EAAKmsB,mBAAoB,EAazBnsB,EAAKqO,QAAU,SAAUzG,EAAaiH,EAAOO,EAAMQ,GAQ/CpO,KAAK4qB,SAAU,EAEVvd,IAEDrN,KAAK4qB,SAAU,EACfvd,EAAQ,IAAI7O,EAAKyD,UAAU,EAAE,EAAE,EAAE,IAGjCmE,aAAuB5H,EAAKqO,UAE5BzG,EAAcA,EAAYA,aAS9BpG,KAAKoG,YAAcA,EAQnBpG,KAAKqN,MAAQA,EAQbrN,KAAKoO,KAAOA,EAQZpO,KAAKyN,OAAQ,EAQbzN,KAAK6qB,UAAW,EAQhB7qB,KAAK8qB,gBAAiB,EAQtB9qB,KAAK8O,gBAAiB,EAStB9O,KAAKwjB,KAAO,KAQZxjB,KAAKpC,MAAQ,EAQboC,KAAKnC,OAAS,EASdmC,KAAK4N,KAAOA,GAAQ,IAAIpP,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAUhDjC,KAAK0O,SAAU,EAEXtI,EAAY+G,YAERnN,KAAK4qB,UAAWvd,EAAQ,IAAI7O,EAAKyD,UAAU,EAAG,EAAGmE,EAAYxI,MAAOwI,EAAYvI,SACpFmC,KAAK+qB,SAAS1d,KAItB7O,EAAKqO,QAAQvK,UAAUC,YAAc/D,EAAKqO,QAQ1CrO,EAAKqO,QAAQvK,UAAU0oB,oBAAsB,WAEzC,IAAI5kB,EAAcpG,KAAKoG,YAEnBpG,KAAK4qB,UAEL5qB,KAAKqN,MAAQ,IAAI7O,EAAKyD,UAAU,EAAG,EAAGmE,EAAYxI,MAAOwI,EAAYvI,SAGzEmC,KAAK+qB,SAAS/qB,KAAKqN,QASvB7O,EAAKqO,QAAQvK,UAAUE,QAAU,SAAU+K,GAEnCA,GAAevN,KAAKoG,YAAY5D,UAEpCxC,KAAKyN,OAAQ,GASjBjP,EAAKqO,QAAQvK,UAAUyoB,SAAW,SAAU1d,GAaxC,GAXArN,KAAK4qB,SAAU,EAEf5qB,KAAKqN,MAAQA,EACbrN,KAAKpC,MAAQyP,EAAMzP,MACnBoC,KAAKnC,OAASwP,EAAMxP,OAEpBmC,KAAK4N,KAAK7J,EAAIsJ,EAAMtJ,EACpB/D,KAAK4N,KAAK5J,EAAIqJ,EAAMrJ,EACpBhE,KAAK4N,KAAKhQ,MAAQyP,EAAMzP,MACxBoC,KAAK4N,KAAK/P,OAASwP,EAAMxP,OAEpBmC,KAAKoO,QAASf,EAAMtJ,EAAIsJ,EAAMzP,MAAQoC,KAAKoG,YAAYxI,OAASyP,EAAMrJ,EAAIqJ,EAAMxP,OAASmC,KAAKoG,YAAYvI,QAW/GmC,KAAKyN,MAAQJ,GAASA,EAAMzP,OAASyP,EAAMxP,QAAUmC,KAAKoG,YAAYgJ,QAAUpP,KAAKoG,YAAY+G,UAE7FnN,KAAKoO,OAELpO,KAAKpC,MAAQoC,KAAKoO,KAAKxQ,MACvBoC,KAAKnC,OAASmC,KAAKoO,KAAKvQ,OACxBmC,KAAKqN,MAAMzP,MAAQoC,KAAKoO,KAAKxQ,MAC7BoC,KAAKqN,MAAMxP,OAASmC,KAAKoO,KAAKvQ,QAG9BmC,KAAKyN,OAASzN,KAAKirB,iBArBvB,CAEI,IAAKzsB,EAAKmsB,kBAEN,MAAM,IAAI5hB,MAAM,wEAA0E/I,MAG9FA,KAAKyN,OAAQ,IAuBrBjP,EAAKqO,QAAQvK,UAAU2oB,WAAa,WAE5BjrB,KAAKwjB,OAAQxjB,KAAKwjB,KAAO,IAAIhlB,EAAK8lB,YAEtC,IAAIjX,EAAQrN,KAAK4N,KACbsd,EAAKlrB,KAAKoG,YAAYxI,MACtButB,EAAKnrB,KAAKoG,YAAYvI,OAE1BmC,KAAKwjB,KAAKU,GAAK7W,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAKW,GAAK9W,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKlY,IAAM+B,EAAMtJ,EAAIsJ,EAAMzP,OAASstB,EACzClrB,KAAKwjB,KAAKjY,GAAK8B,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKhY,IAAM6B,EAAMtJ,EAAIsJ,EAAMzP,OAASstB,EACzClrB,KAAKwjB,KAAK/X,IAAM4B,EAAMrJ,EAAIqJ,EAAMxP,QAAUstB,EAE1CnrB,KAAKwjB,KAAK9X,GAAK2B,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAK7X,IAAM0B,EAAMrJ,EAAIqJ,EAAMxP,QAAUstB,GAS9C3sB,EAAKqO,QAAQvK,UAAU2hB,mBAAqB,WAEnCjkB,KAAKwjB,OAAQxjB,KAAKwjB,KAAO,IAAIhlB,EAAK8lB,YAEvC,IAAIjX,EAAQrN,KAAK4N,KACbsd,EAAKlrB,KAAKoG,YAAYxI,MACtButB,EAAKnrB,KAAKoG,YAAYvI,OAE1BmC,KAAKwjB,KAAKU,GAAK7W,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAKW,GAAK9W,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKlY,IAAM+B,EAAMtJ,EAAIsJ,EAAMxP,QAAUqtB,EAC1ClrB,KAAKwjB,KAAKjY,GAAK8B,EAAMrJ,EAAImnB,EAEzBnrB,KAAKwjB,KAAKhY,IAAM6B,EAAMtJ,EAAIsJ,EAAMxP,QAAUqtB,EAC1ClrB,KAAKwjB,KAAK/X,IAAM4B,EAAMrJ,EAAIqJ,EAAMzP,OAASutB,EAEzCnrB,KAAKwjB,KAAK9X,GAAK2B,EAAMtJ,EAAImnB,EACzBlrB,KAAKwjB,KAAK7X,IAAM0B,EAAMrJ,EAAIqJ,EAAMzP,OAASutB,GAY7C3sB,EAAKqO,QAAQ6d,WAAa,SAAUxT,EAAQpZ,GAExC,IAAIsI,EAAc5H,EAAK2rB,YAAYO,WAAWxT,EAAQpZ,GAEtD,OAAO,IAAIU,EAAKqO,QAAQzG,IAG5B5H,EAAK8lB,WAAa,WAEdtkB,KAAKkkB,GAAK,EACVlkB,KAAKmkB,GAAK,EAEVnkB,KAAKsL,GAAK,EACVtL,KAAKuL,GAAK,EAEVvL,KAAKwL,GAAK,EACVxL,KAAKyL,GAAK,EAEVzL,KAAK0L,GAAK,EACV1L,KAAK2L,GAAK,GAOa,oBAAZyf,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU5sB,GAE/B4sB,QAAQ5sB,KAAOA,GACU,oBAAX8sB,QAA0BA,OAAOC,IAC/CD,OAAO,OAA6B5qB,EAAKlC,KAAOA,GAEhDkC,EAAKlC,KAAOA,EAGTA,IACRgG,KAAKxE,MAOR,WAEI,IAAIU,EAAOV,KAWXwB,EAASA,IAOTgqB,QAAS,SAOTC,SAOAC,KAAM,EAONnC,OAAQ,EAOR5S,MAAO,EAOPgV,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,GA2BdtnB,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,IAehBhf,YACIipB,QAAS,EACThpB,OAAQ,EACRC,QAAS,GAGbH,KAAMA,SAGN4S,KAAM,GA8HV,GArHqC,oBAA1Bqe,wBAEFA,sBAAsBntB,UAAUgK,QAEjCmjB,sBAAsBntB,UAAUgK,MAAQmjB,sBAAsBntB,UAAUotB,aAEvED,sBAAsBntB,UAAU6J,OAEjCsjB,sBAAsBntB,UAAU6J,KAAOsjB,sBAAsBntB,UAAUqtB,UAK1EjsB,KAAKksB,QAENlsB,KAAKksB,MAAQ,SAAgB7rB,GAEzB,OAAOA,EAAI,EAAIL,KAAKwC,KAAKnC,GAAKL,KAAKmsB,MAAM9rB,KAO5C+rB,SAASxtB,UAAUytB,OAGpBD,SAASxtB,UAAUytB,KAAO,WAEtB,IAAIC,EAAQvoB,MAAMnF,UAAU0tB,MAE5B,OAAO,SAAUC,GAUb,SAASC,IAEL,IAAIC,EAAOC,EAAUC,OAAOL,EAAMxrB,KAAK8rB,YACvCtoB,EAAOzC,MAAMvF,gBAAgBkwB,EAAQlwB,KAAOiwB,EAASE,GAXzD,IAAInoB,EAAShI,KACTowB,EAAYJ,EAAMxrB,KAAK8rB,UAAW,GAEtC,GAAsB,mBAAXtoB,EAEP,MAAM,IAAIuoB,UAuBd,OAdAL,EAAM5tB,UAAY,SAAUkuB,EAAGC,GAO3B,GALIA,IAEAD,EAAEluB,UAAYmuB,KAGZzwB,gBAAgBwwB,GAGlB,OAAO,IAAIA,EAVD,CAYfxoB,EAAO1F,WAEH4tB,GAlCW,IA0CzBzoB,MAAMC,UAEPD,MAAMC,QAAU,SAAUgpB,GAEtB,MAA+C,mBAAxC1pB,OAAO1E,UAAUsmB,SAASpkB,KAAKksB,KAQzCjpB,MAAMnF,UAAUquB,UAEjBlpB,MAAMnF,UAAUquB,QAAU,SAAUC,GAEhC,aAEA,QAAa,IAAT5wB,MAA4B,OAATA,KAEnB,MAAM,IAAIuwB,UAGd,IAAIM,EAAI7pB,OAAOhH,MACX8wB,EAAMD,EAAEluB,SAAW,EAEvB,GAAmB,mBAARiuB,EAEP,MAAM,IAAIL,UAKd,IAAK,IAFDN,EAAUK,UAAU3tB,QAAU,EAAI2tB,UAAU,QAAK,EAE5C5tB,EAAI,EAAGA,EAAIouB,EAAKpuB,IAEjBA,KAAKmuB,GAELD,EAAIpsB,KAAKyrB,EAASY,EAAEnuB,GAAIA,EAAGmuB,KAWT,mBAAvBzgB,OAAOmS,aAA4D,iBAAvBnS,OAAOmS,YAC9D,CACI,IAAIwO,EAAa,SAAUvd,GAGvB,IAAIid,EAAQ,IAAIhpB,MAGhB2I,OAAOoD,GAAQ,SAAUkd,GAErB,GAAoB,iBAAV,EACV,CACIjpB,MAAMjD,KAAKxE,KAAM0wB,GACjB1wB,KAAK2C,OAAS+tB,EAEd,IAAShuB,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAK,MAIlB,CACI+E,MAAMjD,KAAKxE,KAAM0wB,EAAI/tB,QAErB3C,KAAK2C,OAAS+tB,EAAI/tB,OAElB,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAKguB,EAAIhuB,KAK1B0N,OAAOoD,GAAMlR,UAAYmuB,EACzBrgB,OAAOoD,GAAMjR,YAAc6N,OAAOoD,IAGtCud,EAAW,gBACXA,EAAW,eACXA,EAAW,eACXA,EAAW,cACXA,EAAW,eAMV3gB,OAAO9P,UAER8P,OAAO9P,WACP8P,OAAO9P,QAAQ+P,IAAMD,OAAO9P,QAAQ0wB,OAAS,aAC7C5gB,OAAO9P,QAAQ+Z,KAAOjK,OAAO9P,QAAQ0wB,OAAS,cAO7ChqB,OAAOiqB,SAGRjqB,OAAOiqB,OAAS,SAAUjpB,EAAQkpB,GAE9B,aACA,GAAc,MAAVlpB,EAEA,MAAM,IAAIuoB,UAAU,8CAMxB,IAAK,IAHDY,EAAKnqB,OAAOgB,GACZopB,EAASpqB,OAAO1E,UAAU+uB,eAErBzoB,EAAQ,EAAGA,EAAQ0nB,UAAU3tB,OAAQiG,IAC9C,CACI,IAAI0oB,EAAahB,UAAU1nB,GAE3B,GAAkB,MAAd0oB,EAEA,IAAK,IAAIC,KAAWD,EAGZF,EAAO5sB,KAAK8sB,EAAYC,KAExBJ,EAAGI,GAAWD,EAAWC,IAKzC,OAAOJ,IAcf3vB,EAAOgwB,OAEHC,SAAU,SAAUzpB,EAAQypB,GAIxB,IAAK,IAFDC,EAAO1qB,OAAO0qB,KAAKD,GAEd/uB,EAAI,EAAGouB,EAAMY,EAAK/uB,OAAQD,EAAIouB,EAAKpuB,IAC5C,CACI,IAAIsQ,EAAM0e,EAAKhvB,QAEK6D,IAAhByB,EAAOgL,KAEPhL,EAAOgL,GAAOye,EAASze,IAI/B,OAAOhL,GAWX2pB,cAAe,SAAUC,GAErB,OAAOA,EAAOC,MAAM,IAAIvT,UAAUxO,KAAK,KAW3CgiB,YAAa,SAAUC,EAAKC,GAExB,IAAIC,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMtvB,QAEV,KAAK,EACD,OAAOovB,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,OAAOjyB,KAAKkyB,aAAaH,EAAKC,KAoB1CG,cAAe,SAAUJ,EAAKK,GAE1B,IAAK,IAAIJ,KAAQI,EAEbpyB,KAAKqyB,YAAYN,EAAKC,EAAMI,EAAMJ,IAGtC,OAAOD,GAiBXM,YAAa,SAAUN,EAAKC,EAAM5qB,GAE9B,IAAI6qB,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMtvB,QAEV,KAAK,EACDovB,EAAIC,GAAQ5qB,EACZ,MACJ,KAAK,EACD2qB,EAAIE,EAAM,IAAIA,EAAM,IAAM7qB,EAC1B,MACJ,KAAK,EACD2qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM7qB,EACpC,MACJ,KAAK,EACD2qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM7qB,EAC9C,MACJ,QACIpH,KAAKsyB,aAAaP,EAAKC,EAAM5qB,KAazC8qB,aAAc,SAAUH,EAAKC,GAOzB,IALA,IAAIC,EAAQD,EAAKH,MAAM,KACnBf,EAAMmB,EAAMtvB,OACZD,EAAI,EACJ6vB,EAAMR,EAEHrvB,EAAIouB,GACX,CACI,IAAI9d,EAAMif,EAAMvvB,GAEhB,GAAW,MAAP6vB,EAOA,OALAA,EAAMA,EAAIvf,GACVtQ,IAQR,OAAO6vB,GAaXD,aAAc,SAAUP,EAAKC,EAAM5qB,GAE/B,IAAI6qB,EAAQD,EAAKH,MAAM,KACnBf,EAAMmB,EAAMtvB,OACZD,EAAI,EACJ8vB,EAAaT,EACb/e,EAAMif,EAAM,GAEhB,GAAY,IAARnB,EAEAiB,EAAIC,GAAQ5qB,MAGhB,CACI,KAAO1E,EAAKouB,EAAM,GAEd0B,EAAaA,EAAWxf,GAExBA,EAAMif,IADNvvB,GAIJ8vB,EAAWxf,GAAO5L,EAGtB,OAAO2qB,GAaXU,WAAY,SAAUC,GAGlB,YADensB,IAAXmsB,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhBhvB,KAAKivB,UAAkBD,GAWjDE,aAAc,SAAUC,EAASC,GAE7B,OAAQpvB,KAAKivB,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUjR,EAAMkR,GAE5B,IAAIC,EAAI,EACJC,EAAK,EA4BT,MA1BoB,iBAATpR,EAGiB,MAApBA,EAAK+G,QAAQ,IAEboK,EAAIE,SAASrR,EAAM,IAAM,IAIrBoR,EAFc,IAAdF,EAEK5iB,OAAOgjB,WAAaH,EAIpB7iB,OAAOijB,YAAcJ,GAK9BC,EAAKC,SAASrR,EAAM,IAKxBoR,EAAKpR,EAGFoR,GA8BXI,IAAK,SAAUC,EAAKzC,EAAKwC,EAAKE,GAE1B,QAAYjtB,IAARuqB,EAAqB,IAAIA,EAAM,EACnC,QAAYvqB,IAAR+sB,EAAqB,IAAIA,EAAM,IACnC,QAAY/sB,IAARitB,EAAqB,IAAIA,EAAM,EAInC,IAAIC,EAAS,EAEb,GAAI3C,EAAM,IAJVyC,EAAMA,EAAI3K,YAISjmB,OAEf,OAAQ6wB,GAEJ,KAAK,EACDD,EAAM,IAAI9rB,MAAMqpB,EAAM,EAAIyC,EAAI5wB,QAAQmN,KAAKwjB,GAAOC,EAClD,MAEJ,KAAK,EACD,IAAIG,EAAQhwB,KAAKwC,MAAMutB,EAAS3C,EAAMyC,EAAI5wB,QAAU,GAChDgxB,EAAOF,EAASC,EACpBH,EAAM,IAAI9rB,MAAMksB,EAAO,GAAG7jB,KAAKwjB,GAAOC,EAAM,IAAI9rB,MAAMisB,EAAQ,GAAG5jB,KAAKwjB,GACtE,MAEJ,QACIC,GAAY,IAAI9rB,MAAMqpB,EAAM,EAAIyC,EAAI5wB,QAAQmN,KAAKwjB,GAK7D,OAAOC,GAUXK,cAAe,SAAU7B,GAQrB,GAAoB,iBAAV,GAAsBA,EAAI8B,UAAY9B,IAAQA,EAAI3hB,OAExD,OAAO,EASX,IAEI,GAAI2hB,EAAIxvB,iBAAqB8uB,eAAe7sB,KAAKutB,EAAIxvB,YAAYD,UAAW,iBAExE,OAAO,EAGf,MAAOqM,GAEH,OAAO,EAOX,OAAO,GAWXmlB,OAAQ,WAEJ,IAAIC,EAAS/B,EAAMniB,EAAKmkB,EAAMC,EAAaC,EACvClsB,EAASsoB,UAAU,OACnB5tB,EAAI,EACJC,EAAS2tB,UAAU3tB,OACnBwxB,GAAO,EAmBX,IAhBsB,kBAAXnsB,IAEPmsB,EAAOnsB,EACPA,EAASsoB,UAAU,OAGnB5tB,EAAI,GAIJC,IAAWD,IAEXsF,EAAShI,OACP0C,GAGCA,EAAIC,EAAQD,IAGf,GAAgC,OAA3BqxB,EAAUzD,UAAU5tB,IAGrB,IAAKsvB,KAAQ+B,EAETlkB,EAAM7H,EAAOgqB,GAIThqB,KAHJgsB,EAAOD,EAAQ/B,MASXmC,GAAQH,IAASxyB,EAAOgwB,MAAMoC,cAAcI,KAAUC,EAAcxsB,MAAMC,QAAQssB,MAE9EC,GAEAA,GAAc,EACdC,EAAQrkB,GAAOpI,MAAMC,QAAQmI,GAAOA,MAIpCqkB,EAAQrkB,GAAOrO,EAAOgwB,MAAMoC,cAAc/jB,GAAOA,KAIrD7H,EAAOgqB,GAAQxwB,EAAOgwB,MAAMsC,OAAOK,EAAMD,EAAOF,SAIlCztB,IAATytB,IAELhsB,EAAOgqB,GAAQgC,IAO/B,OAAOhsB,GAeXosB,eAAgB,SAAUpsB,EAAQqsB,EAAOC,QAErB/tB,IAAZ+tB,IAAyBA,GAAU,GAIvC,IAAK,IAFDC,EAAYvtB,OAAO0qB,KAAK2C,GAEnB3xB,EAAI,EAAGA,EAAI6xB,EAAU5xB,OAAQD,IACtC,CACI,IAAIsQ,EAAMuhB,EAAU7xB,GAChB0E,EAAQitB,EAAMrhB,IAEbshB,GAAYthB,KAAOhL,KAMpBZ,GAC0B,mBAAdA,EAAMF,KAA2C,mBAAdE,EAAMD,IAcrDa,EAAOgL,GAAO5L,EAXa,mBAAhBA,EAAM8sB,MAEblsB,EAAOgL,GAAO5L,EAAM8sB,QAIpBltB,OAAOyF,eAAezE,EAAQgL,EAAK5L,MAmBnDitB,MAAO,SAAU5uB,EAAM0rB,GAEnB,IAAK1rB,GAA0B,iBAAX,EAEhB,OAAO0rB,EAGX,IAAK,IAAIne,KAAOvN,EAChB,CACI,IAAI+uB,EAAI/uB,EAAKuN,GAEb,IAAIwhB,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,IAAIlhB,SAAe/N,EAAKuN,GAEnBvN,EAAKuN,IAAiB,WAATQ,SAOF2d,EAAGne,KAAUQ,EAErB2d,EAAGne,GAAOxR,EAAOgwB,MAAM6C,MAAM5uB,EAAKuN,GAAMme,EAAGne,IAI3Cme,EAAGne,GAAOxR,EAAOgwB,MAAM6C,MAAM5uB,EAAKuN,GAAM,IAAIwhB,EAAEjyB,aAXlD4uB,EAAGne,GAAOvN,EAAKuN,IAgBvB,OAAOme,IAqBf3vB,EAAOmzB,OAAS,SAAU5wB,EAAGC,EAAG4wB,GAE5B7wB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT4wB,EAAWA,GAAY,EAKvB50B,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAMThE,KAAK60B,UAAYD,EAMjB50B,KAAK80B,QAAU,EAEXF,EAAW,IAEX50B,KAAK80B,QAAqB,GAAXF,GAOnB50B,KAAKwT,KAAOhS,EAAO+rB,QAGvB/rB,EAAOmzB,OAAOryB,WAQVyyB,cAAe,WAEX,OAAYrxB,KAAKsxB,GAAKh1B,KAAK80B,QAApB,GAWXnC,OAAQ,SAAUsC,QAEF1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIgwB,EAAI,EAAIntB,KAAKsxB,GAAKtxB,KAAKivB,SACvBuC,EAAIxxB,KAAKivB,SAAWjvB,KAAKivB,SACzBzuB,EAAKgxB,EAAI,EAAK,EAAIA,EAAIA,EACtBnxB,EAAIG,EAAIR,KAAKI,IAAI+sB,GACjB7sB,EAAIE,EAAIR,KAAKG,IAAIgtB,GAKrB,OAHAoE,EAAIlxB,EAAI/D,KAAK+D,EAAKA,EAAI/D,KAAKm1B,OAC3BF,EAAIjxB,EAAIhE,KAAKgE,EAAKA,EAAIhE,KAAKm1B,OAEpBF,GASX/qB,UAAW,WAEP,OAAO,IAAI1I,EAAOS,UAAUjC,KAAK+D,EAAI/D,KAAKm1B,OAAQn1B,KAAKgE,EAAIhE,KAAKm1B,OAAQn1B,KAAK40B,SAAU50B,KAAK40B,WAWhGQ,MAAO,SAAUrxB,EAAGC,EAAG4wB,GAOnB,OALA50B,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAK60B,UAAYD,EACjB50B,KAAK80B,QAAqB,GAAXF,EAER50B,MASXq1B,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOwlB,WASjDU,OAAQ,SAAUC,GAMd,OAJAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EACduxB,EAAKX,SAAW50B,KAAK60B,UAEdU,GAWXC,SAAU,SAAUD,EAAME,GAEtB,IAAID,EAAWh0B,EAAOkC,KAAK8xB,SAASx1B,KAAK+D,EAAG/D,KAAKgE,EAAGuxB,EAAKxxB,EAAGwxB,EAAKvxB,GACjE,OAAOyxB,EAAQ/xB,KAAK+xB,MAAMD,GAAYA,GAS1CtB,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOmzB,OAAO30B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK40B,UAIhDc,EAAON,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK40B,UAG/Bc,GAUXprB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOmzB,OAAOrqB,SAAStK,KAAM+D,EAAGC,IAW3C2xB,mBAAoB,SAAUC,EAAOC,EAAWZ,GAE5C,OAAOzzB,EAAOmzB,OAAOgB,mBAAmB31B,KAAM41B,EAAOC,EAAWZ,IAkBpEa,OAAQ,SAAUC,EAAOC,EAAYC,EAAUJ,EAAWZ,GAEjDc,IAASA,EAAQ,IACJ,MAAdC,IAAsBA,EAAa,GACvB,MAAZC,IAAoBA,EAAWz0B,EAAOkC,KAAKC,KAC1CsxB,IAAOA,MAIZ,IAFA,IAAIvyB,EAAI,EAEDA,EAAIqzB,GAEP/1B,KAAK21B,mBACDn0B,EAAOkC,KAAKwyB,OAAOF,EAAYC,EAAUvzB,EAAIqzB,GAC7CF,EACAZ,EAAIvyB,KAAOuyB,EAAIvyB,GAAK,IAAIlB,EAAOX,QAGnC6B,GAAK,EAGT,OAAOuyB,GAUXxd,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHArO,KAAK+D,GAAKoK,EACVnO,KAAKgE,GAAKqK,EAEHrO,MASXm2B,YAAa,SAAUC,GAEnB,OAAOp2B,KAAKyX,OAAO2e,EAAMryB,EAAGqyB,EAAMpyB,IAQtC4kB,SAAU,WAEN,MAAO,sBAAwB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,aAAehE,KAAK40B,SAAW,WAAa50B,KAAKm1B,OAAS,QAK3H3zB,EAAOmzB,OAAOryB,UAAUC,YAAcf,EAAOmzB,OAQ7C3tB,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,YAE3C4E,IAAK,WAED,OAAOlH,KAAK60B,WAGhB1tB,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAK60B,UAAYztB,EACjBpH,KAAK80B,QAAkB,GAAR1tB,MAW3BJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAK80B,SAGhB3tB,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAK80B,QAAU1tB,EACfpH,KAAK60B,UAAoB,EAARztB,MAW7BJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,QAE3C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,GAEb/D,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAASn1B,KAAK+D,EAAIqD,KAWnCJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,GAEb/D,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAAS/tB,EAAQpH,KAAK+D,KAWvCiD,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,OAE3C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,GAEbhE,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAASn1B,KAAKgE,EAAIoD,KAWnCJ,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK80B,SAGzB3tB,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,GAEbhE,KAAK80B,QAAU,EACf90B,KAAK60B,UAAY,GAIjB70B,KAAKm1B,OAAS/tB,EAAQpH,KAAKgE,KAYvCgD,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,QAE3C4E,IAAK,WAED,OAAIlH,KAAK80B,QAAU,EAERpxB,KAAKsxB,GAAKh1B,KAAK80B,QAAU90B,KAAK80B,QAI9B,KAYnB9tB,OAAOyF,eAAejL,EAAOmzB,OAAOryB,UAAW,SAE3C4E,IAAK,WAED,OAA2B,IAAnBlH,KAAK60B,WAGjB1tB,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKo1B,MAAM,EAAG,EAAG,MAc7B5zB,EAAOmzB,OAAOrqB,SAAW,SAAUpH,EAAGa,EAAGC,GAGrC,OAAId,EAAEiyB,OAAS,GAAKpxB,GAAKb,EAAEywB,MAAQ5vB,GAAKb,EAAEwwB,OAAS1vB,GAAKd,EAAEmzB,KAAOryB,GAAKd,EAAEozB,SAE1DpzB,EAAEa,EAAIA,IAAMb,EAAEa,EAAIA,IAClBb,EAAEc,EAAIA,IAAMd,EAAEc,EAAIA,IAEPd,EAAEiyB,OAASjyB,EAAEiyB,QAe1C3zB,EAAOmzB,OAAO4B,OAAS,SAAUrzB,EAAGC,GAEhC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAE0xB,WAAazxB,EAAEyxB,UAW3DpzB,EAAOmzB,OAAO6B,WAAa,SAAUtzB,EAAGC,GAEpC,OAAQ3B,EAAOkC,KAAK8xB,SAAStyB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,IAAOd,EAAEiyB,OAAShyB,EAAEgyB,QAYtE3zB,EAAOmzB,OAAOgB,mBAAqB,SAAUzyB,EAAG0yB,EAAOC,EAAWZ,GAa9D,YAXkB1uB,IAAdsvB,IAA2BA,GAAY,QAC/BtvB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,QAExB,IAAdg1B,IAEAD,EAAQp0B,EAAOkC,KAAK+yB,SAASb,IAGjCX,EAAIlxB,EAAIb,EAAEa,EAAIb,EAAEiyB,OAASzxB,KAAKI,IAAI8xB,GAClCX,EAAIjxB,EAAId,EAAEc,EAAId,EAAEiyB,OAASzxB,KAAKG,IAAI+xB,GAE3BX,GAUXzzB,EAAOmzB,OAAO+B,oBAAsB,SAAUtzB,EAAGc,GAE7C,IAAIgL,EAAKxL,KAAKizB,IAAIvzB,EAAEW,EAAIG,EAAEH,EAAIG,EAAE0yB,WAGhC,GAAI1nB,EAFQhL,EAAE0yB,UAAYxzB,EAAE+xB,OAIxB,OAAO,EAGX,IAAIhmB,EAAKzL,KAAKizB,IAAIvzB,EAAEY,EAAIE,EAAEF,EAAIE,EAAE2yB,YAGhC,GAAI1nB,EAFQjL,EAAE2yB,WAAazzB,EAAE+xB,OAIzB,OAAO,EAGX,GAAIjmB,GAAMhL,EAAE0yB,WAAaznB,GAAMjL,EAAE2yB,WAE7B,OAAO,EAGX,IAAIC,EAAc5nB,EAAKhL,EAAE0yB,UACrBG,EAAc5nB,EAAKjL,EAAE2yB,WAKzB,OAJoBC,EAAcA,EACdC,EAAcA,GACZ3zB,EAAE+xB,OAAS/xB,EAAE+xB,QAavC3zB,EAAOmzB,OAAOqC,eAAiB,SAAU5zB,EAAG6zB,EAAGC,GAE3C,IAAI3S,EAAInhB,EAAEW,EACNozB,EAAI/zB,EAAEY,EACNozB,GAAMH,EAAE5b,IAAIrX,EAAIizB,EAAE3qB,MAAMtI,IAAMizB,EAAE5b,IAAItX,EAAIkzB,EAAE3qB,MAAMvI,GAChDszB,EAAIJ,EAAE5b,IAAIrX,EAAKozB,EAAIH,EAAE5b,IAAItX,EACzBb,EAAIE,EAAE+xB,OACNhyB,EAAIC,EAAE+xB,OACNmC,EAAMD,EAAID,EAAI7S,EAEdL,GAAMK,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAClKmI,GAAMiZ,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAElKghB,EAAKiT,EAAIlT,EAAKmT,EACd9rB,EAAK6rB,EAAI9rB,EAAK+rB,EACdE,EAAK,IAAI/1B,EAAOX,MAAMqjB,EAAIC,GAC1BqT,EAAK,IAAIh2B,EAAOX,MAAMyK,EAAIC,GAC1BksB,EAAWR,EAAES,eAAeH,EAAGxzB,EAAGwzB,EAAGvzB,EAAG,KACxC2zB,EAAWV,EAAES,eAAeF,EAAGzzB,EAAGyzB,EAAGxzB,EAAG,KAE5C,OAAIyzB,GAAYE,GAELT,IAAiBK,EAAIC,GAEvBC,GAEEP,IAAiBK,GAEnBI,GAEET,IAAiBM,KAIjBN,OAMf14B,KAAKm2B,OAASnzB,EAAOmzB,OAmBrBnzB,EAAOo2B,QAAU,SAAU7zB,EAAGC,EAAGpG,EAAOC,GAEpCkG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKwT,KAAOhS,EAAO0rB,SAGvB1rB,EAAOo2B,QAAQt1B,WAWX8yB,MAAO,SAAUrxB,EAAGC,EAAGpG,EAAOC,GAO1B,OALAmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MASXkK,UAAW,WAEP,OAAO,IAAI1I,EAAOS,UAAUjC,KAAK+D,EAAI/D,KAAKpC,MAAOoC,KAAKgE,EAAIhE,KAAKnC,OAAQmC,KAAKpC,MAAOoC,KAAKnC,SAU5Fw3B,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOxR,MAAOwR,EAAOvR,SAS/Dy3B,OAAQ,SAAUC,GAOd,OALAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EACduxB,EAAK33B,MAAQoC,KAAKpC,MAClB23B,EAAK13B,OAASmC,KAAKnC,OAEZ03B,GASXrB,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOo2B,QAAQ53B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAI7D63B,EAAON,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAG3C63B,GAWXprB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOo2B,QAAQttB,SAAStK,KAAM+D,EAAGC,IAW5C2uB,OAAQ,SAAUsC,QAEF1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAImC,EAAIU,KAAKivB,SAAWjvB,KAAKsxB,GAAK,EAC9B9wB,EAAIR,KAAKS,KAAKT,KAAKivB,UAKvB,OAHAsC,EAAIlxB,EAAI/D,KAAK63B,QAAU,GAAM3zB,EAAIR,KAAKI,IAAId,GAAKhD,KAAKpC,MACpDq3B,EAAIjxB,EAAIhE,KAAK83B,QAAU,GAAM5zB,EAAIR,KAAKG,IAAIb,GAAKhD,KAAKnC,OAE7Co3B,GAQXrM,SAAU,WAEN,MAAO,uBAAyB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,UAAYhE,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,QAKtH2D,EAAOo2B,QAAQt1B,UAAUC,YAAcf,EAAOo2B,QAO9C5wB,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,GAGhBoD,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,KAUjBJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,SAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKpC,OAGzBuJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+D,EAEb/D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQwJ,EAAQpH,KAAK+D,KAWtCiD,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,OAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,GAGhBmD,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,KAUjBJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKnC,QAGzBsJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAKgE,EAEbhE,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASuJ,EAAQpH,KAAKgE,KAYvCgD,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,WAE5C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI,GAAM/D,KAAKpC,SAWnCoJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,WAE5C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAI,GAAMhE,KAAKnC,UAWnCmJ,OAAOyF,eAAejL,EAAOo2B,QAAQt1B,UAAW,SAE5C4E,IAAK,WAED,OAAuB,IAAflH,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAGrCsJ,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKo1B,MAAM,EAAG,EAAG,EAAG,MAehC5zB,EAAOo2B,QAAQttB,SAAW,SAAUpH,EAAGa,EAAGC,GAEtC,GAAId,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,EAE5B,OAAO,EAIX,IAAIk6B,GAAUh0B,EAAIb,EAAEa,GAAKb,EAAEtF,MAAS,GAChCo6B,GAAUh0B,EAAId,EAAEc,GAAKd,EAAErF,OAAU,GAKrC,OAHAk6B,GAASA,EACTC,GAASA,EAEDD,EAAQC,EAAQ,KAW5Bx2B,EAAOo2B,QAAQZ,eAAiB,SAAUroB,EAAGsoB,EAAGC,GAE5C,IAAI3S,EAAI5V,EAAE5K,EACNozB,EAAIxoB,EAAE3K,EACNozB,GAAMH,EAAE5b,IAAIrX,EAAIizB,EAAE3qB,MAAMtI,IAAMizB,EAAE5b,IAAItX,EAAIkzB,EAAE3qB,MAAMvI,GAChDszB,EAAIJ,EAAE5b,IAAIrX,EAAKozB,EAAIH,EAAE5b,IAAItX,EACzBb,EAAIyL,EAAE/Q,MAAQ,EACduF,EAAIwL,EAAE9Q,OAAS,EACfy5B,EAAMD,EAAID,EAAI7S,EAEdL,GAAMK,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAClKmI,GAAMiZ,GAAKphB,EAAIA,GAAKi0B,GAAKl0B,EAAIA,IAAMm0B,EAAIF,GAAKj0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,EAAMm0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUj0B,EAAIA,GAAMk0B,EAAIA,GAAMj0B,EAAIA,GAElKghB,EAAKiT,EAAIlT,EAAKmT,EACd9rB,EAAK6rB,EAAI9rB,EAAK+rB,EACdE,EAAK,IAAI/1B,EAAOX,MAAMqjB,EAAIC,GAC1BqT,EAAK,IAAIh2B,EAAOX,MAAMyK,EAAIC,GAC1BksB,EAAWR,EAAES,eAAeH,EAAGxzB,EAAGwzB,EAAGvzB,EAAG,KACxC2zB,EAAWV,EAAES,eAAeF,EAAGzzB,EAAGyzB,EAAGxzB,EAAG,KAE5C,OAAIyzB,GAAYE,GAELT,IAAiBK,EAAIC,GAEvBC,GAEEP,IAAiBK,GAEnBI,GAEET,IAAiBM,KAIjBN,OAMf14B,KAAKo5B,QAAUp2B,EAAOo2B,QAkBtBp2B,EAAOy2B,KAAO,SAAU3sB,EAAIC,EAAIC,EAAIC,GAEhCH,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKXzL,KAAKsM,MAAQ,IAAI9K,EAAOX,MAAMyK,EAAIC,GAKlCvL,KAAKqb,IAAM,IAAI7Z,EAAOX,MAAM2K,EAAIC,GAMhCzL,KAAKwT,KAAOhS,EAAOisB,MAGvBjsB,EAAOy2B,KAAK31B,WAYR8yB,MAAO,SAAU9pB,EAAIC,EAAIC,EAAIC,GAKzB,OAHAzL,KAAKsM,MAAM8oB,MAAM9pB,EAAIC,GACrBvL,KAAKqb,IAAI+Z,MAAM5pB,EAAIC,GAEZzL,MAUXk4B,WAAY,SAAU5rB,EAAO+O,GAIzB,OAFArb,KAAKo1B,MAAM9oB,EAAMvI,EAAGuI,EAAMtI,EAAGqX,EAAItX,EAAGsX,EAAIrX,GAEjChE,MAaXm4B,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,YAFkB/xB,IAAd+xB,IAA2BA,GAAY,GAEvCA,EAEOt4B,KAAKo1B,MAAMgD,EAAYP,QAASO,EAAYN,QAASO,EAAUR,QAASQ,EAAUP,SAGtF93B,KAAKk4B,WAAWE,EAAaC,IAaxCE,UAAW,SAAUx0B,EAAGC,EAAG4xB,EAAOjzB,GAK9B,OAHA3C,KAAKsM,MAAM8oB,MAAMrxB,EAAGC,GACpBhE,KAAKqb,IAAI+Z,MAAMrxB,EAAKL,KAAKI,IAAI8xB,GAASjzB,EAASqB,EAAKN,KAAKG,IAAI+xB,GAASjzB,GAE/D3C,MAgBXw4B,OAAQ,SAAU5C,EAAOC,GAErB,IAAI3mB,GAAMlP,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,GAAK,EACnCoL,GAAMnP,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,GAAK,EAKvC,OAHAhE,KAAKsM,MAAMksB,OAAOtpB,EAAIC,EAAIymB,EAAOC,GACjC71B,KAAKqb,IAAImd,OAAOtpB,EAAIC,EAAIymB,EAAOC,GAExB71B,MAeXy4B,aAAc,SAAU10B,EAAGC,EAAG4xB,EAAOC,GAKjC,OAHA71B,KAAKsM,MAAMksB,OAAOz0B,EAAGC,EAAG4xB,EAAOC,GAC/B71B,KAAKqb,IAAImd,OAAOz0B,EAAGC,EAAG4xB,EAAOC,GAEtB71B,MAcXw2B,WAAY,SAAUkC,EAAMC,EAAWC,GAEnC,OAAOp3B,EAAOy2B,KAAKY,iBAAiB74B,KAAKsM,MAAOtM,KAAKqb,IAAKqd,EAAKpsB,MAAOosB,EAAKrd,IAAKsd,EAAWC,IAW/FE,QAAS,SAAUJ,GAEf,OAAOl3B,EAAOy2B,KAAKa,QAAQ94B,KAAM04B,IAUrCK,SAAU,SAAU9D,GAOhB,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,GAAK/D,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,GAAK,EACtCkxB,EAAIjxB,GAAKhE,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,GAAK,EAE/BixB,GAcX+D,SAAU,SAAUj1B,EAAGC,GAEnB,IAGIV,EAAKS,GAHC/D,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,GAAK,EAInCR,EAAKS,GAHChE,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,GAAK,EAKvChE,KAAKsM,MAAM2sB,IAAI31B,EAAIC,GACnBvD,KAAKqb,IAAI4d,IAAI31B,EAAIC,IAYrB21B,YAAa,SAAUn1B,EAAGC,EAAGm1B,GAEzB,OAAO33B,EAAOkC,KAAK01B,YAAYr1B,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,IAAKhE,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAMC,EAAIhE,KAAKsM,MAAMtI,GAAIm1B,GAAW,IAYjJzB,eAAgB,SAAU3zB,EAAGC,EAAGm1B,GAE5B,IAAIE,EAAO31B,KAAK41B,IAAIt5B,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,GACvCw1B,EAAO71B,KAAKuC,IAAIjG,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,GACvCy1B,EAAO91B,KAAK41B,IAAIt5B,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,GACvCy1B,EAAO/1B,KAAKuC,IAAIjG,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,GAE3C,OAAQhE,KAAKk5B,YAAYn1B,EAAGC,EAAGm1B,IAAap1B,GAAKs1B,GAAQt1B,GAAKw1B,GAAUv1B,GAAKw1B,GAAQx1B,GAAKy1B,GAW9F9G,OAAQ,SAAUsC,QAEF1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIgwB,EAAIntB,KAAKivB,SAKb,OAHAsC,EAAIlxB,EAAI/D,KAAKsM,MAAMvI,EAAI8sB,GAAK7wB,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,GACpDkxB,EAAIjxB,EAAIhE,KAAKsM,MAAMtI,EAAI6sB,GAAK7wB,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,GAE7CixB,GAYXyE,kBAAmB,SAAUC,EAAUC,QAElBrzB,IAAbozB,IAA0BA,EAAW,QACzBpzB,IAAZqzB,IAAyBA,MAE7B,IAAItuB,EAAK5H,KAAK+xB,MAAMz1B,KAAKsM,MAAMvI,GAC3BwH,EAAK7H,KAAK+xB,MAAMz1B,KAAKsM,MAAMtI,GAC3BwH,EAAK9H,KAAK+xB,MAAMz1B,KAAKqb,IAAItX,GACzB0H,EAAK/H,KAAK+xB,MAAMz1B,KAAKqb,IAAIrX,GAEzBmK,EAAKzK,KAAKizB,IAAInrB,EAAKF,GACnB+C,EAAK3K,KAAKizB,IAAIlrB,EAAKF,GACnBsuB,EAAMvuB,EAAKE,EAAM,GAAK,EACtBsuB,EAAMvuB,EAAKE,EAAM,GAAK,EACtBsuB,EAAM5rB,EAAKE,EAEfurB,EAAQ9xB,MAAOwD,EAAIC,IAInB,IAFA,IAAI7I,EAAI,EAEE4I,IAAOE,GAAQD,IAAOE,GAChC,CACI,IAAIuuB,EAAKD,GAAO,EAEZC,GAAM3rB,IAEN0rB,GAAO1rB,EACP/C,GAAMuuB,GAGNG,EAAK7rB,IAEL4rB,GAAO5rB,EACP5C,GAAMuuB,GAGNp3B,EAAIi3B,GAAa,GAEjBC,EAAQ9xB,MAAOwD,EAAIC,IAGvB7I,IAGJ,OAAOk3B,GASX1F,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOy2B,KAAKj4B,KAAKsM,MAAMvI,EAAG/D,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAItX,EAAG/D,KAAKqb,IAAIrX,GAI1E0xB,EAAON,MAAMp1B,KAAKsM,MAAMvI,EAAG/D,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAItX,EAAG/D,KAAKqb,IAAIrX,GAG3D0xB,IAUf1uB,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKS,MAAMnE,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,IAAMhE,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,OAU5IgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAO1F,EAAOX,MAAM+0B,MAAM51B,KAAKqb,IAAKrb,KAAKsM,UAUjDtF,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAQlH,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,IAAMhE,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,MAUtEiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,aAEzC4E,IAAK,WAED,QAAUlH,KAAKqb,IAAItX,EAAI/D,KAAKsM,MAAMvI,IAAM/D,KAAKqb,IAAIrX,EAAIhE,KAAKsM,MAAMtI,MAUxEgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,KAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,MAU/CiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,KAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,MAU/CgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,QAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,MAU/CiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAOxD,KAAKuC,IAAIjG,KAAKsM,MAAMvI,EAAG/D,KAAKqb,IAAItX,MAU/CiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,OAEzC4E,IAAK,WAED,OAAOxD,KAAK41B,IAAIt5B,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,MAU/CgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKuC,IAAIjG,KAAKsM,MAAMtI,EAAGhE,KAAKqb,IAAIrX,MAU/CgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,SAEzC4E,IAAK,WAED,OAAOxD,KAAKizB,IAAI32B,KAAKsM,MAAMvI,EAAI/D,KAAKqb,IAAItX,MAUhDiD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,UAEzC4E,IAAK,WAED,OAAOxD,KAAKizB,IAAI32B,KAAKsM,MAAMtI,EAAIhE,KAAKqb,IAAIrX,MAUhDgD,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,WAEzC4E,IAAK,WAED,OAAOxD,KAAKI,IAAI9D,KAAK41B,MAAQ,uBAUrC5uB,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,WAEzC4E,IAAK,WAED,OAAOxD,KAAKG,IAAI7D,KAAK41B,MAAQ,uBAUrC5uB,OAAOyF,eAAejL,EAAOy2B,KAAK31B,UAAW,eAEzC4E,IAAK,WAED,OAAO1F,EAAOkC,KAAKu2B,KAAKj6B,KAAK41B,MAAQ,oBAAqBlyB,KAAKsxB,GAAItxB,KAAKsxB,OAoBhFxzB,EAAOy2B,KAAKY,iBAAmB,SAAU31B,EAAGC,EAAGwL,EAAGskB,EAAG0F,EAAWC,QAE1CryB,IAAdoyB,IAA2BA,GAAY,QAC5BpyB,IAAXqyB,IAAwBA,EAAS,IAAIp3B,EAAOX,OAEhD,IAAIq5B,EAAK/2B,EAAEa,EAAId,EAAEc,EACbm2B,EAAKlH,EAAEjvB,EAAI2K,EAAE3K,EACbo2B,EAAKl3B,EAAEa,EAAIZ,EAAEY,EACbs2B,EAAK1rB,EAAE5K,EAAIkvB,EAAElvB,EACbu2B,EAAMn3B,EAAEY,EAAIb,EAAEc,EAAMd,EAAEa,EAAIZ,EAAEa,EAC5Bu2B,EAAMtH,EAAElvB,EAAI4K,EAAE3K,EAAM2K,EAAE5K,EAAIkvB,EAAEjvB,EAC5Bw2B,EAASN,EAAKG,EAAOF,EAAKC,EAE9B,GAAc,IAAVI,EAEA,OAAO,KAMX,GAHA5B,EAAO70B,GAAMq2B,EAAKG,EAAOF,EAAKC,GAAOE,EACrC5B,EAAO50B,GAAMm2B,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjC7B,EACJ,CACI,IAAI8B,GAAOxH,EAAEjvB,EAAI2K,EAAE3K,IAAMb,EAAEY,EAAIb,EAAEa,IAAMkvB,EAAElvB,EAAI4K,EAAE5K,IAAMZ,EAAEa,EAAId,EAAEc,GACzD02B,IAAQzH,EAAElvB,EAAI4K,EAAE5K,IAAMb,EAAEc,EAAI2K,EAAE3K,IAAOivB,EAAEjvB,EAAI2K,EAAE3K,IAAMd,EAAEa,EAAI4K,EAAE5K,IAAM02B,EACjEE,IAAQx3B,EAAEY,EAAIb,EAAEa,IAAMb,EAAEc,EAAI2K,EAAE3K,IAAQb,EAAEa,EAAId,EAAEc,IAAMd,EAAEa,EAAI4K,EAAE5K,IAAO02B,EAEvE,OAAIC,GAAM,GAAKA,GAAM,GAAKC,GAAM,GAAKA,GAAM,EAEhC/B,EAIA,KAIf,OAAOA,GAiBXp3B,EAAOy2B,KAAKzB,WAAa,SAAUtzB,EAAGC,EAAGw1B,EAAWC,GAEhD,OAAOp3B,EAAOy2B,KAAKY,iBAAiB31B,EAAEoJ,MAAOpJ,EAAEmY,IAAKlY,EAAEmJ,MAAOnJ,EAAEkY,IAAKsd,EAAWC,IAqBnFp3B,EAAOy2B,KAAKvB,oBAAsB,SAAUgC,EAAMkC,GAG9C,GAAoB,IAAhBlC,EAAK/1B,QAAgBi4B,EAAKC,MAE1B,OAAO,EAGX,IAAIvvB,EAAKotB,EAAKpsB,MAAMvI,EAChBwH,EAAKmtB,EAAKpsB,MAAMtI,EAEhBwH,EAAKktB,EAAKrd,IAAItX,EACd0H,EAAKitB,EAAKrd,IAAIrX,EAEd82B,EAAMF,EAAK72B,EACXg3B,EAAMH,EAAK52B,EACXg3B,EAAMJ,EAAKlH,MACXuH,EAAML,EAAKtE,OAEXzF,EAAI,EAOR,GAAKvlB,GAAMwvB,GAAOxvB,GAAM0vB,GAAOzvB,GAAMwvB,GAAOxvB,GAAM0vB,GAC7CzvB,GAAMsvB,GAAOtvB,GAAMwvB,GAAOvvB,GAAMsvB,GAAOtvB,GAAMwvB,EAE9C,OAAO,EAGX,GAAI3vB,EAAKwvB,GAAOtvB,GAAMsvB,GAKlB,IAFAjK,EAAItlB,GAAME,EAAKF,IAAOuvB,EAAMxvB,IAAOE,EAAKF,IAEhCyvB,GAAOlK,GAAKoK,EAEhB,OAAO,OAGV,GAAI3vB,EAAK0vB,GAAOxvB,GAAMwvB,IAGvBnK,EAAItlB,GAAME,EAAKF,IAAOyvB,EAAM1vB,IAAOE,EAAKF,KAE/ByvB,GAAOlK,GAAKoK,EAEjB,OAAO,EAIf,GAAI1vB,EAAKwvB,GAAOtvB,GAAMsvB,GAKlB,IAFAlK,EAAIvlB,GAAME,EAAKF,IAAOyvB,EAAMxvB,IAAOE,EAAKF,KAE/BuvB,GAAOjK,GAAKmK,EAEjB,OAAO,OAGV,GAAIzvB,EAAK0vB,GAAOxvB,GAAMwvB,IAGvBpK,EAAIvlB,GAAME,EAAKF,IAAO2vB,EAAM1vB,IAAOE,EAAKF,KAE/BuvB,GAAOjK,GAAKmK,EAEjB,OAAO,EAIf,OAAO,GAaXx5B,EAAOy2B,KAAKiD,0BAA4B,SAAUxC,EAAMkC,EAAMhC,GAE1D,IAAIuC,EAAO35B,EAAOy2B,KAAKiD,0BAElBtC,IAEDA,EAAS,IAAIp3B,EAAOX,OAGnBs6B,EAAKC,QAEND,EAAKC,OAAU,IAAI55B,EAAOy2B,KAAQ,IAAIz2B,EAAOy2B,KAAQ,IAAIz2B,EAAOy2B,KAAQ,IAAIz2B,EAAOy2B,OAGlFkD,EAAKE,mBAENF,EAAKE,iBAAmB,IAAI75B,EAAOX,OAGvC,IAAIu6B,EAAQD,EAAKC,MACbC,EAAmBF,EAAKE,iBAAiBl0B,IAAI,GAE7C2zB,EAAMF,EAAK72B,EACXg3B,EAAMH,EAAK52B,EACXg3B,EAAMJ,EAAKlH,MACXuH,EAAML,EAAKtE,OACXgF,EAAkBzwB,EAAAA,EAEtBuwB,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,EAAM74B,EAAI,EAAI64B,EAAOH,EAAM14B,GAAKA,IAErC,GAAIg2B,EAAKlC,WAAW+E,GAAM,EAAMF,GAChC,CACI,IAAI7F,EAAWkD,EAAKpsB,MAAMkpB,SAAS6F,GAE/B7F,EAAW8F,IAEXA,EAAkB9F,EAClBoD,EAAOvD,SAASgG,IAK5B,OAAgB,MAAZ7F,EAEOoD,EAGJ,MAYXp3B,EAAOy2B,KAAKa,QAAU,SAAU51B,EAAGC,GAE/B,OAAO,EAAIA,EAAEq4B,YAAc,kBAAoBt4B,EAAE0yB,OA4BrDp0B,EAAOC,OAAS,SAAUyB,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,GAM5CvD,KAAKkD,EAAIA,EAMTlD,KAAKmD,EAAIA,EAMTnD,KAAKoD,EAAIA,EAMTpD,KAAKqD,EAAIA,EAMTrD,KAAKsD,GAAKA,EAMVtD,KAAKuD,GAAKA,EAMVvD,KAAKwT,KAAOhS,EAAOksB,QAGvBlsB,EAAOC,OAAOa,WAkBVm5B,UAAW,SAAUC,GAEjB,OAAO17B,KAAKo1B,MAAMsG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAe9EtG,MAAO,SAAUlyB,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,GAS7B,OAPAvD,KAAKkD,EAAIA,EACTlD,KAAKmD,EAAIA,EACTnD,KAAKoD,EAAIA,EACTpD,KAAKqD,EAAIA,EACTrD,KAAKsD,GAAKA,EACVtD,KAAKuD,GAAKA,EAEHvD,MAYXk0B,MAAO,SAAUwB,GAgBb,YAdenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOC,OAAOzB,KAAKkD,EAAGlD,KAAKmD,EAAGnD,KAAKoD,EAAGpD,KAAKqD,EAAGrD,KAAKsD,GAAItD,KAAKuD,KAIzEmyB,EAAOxyB,EAAIlD,KAAKkD,EAChBwyB,EAAOvyB,EAAInD,KAAKmD,EAChBuyB,EAAOtyB,EAAIpD,KAAKoD,EAChBsyB,EAAOryB,EAAIrD,KAAKqD,EAChBqyB,EAAOpyB,GAAKtD,KAAKsD,GACjBoyB,EAAOnyB,GAAKvD,KAAKuD,IAGdmyB,GAUXJ,OAAQ,SAAU5nB,GAId,OAFAA,EAAO2nB,SAASr1B,MAET0N,GAUX2nB,SAAU,SAAU3nB,GAShB,OAPA1N,KAAKkD,EAAIwK,EAAOxK,EAChBlD,KAAKmD,EAAIuK,EAAOvK,EAChBnD,KAAKoD,EAAIsK,EAAOtK,EAChBpD,KAAKqD,EAAIqK,EAAOrK,EAChBrD,KAAKsD,GAAKoK,EAAOpK,GACjBtD,KAAKuD,GAAKmK,EAAOnK,GAEVvD,MAWXggB,QAAS,SAAU7K,EAAWumB,GA6B1B,YA3Bcn1B,IAAVm1B,IAAuBA,EAAQ,IAAIrZ,aAAa,IAEhDlN,GAEAumB,EAAM,GAAK17B,KAAKkD,EAChBw4B,EAAM,GAAK17B,KAAKmD,EAChBu4B,EAAM,GAAK,EACXA,EAAM,GAAK17B,KAAKoD,EAChBs4B,EAAM,GAAK17B,KAAKqD,EAChBq4B,EAAM,GAAK,EACXA,EAAM,GAAK17B,KAAKsD,GAChBo4B,EAAM,GAAK17B,KAAKuD,GAChBm4B,EAAM,GAAK,IAIXA,EAAM,GAAK17B,KAAKkD,EAChBw4B,EAAM,GAAK17B,KAAKoD,EAChBs4B,EAAM,GAAK17B,KAAKsD,GAChBo4B,EAAM,GAAK17B,KAAKmD,EAChBu4B,EAAM,GAAK17B,KAAKqD,EAChBq4B,EAAM,GAAK17B,KAAKuD,GAChBm4B,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAaXn2B,MAAO,SAAUo2B,EAAKC,GAOlB,YALer1B,IAAXq1B,IAAwBA,EAAS,IAAIp6B,EAAOX,OAEhD+6B,EAAO73B,EAAI/D,KAAKkD,EAAIy4B,EAAI53B,EAAI/D,KAAKoD,EAAIu4B,EAAI33B,EAAIhE,KAAKsD,GAClDs4B,EAAO53B,EAAIhE,KAAKmD,EAAIw4B,EAAI53B,EAAI/D,KAAKqD,EAAIs4B,EAAI33B,EAAIhE,KAAKuD,GAE3Cq4B,GAaXl2B,aAAc,SAAUi2B,EAAKC,QAEVr1B,IAAXq1B,IAAwBA,EAAS,IAAIp6B,EAAOX,OAEhD,IAAIqT,EAAK,GAAKlU,KAAKkD,EAAIlD,KAAKqD,EAAIrD,KAAKoD,GAAKpD,KAAKmD,GAC3CY,EAAI43B,EAAI53B,EACRC,EAAI23B,EAAI33B,EAKZ,OAHA43B,EAAO73B,EAAI/D,KAAKqD,EAAI6Q,EAAKnQ,GAAK/D,KAAKoD,EAAI8Q,EAAKlQ,GAAKhE,KAAKuD,GAAKvD,KAAKoD,EAAIpD,KAAKsD,GAAKtD,KAAKqD,GAAK6Q,EACxF0nB,EAAO53B,EAAIhE,KAAKkD,EAAIgR,EAAKlQ,GAAKhE,KAAKmD,EAAI+Q,EAAKnQ,IAAM/D,KAAKuD,GAAKvD,KAAKkD,EAAIlD,KAAKsD,GAAKtD,KAAKmD,GAAK+Q,EAElF0nB,GAYXC,UAAW,SAAU93B,EAAGC,GAKpB,OAHAhE,KAAKsD,IAAMS,EACX/D,KAAKuD,IAAMS,EAEJhE,MAWXc,MAAO,SAAUiD,EAAGC,GAShB,OAPAhE,KAAKkD,GAAKa,EACV/D,KAAKqD,GAAKW,EACVhE,KAAKoD,GAAKW,EACV/D,KAAKmD,GAAKa,EACVhE,KAAKsD,IAAMS,EACX/D,KAAKuD,IAAMS,EAEJhE,MAUXw4B,OAAQ,SAAU5C,GAEd,IAAI9xB,EAAMJ,KAAKI,IAAI8xB,GACf/xB,EAAMH,KAAKG,IAAI+xB,GAEfsE,EAAKl6B,KAAKkD,EACVo3B,EAAKt6B,KAAKoD,EACV04B,EAAM97B,KAAKsD,GASf,OAPAtD,KAAKkD,EAAIg3B,EAAKp2B,EAAM9D,KAAKmD,EAAIU,EAC7B7D,KAAKmD,EAAI+2B,EAAKr2B,EAAM7D,KAAKmD,EAAIW,EAC7B9D,KAAKoD,EAAIk3B,EAAKx2B,EAAM9D,KAAKqD,EAAIQ,EAC7B7D,KAAKqD,EAAIi3B,EAAKz2B,EAAM7D,KAAKqD,EAAIS,EAC7B9D,KAAKsD,GAAKw4B,EAAMh4B,EAAM9D,KAAKuD,GAAKM,EAChC7D,KAAKuD,GAAKu4B,EAAMj4B,EAAM7D,KAAKuD,GAAKO,EAEzB9D,MAUX+7B,OAAQ,SAAUruB,GAEd,IAAIwsB,EAAKl6B,KAAKkD,EACVk3B,EAAKp6B,KAAKmD,EACVm3B,EAAKt6B,KAAKoD,EACV44B,EAAKh8B,KAAKqD,EAUd,OARArD,KAAKkD,EAAIwK,EAAOxK,EAAIg3B,EAAKxsB,EAAOvK,EAAIm3B,EACpCt6B,KAAKmD,EAAIuK,EAAOxK,EAAIk3B,EAAK1sB,EAAOvK,EAAI64B,EACpCh8B,KAAKoD,EAAIsK,EAAOtK,EAAI82B,EAAKxsB,EAAOrK,EAAIi3B,EACpCt6B,KAAKqD,EAAIqK,EAAOtK,EAAIg3B,EAAK1sB,EAAOrK,EAAI24B,EAEpCh8B,KAAKsD,GAAKoK,EAAOpK,GAAK42B,EAAKxsB,EAAOnK,GAAK+2B,EAAKt6B,KAAKsD,GACjDtD,KAAKuD,GAAKmK,EAAOpK,GAAK82B,EAAK1sB,EAAOnK,GAAKy4B,EAAKh8B,KAAKuD,GAE1CvD,MASXi8B,SAAU,WAEN,OAAOj8B,KAAKo1B,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAKzC5zB,EAAOgJ,eAAiB,IAAIhJ,EAAOC,OAmBnCD,EAAOX,MAAQ,SAAUkD,EAAGC,GAExBD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAKThE,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAMThE,KAAKwT,KAAOhS,EAAOmsB,OAGvBnsB,EAAOX,MAAMyB,WAST+yB,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,IASvCk4B,OAAQ,WAEJ,OAAOl8B,KAAKo1B,MAAMp1B,KAAKgE,EAAGhE,KAAK+D,IAenCqxB,MAAO,SAAUrxB,EAAGC,GAEhB,OAAOxC,EAAOX,MAAMsG,IAAInH,KAAM+D,EAAGC,IAerCmD,IAAK,SAAUpD,EAAGC,GAEd,OAAOxC,EAAOX,MAAMsG,IAAInH,KAAM+D,EAAGC,IAYrCm4B,WAAY,SAAUC,EAASjH,EAAQU,GAKnC,OAHc,MAAVV,IAAkBA,EAAS,GAC3BU,IAAauG,EAAU56B,EAAOkC,KAAK+yB,SAAS2F,IAEzCp8B,KAAKo1B,MAAM1xB,KAAKI,IAAIs4B,GAAWjH,EAAQzxB,KAAKG,IAAIu4B,GAAWjH,IAWtE8D,IAAK,SAAUl1B,EAAGC,GAId,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXq8B,SAAU,SAAUt4B,EAAGC,GAInB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXs8B,SAAU,SAAUv4B,EAAGC,GAInB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXu8B,OAAQ,SAAUx4B,EAAGC,GAIjB,OAFAhE,KAAK+D,GAAKA,EACV/D,KAAKgE,GAAKA,EACHhE,MAWXw8B,OAAQ,SAAUlD,EAAKrzB,GAGnB,OADAjG,KAAK+D,EAAIvC,EAAOkC,KAAK+4B,MAAMz8B,KAAK+D,EAAGu1B,EAAKrzB,GACjCjG,MAWX08B,OAAQ,SAAUpD,EAAKrzB,GAGnB,OADAjG,KAAKgE,EAAIxC,EAAOkC,KAAK+4B,MAAMz8B,KAAKgE,EAAGs1B,EAAKrzB,GACjCjG,MAWXy8B,MAAO,SAAUnD,EAAKrzB,GAIlB,OAFAjG,KAAK+D,EAAIvC,EAAOkC,KAAK+4B,MAAMz8B,KAAK+D,EAAGu1B,EAAKrzB,GACxCjG,KAAKgE,EAAIxC,EAAOkC,KAAK+4B,MAAMz8B,KAAKgE,EAAGs1B,EAAKrzB,GACjCjG,MAUXuoB,KAAM,SAAUqS,GAEZ,IAAIjH,EAAOiH,EAAKjH,KACZ0C,EAAMuE,EAAKvE,IACX3C,EAAQkH,EAAKlH,MACb4C,EAASsE,EAAKtE,OAOlB,OALIt2B,KAAK+D,EAAI4vB,EAAQ3zB,KAAK+D,EAAI4vB,EACrB3zB,KAAK+D,EAAI2vB,IAAS1zB,KAAK+D,EAAI2vB,GAChC1zB,KAAKgE,EAAIqyB,EAAOr2B,KAAKgE,EAAIqyB,EACpBr2B,KAAKgE,EAAIsyB,IAAUt2B,KAAKgE,EAAIsyB,GAE9Bt2B,MAUXk0B,MAAO,SAAUwB,GAWb,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKgE,GAIvC0xB,EAAON,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,GAGvB0xB,GAUXJ,OAAQ,SAAUC,GAKd,OAHAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EAEPuxB,GAWXC,SAAU,SAAUD,EAAME,GAEtB,OAAOj0B,EAAOX,MAAM20B,SAASx1B,KAAMu1B,EAAME,IAU7Cc,OAAQ,SAAUrzB,GAEd,OAAOA,EAAEa,IAAM/D,KAAK+D,GAAKb,EAAEc,IAAMhE,KAAKgE,GAW1C24B,SAAU,SAAU54B,EAAGC,GAEnB,OAAOhE,KAAK+D,IAAMA,GAAK/D,KAAKgE,IAAMA,GAGtC44B,YAAa,SAAU15B,EAAGi2B,GAEtB,OAAO33B,EAAOX,MAAM+7B,YAAY58B,KAAMkD,EAAGi2B,IAG7C0D,cAAe,SAAU94B,EAAGC,EAAGm1B,GAE3B,OAAO33B,EAAOX,MAAMg8B,cAAc78B,KAAM+D,EAAGC,EAAGm1B,IAWlDvD,MAAO,SAAU1yB,EAAG2yB,GAEhB,OAAO71B,KAAK88B,QAAQ55B,EAAEa,EAAGb,EAAEc,EAAG6xB,IAYlCiH,QAAS,SAAU/4B,EAAGC,EAAG6xB,GAErB,IAAID,EAAQlyB,KAAKq5B,MAAM/4B,EAAIhE,KAAKgE,EAAGD,EAAI/D,KAAK+D,GAE5C,OAAI8xB,EAEOr0B,EAAOkC,KAAKs5B,SAASpH,GAIrBA,GAWfqH,KAAM,SAAUpH,GAEZ,IAAID,EAAQlyB,KAAKq5B,MAAM/8B,KAAKgE,EAAGhE,KAAK+D,GAEpC,OAAI8xB,EAEOr0B,EAAOkC,KAAKs5B,SAASpH,GAIrBA,GAef4C,OAAQ,SAAUz0B,EAAGC,EAAG4xB,EAAOC,EAAWL,GAEtC,OAAOh0B,EAAOX,MAAM23B,OAAOx4B,KAAM+D,EAAGC,EAAG4xB,EAAOC,EAAWL,IAS7D0H,aAAc,WAEV,OAAOx5B,KAAKS,KAAMnE,KAAK+D,EAAI/D,KAAK+D,EAAM/D,KAAKgE,EAAIhE,KAAKgE,IASxDm5B,eAAgB,WAEZ,OAAQn9B,KAAK+D,EAAI/D,KAAK+D,EAAM/D,KAAKgE,EAAIhE,KAAKgE,GAU9Co5B,aAAc,SAAUC,GAEpB,OAAOr9B,KAAKs9B,YAAYhB,SAASe,EAAWA,IAShDC,UAAW,WAEP,IAAKt9B,KAAKu9B,SACV,CACI,IAAInG,EAAIp3B,KAAKk9B,eACbl9B,KAAK+D,GAAKqzB,EACVp3B,KAAKgE,GAAKozB,EAGd,OAAOp3B,MAWXw9B,MAAO,SAAUv3B,GAOb,OALIjG,KAAKm9B,iBAAmBl3B,EAAMA,GAE9BjG,KAAKo9B,aAAan3B,GAGfjG,MAWXy9B,OAAQ,SAAUnE,GAOd,OALIt5B,KAAKm9B,iBAAmB7D,EAAMA,GAE9Bt5B,KAAKo9B,aAAa9D,GAGft5B,MASXu9B,OAAQ,WAEJ,OAAmB,IAAXv9B,KAAK+D,GAAsB,IAAX/D,KAAKgE,GAUjC05B,IAAK,SAAUx6B,GAEX,OAASlD,KAAK+D,EAAIb,EAAEa,EAAM/D,KAAKgE,EAAId,EAAEc,GAUzC25B,MAAO,SAAUz6B,GAEb,OAASlD,KAAK+D,EAAIb,EAAEc,EAAMhE,KAAKgE,EAAId,EAAEa,GASzC65B,KAAM,WAEF,OAAO59B,KAAKo1B,OAAOp1B,KAAKgE,EAAGhE,KAAK+D,IASpC85B,MAAO,WAEH,OAAO79B,KAAKo1B,MAAMp1B,KAAKgE,GAAIhE,KAAK+D,IASpC+5B,gBAAiB,WAEb,OAAO99B,KAAKo1B,OAAgB,EAAVp1B,KAAKgE,EAAQhE,KAAK+D,IASxC8rB,MAAO,WAEH,OAAO7vB,KAAKo1B,MAAM1xB,KAAKmsB,MAAM7vB,KAAK+D,GAAIL,KAAKmsB,MAAM7vB,KAAKgE,KAS1DkC,KAAM,WAEF,OAAOlG,KAAKo1B,MAAM1xB,KAAKwC,KAAKlG,KAAK+D,GAAIL,KAAKwC,KAAKlG,KAAKgE,KASxDyxB,MAAO,WAEH,OAAOz1B,KAAKo1B,MAAM1xB,KAAK+xB,MAAMz1B,KAAK+D,GAAIL,KAAK+xB,MAAMz1B,KAAKgE,KAS1D4kB,SAAU,WAEN,MAAO,cAAgB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,QAKzDxC,EAAOX,MAAMyB,UAAUC,YAAcf,EAAOX,MAW5CW,EAAOX,MAAMo4B,IAAM,SAAU/1B,EAAGC,EAAG8xB,GAO/B,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAYXzzB,EAAOX,MAAMw7B,SAAW,SAAUn5B,EAAGC,EAAG8xB,GAOpC,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAYXzzB,EAAOX,MAAMy7B,SAAW,SAAUp5B,EAAGC,EAAG8xB,GAOpC,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAYXzzB,EAAOX,MAAM07B,OAAS,SAAUr5B,EAAGC,EAAG8xB,GAOlC,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBkxB,EAAIjxB,EAAId,EAAEc,EAAIb,EAAEa,EAETixB,GAWXzzB,EAAOX,MAAM01B,OAAS,SAAUrzB,EAAGC,GAE/B,OAAOD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAGpCxC,EAAOX,MAAM87B,SAAW,SAAUz5B,EAAGa,EAAGC,GAEpC,OAAOd,EAAEa,IAAMA,GAAKb,EAAEc,IAAMA,GAGhCxC,EAAOX,MAAM+7B,YAAc,SAAU15B,EAAGC,EAAGg2B,GAEvC,OAAO33B,EAAOkC,KAAK01B,WAAWl2B,EAAEa,EAAGZ,EAAEY,EAAGo1B,IACjC33B,EAAOkC,KAAK01B,WAAWl2B,EAAEc,EAAGb,EAAEa,EAAGm1B,IAG5C33B,EAAOX,MAAMg8B,cAAgB,SAAU35B,EAAGa,EAAGC,EAAGm1B,GAE5C,OAAO33B,EAAOkC,KAAK01B,WAAWl2B,EAAEa,EAAGA,EAAGo1B,IAC/B33B,EAAOkC,KAAK01B,WAAWl2B,EAAEc,EAAGA,EAAGm1B,IAW1C33B,EAAOX,MAAM+0B,MAAQ,SAAU1yB,EAAGC,GAE9B,OAAOO,KAAKq5B,MAAM75B,EAAEc,EAAIb,EAAEa,EAAGd,EAAEa,EAAIZ,EAAEY,IAWzCvC,EAAOX,MAAMk9B,SAAW,SAAU76B,EAAG+xB,GAIjC,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,OAAOlyB,EAAEa,GAAIb,EAAEc,IAa9BxC,EAAOX,MAAMm9B,YAAc,SAAU96B,EAAGC,EAAGkB,EAAG4wB,GAI1C,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,MAAMlyB,EAAEa,EAAIZ,EAAEY,EAAIM,EAAGnB,EAAEc,EAAIb,EAAEa,EAAIK,IAahD7C,EAAOX,MAAMo9B,YAAc,SAAU/6B,EAAGC,EAAG8vB,EAAGgC,GAI1C,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,MAAMlyB,EAAEa,GAAKZ,EAAEY,EAAIb,EAAEa,GAAKkvB,EAAG/vB,EAAEc,GAAKb,EAAEa,EAAId,EAAEc,GAAKivB,IAWhEzxB,EAAOX,MAAM+8B,KAAO,SAAU16B,EAAG+xB,GAI7B,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,OAAOlyB,EAAEc,EAAGd,EAAEa,IAW7BvC,EAAOX,MAAMg9B,MAAQ,SAAU36B,EAAG+xB,GAI9B,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,MAAMlyB,EAAEc,GAAId,EAAEa,IAY7BvC,EAAOX,MAAM20B,SAAW,SAAUtyB,EAAGC,EAAGsyB,GAEpC,IAAID,EAAWh0B,EAAOkC,KAAK8xB,SAAStyB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,GACrD,OAAOyxB,EAAQ/xB,KAAK+xB,MAAMD,GAAYA,GAY1Ch0B,EAAOX,MAAMq9B,QAAU,SAAUh7B,EAAGC,EAAG8xB,QAEvB1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIs9B,EAAMj7B,EAAEw6B,IAAIv6B,GAAKA,EAAEg6B,iBAOvB,OALY,IAARgB,GAEAlJ,EAAIG,MAAM+I,EAAMh7B,EAAEY,EAAGo6B,EAAMh7B,EAAEa,GAG1BixB,GAYXzzB,EAAOX,MAAMu9B,YAAc,SAAUl7B,EAAGC,EAAG8xB,QAE3B1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIs9B,EAAMj7B,EAAEw6B,IAAIv6B,GAOhB,OALY,IAARg7B,GAEAlJ,EAAIG,MAAM+I,EAAMh7B,EAAEY,EAAGo6B,EAAMh7B,EAAEa,GAG1BixB,GAWXzzB,EAAOX,MAAMi9B,gBAAkB,SAAU56B,EAAG+xB,GAIxC,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEnCo0B,EAAIG,OAAa,EAAPlyB,EAAEc,EAAQd,EAAEa,IAWjCvC,EAAOX,MAAMy8B,UAAY,SAAUp6B,EAAG+xB,QAEtB1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1C,IAAIu2B,EAAIl0B,EAAEg6B,eAOV,OALU,IAAN9F,GAEAnC,EAAIG,MAAMlyB,EAAEa,EAAIqzB,EAAGl0B,EAAEc,EAAIozB,GAGtBnC,GAoBXzzB,EAAOX,MAAM23B,OAAS,SAAUt1B,EAAGa,EAAGC,EAAG4xB,EAAOC,EAAWL,GAIvD,GAFIK,IAAaD,EAAQp0B,EAAOkC,KAAK+yB,SAASb,SAE7BrvB,IAAbivB,EACJ,CACItyB,EAAEm5B,SAASt4B,EAAGC,GAEd,IAAIK,EAAIX,KAAKG,IAAI+xB,GACbxyB,EAAIM,KAAKI,IAAI8xB,GAEbtyB,EAAKF,EAAIF,EAAEa,EAAIM,EAAInB,EAAEc,EACrBT,EAAKc,EAAInB,EAAEa,EAAIX,EAAIF,EAAEc,EAEzBd,EAAEa,EAAIT,EAAKS,EACXb,EAAEc,EAAIT,EAAKS,MAGf,CACI,IAAI6sB,EAAI+E,EAAQlyB,KAAKq5B,MAAM75B,EAAEc,EAAIA,EAAGd,EAAEa,EAAIA,GAC1Cb,EAAEa,EAAIA,EAAIyxB,EAAW9xB,KAAKI,IAAI+sB,GAC9B3tB,EAAEc,EAAIA,EAAIwxB,EAAW9xB,KAAKG,IAAIgtB,GAGlC,OAAO3tB,GAWX1B,EAAOX,MAAMw9B,SAAW,SAAUC,EAAQrJ,GAItC,QAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAEK,mBAA3CmG,OAAO1E,UAAUsmB,SAASpkB,KAAK85B,GAE/B,MAAM,IAAIv1B,MAAM,qDAGpB,IAAIw1B,EAAeD,EAAO37B,OAE1B,GAAI47B,EAAe,EAEf,MAAM,IAAIx1B,MAAM,4DAGpB,GAAqB,IAAjBw1B,EAGA,OADAtJ,EAAII,SAASiJ,EAAO,IACbrJ,EAGX,IAAK,IAAIvyB,EAAI,EAAGA,EAAI67B,EAAc77B,IAE9BlB,EAAOX,MAAMo4B,IAAIhE,EAAKqJ,EAAO57B,GAAIuyB,GAKrC,OAFAA,EAAIsH,OAAOgC,EAAcA,GAElBtJ,GAcXzzB,EAAOX,MAAM29B,MAAQ,SAAUzM,EAAK0M,EAAOC,GAEvCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,IAEjB,IAAItI,EAAQ,IAAI50B,EAAOX,MAYvB,OAVIkxB,EAAI0M,KAEJrI,EAAMryB,EAAI46B,WAAW5M,EAAI0M,KAGzB1M,EAAI2M,KAEJtI,EAAMpyB,EAAI26B,WAAW5M,EAAI2M,KAGtBtI,GAWX50B,EAAOX,MAAM+uB,MAAQ,SAAUmC,GAK3B,OAHAA,EAAIhuB,EAAIvC,EAAOkC,KAAKksB,MAAMmC,EAAIhuB,GAC9BguB,EAAI/tB,EAAIxC,EAAOkC,KAAKksB,MAAMmC,EAAI/tB,GAEvB+tB,GAWXvwB,EAAOX,MAAM+9B,QAAU,SAAU7M,GAE7B,OAAe,MAAPA,GAAkC,iBAAVA,EAAIhuB,GAAqC,iBAAVguB,EAAI/tB,GAavExC,EAAOX,MAAMsG,IAAM,SAAU4qB,EAAKhuB,EAAGC,GAKjC,OAHA+tB,EAAIhuB,EAAIA,GAAK,EACbguB,EAAI/tB,EAAIA,IAAa,IAANA,EAAW+tB,EAAIhuB,EAAI,GAE3BguB,GAiBXvwB,EAAOX,MAAMg+B,cAAgB,SAAUP,EAAQQ,GAItCA,IAEDA,EAAS9+B,KAAKq+B,SAASC,IAG3B,IAAIpvB,EAAK4vB,EAAO/6B,EACZoL,EAAK2vB,EAAO96B,EA+ChB,OAAOs6B,EAAOS,KA7CH,SAAU77B,EAAGC,GAEpB,GAAID,EAAEa,EAAImL,GAAM,GAAK/L,EAAEY,EAAImL,EAAK,EAE5B,OAAQ,EAGZ,GAAIhM,EAAEa,EAAImL,EAAK,GAAK/L,EAAEY,EAAImL,GAAM,EAE5B,OAAO,EAGX,GAAIhM,EAAEa,EAAImL,GAAO,GAAK/L,EAAEY,EAAImL,GAAO,EAE/B,OAAIhM,EAAEc,EAAImL,GAAM,GAAKhM,EAAEa,EAAImL,GAAM,EAErBjM,EAAEc,EAAIb,EAAEa,EAAK,GAAK,EAGtBb,EAAEa,EAAId,EAAEc,EAAK,GAAK,EAI9B,IAAIg7B,GAAO97B,EAAEa,EAAImL,KAAQ/L,EAAEa,EAAImL,IAAOhM,EAAEY,EAAImL,KAAQhM,EAAEc,EAAImL,GAE1D,OAAI6vB,EAAM,GAEE,EAGRA,EAAM,EAEC,GAOD97B,EAAEa,EAAImL,IAAOhM,EAAEa,EAAImL,IAAOhM,EAAEc,EAAImL,IAAOjM,EAAEc,EAAImL,IAC7ChM,EAAEY,EAAImL,IAAO/L,EAAEY,EAAImL,IAAO/L,EAAEa,EAAImL,IAAOhM,EAAEa,EAAImL,IAEnC,EAAI,KAQhC3Q,KAAKqC,MAAQW,EAAOX,MAyBpBW,EAAOy9B,QAAU,WAKbj/B,KAAKk/B,KAAO,EAMZl/B,KAAKm/B,WAED7O,UAAU3tB,OAAS,GAEnB3C,KAAKo1B,MAAM7vB,MAAMvF,KAAMswB,WAM3BtwB,KAAKo/B,QAAS,EAKdp/B,KAAKq/B,WAAY,EAKjBr/B,KAAKwT,KAAOhS,EAAOsrB,SAGvBtrB,EAAOy9B,QAAQ38B,WASXg9B,cAAe,SAAU5J,QAENnvB,IAAXmvB,IAAwBA,MAE5B,IAAK,IAAIhzB,EAAI,EAAGA,EAAI1C,KAAKm/B,QAAQx8B,OAAQD,IAEN,iBAApB1C,KAAKm/B,QAAQz8B,IAEpBgzB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,IACzBgzB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,EAAI,IAC7BA,MAIAgzB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,GAAGqB,GAC5B2xB,EAAO5tB,KAAK9H,KAAKm/B,QAAQz8B,GAAGsB,IAIpC,OAAO0xB,GAWX6J,QAAS,WAML,OAJAv/B,KAAKm/B,QAAUn/B,KAAKs/B,gBAEpBt/B,KAAKq/B,WAAY,EAEVr/B,MAWXk0B,MAAO,SAAUwB,GAEb,IAAI4I,EAASt+B,KAAKm/B,QAAQnP,QAW1B,YATezpB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOy9B,QAAQX,GAI5B5I,EAAON,MAAMkJ,GAGV5I,GAWXprB,SAAU,SAAUvG,EAAGC,GAInB,IAAIw7B,GAAS,EAEb,GAAIx/B,KAAKq/B,UAEL,IAAK,IAAI38B,GAAK,EAAGmF,EAAI7H,KAAKm/B,QAAQx8B,OAAS,GAAID,GAAK,GAAK1C,KAAKm/B,QAAQx8B,OAAQkF,EAAInF,EAClF,CACI,IAAI+8B,EAAKz/B,KAAKm/B,QAAQz8B,GAClBg9B,EAAK1/B,KAAKm/B,QAAQz8B,EAAI,GAEtBi9B,EAAK3/B,KAAKm/B,QAAQt3B,GAClB+3B,EAAK5/B,KAAKm/B,QAAQt3B,EAAI,IAEpB63B,GAAM17B,GAAKA,EAAI47B,GAAQA,GAAM57B,GAAKA,EAAI07B,IAAS37B,GAAK47B,EAAKF,IAAOz7B,EAAI07B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,QAMlB,IAAK,IAAI98B,GAAK,EAAGmF,EAAI7H,KAAKm/B,QAAQx8B,OAAS,IAAKD,EAAI1C,KAAKm/B,QAAQx8B,OAAQkF,EAAInF,EAC7E,CACI,IAAI+8B,EAAKz/B,KAAKm/B,QAAQz8B,GAAGqB,EACrB27B,EAAK1/B,KAAKm/B,QAAQz8B,GAAGsB,EAErB27B,EAAK3/B,KAAKm/B,QAAQt3B,GAAG9D,EACrB67B,EAAK5/B,KAAKm/B,QAAQt3B,GAAG7D,GAEnB07B,GAAM17B,GAAKA,EAAI47B,GAAQA,GAAM57B,GAAKA,EAAI07B,IAAS37B,GAAK47B,EAAKF,IAAOz7B,EAAI07B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,GAKtB,OAAOA,GAsBXpK,MAAO,SAAUkJ,GAKb,GAHAt+B,KAAKk/B,KAAO,EACZl/B,KAAKm/B,WAED7O,UAAU3tB,OAAS,EACvB,CAES8E,MAAMC,QAAQ42B,KAEfA,EAAS72B,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,YAMxC,IAAK,IAHDnM,EAAK0b,OAAOC,UAGPp9B,EAAI,EAAGouB,EAAMwN,EAAO37B,OAAQD,EAAIouB,EAAKpuB,IAC9C,CACI,GAAyB,iBAAd47B,EAAO57B,GAClB,CACQM,EAAI,IAAIxE,KAAKqC,MAAMy9B,EAAO57B,GAAI47B,EAAO57B,EAAI,IAC7CA,SAEC,GAAI+E,MAAMC,QAAQ42B,EAAO57B,IAEtBM,EAAI,IAAIxE,KAAKqC,MAAMy9B,EAAO57B,GAAG,GAAI47B,EAAO57B,GAAG,SAI/C,IAAIM,EAAI,IAAIxE,KAAKqC,MAAMy9B,EAAO57B,GAAGqB,EAAGu6B,EAAO57B,GAAGsB,GAGlDhE,KAAKm/B,QAAQr3B,KAAK9E,GAGdA,EAAEgB,EAAImgB,IAENA,EAAKnhB,EAAEgB,GAIfhE,KAAK+/B,cAAc5b,GAGvB,OAAOnkB,MAWX+/B,cAAe,SAAU5b,GAOrB,IAAK,IALDqT,EACAwI,EACAC,EACAriC,EAEK8E,EAAI,EAAGouB,EAAM9wB,KAAKm/B,QAAQx8B,OAAQD,EAAIouB,EAAKpuB,IAEhD80B,EAAKx3B,KAAKm/B,QAAQz8B,GAIds9B,EAFAt9B,IAAMouB,EAAM,EAEP9wB,KAAKm/B,QAAQ,GAIbn/B,KAAKm/B,QAAQz8B,EAAI,GAG1Bu9B,GAAczI,EAAGxzB,EAAImgB,GAAO6b,EAAGh8B,EAAImgB,IAAO,EAC1CvmB,EAAQ45B,EAAGzzB,EAAIi8B,EAAGj8B,EAClB/D,KAAKk/B,MAAQe,EAAYriC,EAG7B,OAAOoC,KAAKk/B,OAKpB19B,EAAOy9B,QAAQ38B,UAAUC,YAAcf,EAAOy9B,QAW9Cj4B,OAAOyF,eAAejL,EAAOy9B,QAAQ38B,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKm/B,WAMpB3gC,KAAKygC,QAAUz9B,EAAOy9B,QAmBtBz9B,EAAOS,UAAY,SAAU8B,EAAGC,EAAGpG,EAAOC,GAEtCkG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKwT,KAAOhS,EAAOgsB,WAGvBhsB,EAAOS,UAAUK,WASbmV,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHArO,KAAK+D,GAAKoK,EACVnO,KAAKgE,GAAKqK,EAEHrO,MASXm2B,YAAa,SAAUC,GAEnB,OAAOp2B,KAAKyX,OAAO2e,EAAMryB,EAAGqyB,EAAMpyB,IAYtCoxB,MAAO,SAAUrxB,EAAGC,EAAGpG,EAAOC,GAO1B,OALAmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EACThE,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MAWXc,MAAO,SAAUiD,EAAGC,GAOhB,YALUuC,IAANvC,IAAmBA,EAAID,GAE3B/D,KAAKpC,OAASmG,EACd/D,KAAKnC,QAAUmG,EAERhE,MAWXg5B,SAAU,SAAUj1B,EAAGC,GAKnB,OAHAhE,KAAK63B,QAAU9zB,EACf/D,KAAK83B,QAAU9zB,EAERhE,MAOX6vB,MAAO,WAEH7vB,KAAK+D,EAAIL,KAAKmsB,MAAM7vB,KAAK+D,GACzB/D,KAAKgE,EAAIN,KAAKmsB,MAAM7vB,KAAKgE,IAO7Bk8B,SAAU,WAENlgC,KAAK+D,EAAIL,KAAKmsB,MAAM7vB,KAAK+D,GACzB/D,KAAKgE,EAAIN,KAAKmsB,MAAM7vB,KAAKgE,GACzBhE,KAAKpC,MAAQ8F,KAAKmsB,MAAM7vB,KAAKpC,OAC7BoC,KAAKnC,OAAS6F,KAAKmsB,MAAM7vB,KAAKnC,SAOlCqI,KAAM,WAEFlG,KAAK+D,EAAIL,KAAKwC,KAAKlG,KAAK+D,GACxB/D,KAAKgE,EAAIN,KAAKwC,KAAKlG,KAAKgE,IAO5Bm8B,QAAS,WAELngC,KAAK+D,EAAIL,KAAKwC,KAAKlG,KAAK+D,GACxB/D,KAAKgE,EAAIN,KAAKwC,KAAKlG,KAAKgE,GACxBhE,KAAKpC,MAAQ8F,KAAKwC,KAAKlG,KAAKpC,OAC5BoC,KAAKnC,OAAS6F,KAAKwC,KAAKlG,KAAKnC,SASjCw3B,SAAU,SAAUjmB,GAEhB,OAAOpP,KAAKo1B,MAAMhmB,EAAOrL,EAAGqL,EAAOpL,EAAGoL,EAAOxR,MAAOwR,EAAOvR,SAS/DuiC,eAAgB,SAAUhxB,GAEtB,OAAOpP,KAAKo1B,MAAMhmB,EAAOukB,KAAMvkB,EAAOinB,IAAKjnB,EAAOxR,MAAOwR,EAAOvR,SASpEy3B,OAAQ,SAAUC,GAOd,OALAA,EAAKxxB,EAAI/D,KAAK+D,EACdwxB,EAAKvxB,EAAIhE,KAAKgE,EACduxB,EAAK33B,MAAQoC,KAAKpC,MAClB23B,EAAK13B,OAASmC,KAAKnC,OAEZ03B,GAUX8K,QAAS,SAAUlyB,EAAIE,GAEnB,OAAO7M,EAAOS,UAAUo+B,QAAQrgC,KAAMmO,EAAIE,IAS9CyT,KAAM,SAAU4T,GAEZ,OAAOl0B,EAAOS,UAAU6f,KAAK9hB,KAAM01B,IAYvCvvB,OAAQ,SAAUvI,EAAOC,GAKrB,OAHAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MASXk0B,MAAO,SAAUwB,GAEb,OAAOl0B,EAAOS,UAAUiyB,MAAMl0B,KAAM01B,IAUxCprB,SAAU,SAAUvG,EAAGC,GAEnB,OAAOxC,EAAOS,UAAUqI,SAAStK,KAAM+D,EAAGC,IAU9Cs8B,aAAc,SAAUn9B,GAEpB,OAAO3B,EAAOS,UAAUq+B,aAAan9B,EAAGnD,OAU5Cu2B,OAAQ,SAAUpzB,GAEd,OAAO3B,EAAOS,UAAUs0B,OAAOv2B,KAAMmD,IAUzCo9B,aAAc,SAAUp9B,EAAG8xB,GAEvB,OAAOzzB,EAAOS,UAAUs+B,aAAavgC,KAAMmD,EAAG8xB,IAWlDuB,WAAY,SAAUrzB,GAElB,OAAO3B,EAAOS,UAAUu0B,WAAWx2B,KAAMmD,IAc7Cq9B,cAAe,SAAU7M,EAAMD,EAAO2C,EAAKC,EAAQmK,GAE/C,OAAOj/B,EAAOS,UAAUu+B,cAAcxgC,KAAM2zB,EAAMD,EAAO2C,EAAKC,EAAQmK,IAU1EC,MAAO,SAAUv9B,EAAG8xB,GAEhB,OAAOzzB,EAAOS,UAAUy+B,MAAM1gC,KAAMmD,EAAG8xB,IAW3CtC,OAAQ,SAAUsC,GAOd,YALY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAE1Co0B,EAAIlxB,EAAI/D,KAAK2gC,QACb1L,EAAIjxB,EAAIhE,KAAK4gC,QAEN3L,GAmBX4L,SAAU,SAAUjgC,EAAUq0B,GAI1B,YAFY1uB,IAAR0uB,IAAqBA,EAAM,IAAIzzB,EAAOX,OAElCD,GAEJ,QACA,KAAKY,EAAOotB,SACR,OAAOqG,EAAI9tB,IAAInH,KAAK+D,EAAG/D,KAAKgE,GAEhC,KAAKxC,EAAOqtB,WACR,OAAOoG,EAAI9tB,IAAInH,KAAK63B,QAAS73B,KAAKgE,GAEtC,KAAKxC,EAAOstB,UACR,OAAOmG,EAAI9tB,IAAInH,KAAK0zB,MAAO1zB,KAAKgE,GAEpC,KAAKxC,EAAOwtB,YACR,OAAOiG,EAAI9tB,IAAInH,KAAK+D,EAAG/D,KAAK83B,SAEhC,KAAKt2B,EAAO0tB,OACR,OAAO+F,EAAI9tB,IAAInH,KAAK63B,QAAS73B,KAAK83B,SAEtC,KAAKt2B,EAAO4tB,aACR,OAAO6F,EAAI9tB,IAAInH,KAAK0zB,MAAO1zB,KAAK83B,SAEpC,KAAKt2B,EAAO8tB,YACR,OAAO2F,EAAI9tB,IAAInH,KAAK+D,EAAG/D,KAAKs2B,QAEhC,KAAK90B,EAAO+tB,cACR,OAAO0F,EAAI9tB,IAAInH,KAAK63B,QAAS73B,KAAKs2B,QAEtC,KAAK90B,EAAOguB,aACR,OAAOyF,EAAI9tB,IAAInH,KAAK0zB,MAAO1zB,KAAKs2B,UAc5CwK,MAAO,SAAUzK,EAAK3C,EAAO4C,EAAQ3C,GAE5BrD,UAAU3tB,SAEX0zB,EAAM,IAAI70B,EAAOy2B,KACjBvE,EAAQ,IAAIlyB,EAAOy2B,KACnB3B,EAAS,IAAI90B,EAAOy2B,KACpBtE,EAAO,IAAInyB,EAAOy2B,MAGtB,IAAI3sB,EAAKtL,KAAK+D,EACVwH,EAAKvL,KAAKgE,EACVwH,EAAKxL,KAAK0zB,MACVjoB,EAAKzL,KAAKs2B,OAOd,OALAD,EAAIjB,MAAM9pB,EAAIC,EAAIC,EAAID,GACtBmoB,EAAM0B,MAAM5pB,EAAID,EAAIC,EAAIC,GACxB6qB,EAAOlB,MAAM9pB,EAAIG,EAAID,EAAIC,GACzBkoB,EAAKyB,MAAM9pB,EAAIC,EAAID,EAAIG,GAElB6kB,UAAU3tB,OAKR,MAHM0zB,EAAK3C,EAAO4C,EAAQ3C,IAWrC/K,SAAU,WAEN,MAAO,kBAAoB5oB,KAAK+D,EAAI,MAAQ/D,KAAKgE,EAAI,UAAYhE,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,UAAYmC,KAAK66B,MAAQ,QAU1I7zB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,aAE9C4E,IAAK,WAED,OAAOxD,KAAK+xB,MAAMz1B,KAAKpC,MAAQ,MAUvCoJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,cAE9C4E,IAAK,WAED,OAAOxD,KAAK+xB,MAAMz1B,KAAKnC,OAAS,MAUxCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAKnC,QAGzBsJ,IAAK,SAAUC,GAEPA,GAASpH,KAAKgE,EAEdhE,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASuJ,EAAQpH,KAAKgE,KAWvCgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,cAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKs2B,SAGzCnvB,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAMrD,EACf/D,KAAKs2B,OAASlvB,EAAMpD,KAU5BgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,eAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK0zB,MAAO1zB,KAAKs2B,SAG7CnvB,IAAK,SAAUC,GAEXpH,KAAK0zB,MAAQtsB,EAAMrD,EACnB/D,KAAKs2B,OAASlvB,EAAMpD,KAU5BgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,QAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,GAGhBoD,IAAK,SAAUC,GAEPA,GAASpH,KAAK0zB,MAEd1zB,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQoC,KAAK0zB,MAAQtsB,EAE9BpH,KAAK+D,EAAIqD,KAUjBJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,SAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAKpC,OAGzBuJ,IAAK,SAAUC,GAEPA,GAASpH,KAAK+D,EAEd/D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQwJ,EAAQpH,KAAK+D,KAYtCiD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAKpC,MAAQoC,KAAKnC,UAWjCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,aAE9C4E,IAAK,WAED,OAAqB,EAAblH,KAAKpC,MAA4B,EAAdoC,KAAKnC,UAUxCmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK42B,WAGzBzvB,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAQpH,KAAK42B,aAU9B5vB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK62B,YAGzB1vB,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAAQpH,KAAK62B,cAW9B7vB,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAK+D,EAAKL,KAAKivB,SAAW3yB,KAAKpC,SAW9CoJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,EAAKN,KAAKivB,SAAW3yB,KAAKnC,UAW9CmJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,OAE9C4E,IAAK,WAED,OAAOlH,KAAKgE,GAGhBmD,IAAK,SAAUC,GAEPA,GAASpH,KAAKs2B,QAEdt2B,KAAKnC,OAAS,EACdmC,KAAKgE,EAAIoD,GAITpH,KAAKnC,OAAUmC,KAAKs2B,OAASlvB,KAWzCJ,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,WAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAG/D,KAAKgE,IAGzCmD,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAMrD,EACf/D,KAAKgE,EAAIoD,EAAMpD,KAUvBgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,YAE9C4E,IAAK,WAED,OAAO,IAAI1F,EAAOX,MAAMb,KAAK+D,EAAI/D,KAAKpC,MAAOoC,KAAKgE,IAGtDmD,IAAK,SAAUC,GAEXpH,KAAK0zB,MAAQtsB,EAAMrD,EACnB/D,KAAKgE,EAAIoD,EAAMpD,KAWvBgD,OAAOyF,eAAejL,EAAOS,UAAUK,UAAW,SAE9C4E,IAAK,WAED,OAASlH,KAAKpC,QAAUoC,KAAKnC,QAGjCsJ,IAAK,SAAUC,IAEG,IAAVA,GAEApH,KAAKo1B,MAAM,EAAG,EAAG,EAAG,MAMhC5zB,EAAOS,UAAUK,UAAUC,YAAcf,EAAOS,UAUhDT,EAAOS,UAAUo+B,QAAU,SAAUn9B,EAAGiL,EAAIE,GAOxC,OALAnL,EAAEa,GAAKoK,EACPjL,EAAEtF,OAAS,EAAIuQ,EACfjL,EAAEc,GAAKqK,EACPnL,EAAErF,QAAU,EAAIwQ,EAETnL,GAUX1B,EAAOS,UAAU8+B,aAAe,SAAU79B,EAAGkzB,GAEzC,OAAO50B,EAAOS,UAAUo+B,QAAQn9B,EAAGkzB,EAAMryB,EAAGqyB,EAAMpyB,IAUtDxC,EAAOS,UAAU6f,KAAO,SAAU5e,EAAGwyB,GAWjC,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOX,MAAMqC,EAAEtF,MAAOsF,EAAErF,QAIrC63B,EAAON,MAAMlyB,EAAEtF,MAAOsF,EAAErF,QAGrB63B,GAUXl0B,EAAOS,UAAUiyB,MAAQ,SAAUhxB,EAAGwyB,GAWlC,YATenvB,IAAXmvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIl0B,EAAOS,UAAUiB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,QAInD63B,EAAON,MAAMlyB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,QAG/B63B,GAUXl0B,EAAOS,UAAU++B,iBAAmB,SAAU99B,EAAGwyB,GAO7C,YALenvB,IAAXmvB,GAAmC,OAAXA,IAExBA,EAAS,IAAIl0B,EAAOS,UAAUiB,EAAEa,EAAGb,EAAEc,EAAGd,EAAEtF,MAAOsF,EAAErF,SAGhD63B,EAAO0K,eAAel9B,IAWjC1B,EAAOS,UAAUqI,SAAW,SAAUpH,EAAGa,EAAGC,GAExC,QAAId,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,KAKxBkG,GAAKb,EAAEa,GAAKA,EAAIb,EAAEwwB,OAAS1vB,GAAKd,EAAEc,GAAKA,EAAId,EAAEozB,SAczD90B,EAAOS,UAAUg/B,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIt9B,EAAGC,GAExD,OAAQD,GAAKm9B,GAAMn9B,EAAKm9B,EAAKE,GAAOp9B,GAAKm9B,GAAMn9B,EAAKm9B,EAAKE,GAU7D7/B,EAAOS,UAAUq/B,cAAgB,SAAUp+B,EAAGkzB,GAE1C,OAAO50B,EAAOS,UAAUqI,SAASpH,EAAGkzB,EAAMryB,EAAGqyB,EAAMpyB,IAWvDxC,EAAOS,UAAUq+B,aAAe,SAAUp9B,EAAGC,GAGzC,QAAID,EAAEq+B,OAASp+B,EAAEo+B,UAKTr+B,EAAEa,GAAKZ,EAAEY,GAAKb,EAAEc,GAAKb,EAAEa,GAAKd,EAAEwwB,MAAQvwB,EAAEuwB,OAASxwB,EAAEozB,OAASnzB,EAAEmzB,SAW1E90B,EAAOS,UAAUs0B,OAAS,SAAUrzB,EAAGC,GAEnC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAEtF,QAAUuF,EAAEvF,OAASsF,EAAErF,SAAWsF,EAAEtF,QAUhF2D,EAAOS,UAAUu/B,eAAiB,SAAUt+B,EAAGC,GAE3C,OAAQD,EAAEtF,QAAUuF,EAAEvF,OAASsF,EAAErF,SAAWsF,EAAEtF,QAWlD2D,EAAOS,UAAUs+B,aAAe,SAAUr9B,EAAGC,EAAGuyB,GAe5C,YAbenvB,IAAXmvB,IAEAA,EAAS,IAAIl0B,EAAOS,WAGpBT,EAAOS,UAAUu0B,WAAWtzB,EAAGC,KAE/BuyB,EAAO3xB,EAAIL,KAAKuC,IAAI/C,EAAEa,EAAGZ,EAAEY,GAC3B2xB,EAAO1xB,EAAIN,KAAKuC,IAAI/C,EAAEc,EAAGb,EAAEa,GAC3B0xB,EAAO93B,MAAQ8F,KAAK41B,IAAIp2B,EAAEwwB,MAAOvwB,EAAEuwB,OAASgC,EAAO3xB,EACnD2xB,EAAO73B,OAAS6F,KAAK41B,IAAIp2B,EAAEozB,OAAQnzB,EAAEmzB,QAAUZ,EAAO1xB,GAGnD0xB,GAWXl0B,EAAOS,UAAUu0B,WAAa,SAAUtzB,EAAGC,GAEvC,QAAID,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,GAAKsF,EAAEvF,OAAS,GAAKuF,EAAEtF,QAAU,MAKxDqF,EAAEwwB,MAAQvwB,EAAEY,GAAKb,EAAEozB,OAASnzB,EAAEa,GAAKd,EAAEa,EAAIZ,EAAEuwB,OAASxwB,EAAEc,EAAIb,EAAEmzB,SAazE90B,EAAOS,UAAUu+B,cAAgB,SAAUt9B,EAAGywB,EAAMD,EAAO2C,EAAKC,EAAQmK,GAIpE,YAFkBl6B,IAAdk6B,IAA2BA,EAAY,KAElC9M,EAAOzwB,EAAEwwB,MAAQ+M,GAAa/M,EAAQxwB,EAAEywB,KAAO8M,GAAapK,EAAMnzB,EAAEozB,OAASmK,GAAanK,EAASpzB,EAAEmzB,IAAMoK,IAWxHj/B,EAAOS,UAAUy+B,MAAQ,SAAUx9B,EAAGC,EAAGuyB,GAOrC,YALenvB,IAAXmvB,IAEAA,EAAS,IAAIl0B,EAAOS,WAGjByzB,EAAON,MAAM1xB,KAAK41B,IAAIp2B,EAAEa,EAAGZ,EAAEY,GAAIL,KAAK41B,IAAIp2B,EAAEc,EAAGb,EAAEa,GAAIN,KAAKuC,IAAI/C,EAAEwwB,MAAOvwB,EAAEuwB,OAAShwB,KAAK41B,IAAIp2B,EAAEywB,KAAMxwB,EAAEwwB,MAAOjwB,KAAKuC,IAAI/C,EAAEozB,OAAQnzB,EAAEmzB,QAAU5yB,KAAK41B,IAAIp2B,EAAEmzB,IAAKlzB,EAAEkzB,OAWxK70B,EAAOS,UAAUw/B,KAAO,SAAUnD,EAAQrJ,QAE1B1uB,IAAR0uB,IAEAA,EAAM,IAAIzzB,EAAOS,WAGrB,IAAIs3B,EAAOsG,OAAO6B,kBACdrI,EAAOwG,OAAO8B,kBACdlI,EAAOoG,OAAO6B,kBACdlI,EAAOqG,OAAO8B,kBAyBlB,OAvBArD,EAAO3N,QAAQ,SAAUyF,GAEjBA,EAAMryB,EAAIw1B,IAEVA,EAAOnD,EAAMryB,GAEbqyB,EAAMryB,EAAIs1B,IAEVA,EAAOjD,EAAMryB,GAGbqyB,EAAMpyB,EAAIy1B,IAEVA,EAAOrD,EAAMpyB,GAEboyB,EAAMpyB,EAAIw1B,IAEVA,EAAOpD,EAAMpyB,KAIrBixB,EAAIG,MAAMiE,EAAMG,EAAMD,EAAOF,EAAMI,EAAOD,GAEnCvE,GAIXz2B,KAAKyD,UAAYT,EAAOS,UAOxBT,EAAOogC,eAAiB,IAAIpgC,EAAOS,UAAU,EAAG,EAAG,EAAG,GAqBtDT,EAAOqgC,iBAAmB,SAAU99B,EAAGC,EAAGpG,EAAOC,EAAQs3B,QAE3C5uB,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQ,QACpB2I,IAAX1I,IAAwBA,EAAS,QACtB0I,IAAX4uB,IAAwBA,EAAS,IAKrCn1B,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAKm1B,OAASA,GAAU,GAMxBn1B,KAAKwT,KAAOhS,EAAOosB,kBAGvBpsB,EAAOqgC,iBAAiBv/B,WASpB4xB,MAAO,WAEH,OAAO,IAAI1yB,EAAOqgC,iBAAiB7hC,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKm1B,SAWrF7qB,SAAU,SAAUvG,EAAGC,GAEnB,GAAIhE,KAAKpC,OAAS,GAAKoC,KAAKnC,QAAU,EAElC,OAAO,EAGX,IAAIyN,EAAKtL,KAAK+D,EAEd,GAAIA,GAAKuH,GAAMvH,GAAKuH,EAAKtL,KAAKpC,MAC9B,CACI,IAAI2N,EAAKvL,KAAKgE,EAEd,GAAIA,GAAKuH,GAAMvH,GAAKuH,EAAKvL,KAAKnC,OAE1B,OAAO,EAIf,OAAO,IAKf2D,EAAOqgC,iBAAiBv/B,UAAUC,YAAcf,EAAOqgC,iBAGvDrjC,KAAKqjC,iBAAmBrgC,EAAOqgC,iBAqB/BrgC,EAAOsgC,OAAS,SAAU/+B,EAAMmR,EAAInQ,EAAGC,EAAGpG,EAAOC,GAK7CmC,KAAK+C,KAAOA,EAKZ/C,KAAKiD,MAAQF,EAAKE,MAMlBjD,KAAKkU,GAAK,EASVlU,KAAKiX,KAAO,IAAIzV,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAS9CmC,KAAK8E,OAAS,IAAItD,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAKhDmC,KAAK+hC,SAAW,KAMhB/hC,KAAKkB,SAAU,EAMflB,KAAKgiC,SAAU,EAKfhiC,KAAKiiC,SAAYl+B,GAAG,EAAOC,GAAG,GAM9BhE,KAAKgI,OAAS,KAKdhI,KAAKib,cAAgB,KAKrBjb,KAAKc,MAAQ,KAMbd,KAAKkiC,YAAc,EAWnBliC,KAAKmiC,KAAO,IAAI3gC,EAAOX,MAAM,EAAG,GAKhCb,KAAKoiC,gBAAkB,IAAI5gC,EAAO6gC,OAKlCriC,KAAKsiC,gBAAkB,IAAI9gC,EAAO6gC,OAUlCriC,KAAKuiC,eAAiB,IAAI/gC,EAAO6gC,OAOjCriC,KAAKwiC,GAAK,KAMVxiC,KAAKyiC,gBAAkB,IAAIjhC,EAAOX,MAOlCb,KAAK0iC,MAAQ,EAOb1iC,KAAK2iC,UAAY,IAAInhC,EAAOX,MAM5Bb,KAAK+a,QACD6nB,UAAW,EACXC,SAAU,EACVC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbj/B,EAAG,EACHC,EAAG,GAOPhE,KAAKijC,YAAc,EAMnBjjC,KAAKkjC,QAAU,EAMfljC,KAAKmjC,WAAa,IAAI3hC,EAAOS,WASjCT,EAAOsgC,OAAOsB,cAAgB,EAQ9B5hC,EAAOsgC,OAAOuB,kBAAoB,EAQlC7hC,EAAOsgC,OAAOwB,eAAiB,EAQ/B9hC,EAAOsgC,OAAOyB,qBAAuB,EAMrC/hC,EAAOsgC,OAAO0B,WAAa,EAM3BhiC,EAAOsgC,OAAO2B,iBAAmB,EAMjCjiC,EAAOsgC,OAAO4B,eAAiB,EAM/BliC,EAAOsgC,OAAO6B,WAAY,EAM1BniC,EAAOsgC,OAAO8B,MAAQ,EAMtBpiC,EAAOsgC,OAAO+B,SAAW,EAMzBriC,EAAOsgC,OAAOgC,QAAU,EAExBtiC,EAAOsgC,OAAOx/B,WAQVyhC,KAAM,WAEF/jC,KAAKib,cAAgBjb,KAAK+C,KAAKE,MAE/BjD,KAAKc,MAAQd,KAAK+C,KAAKE,MAAMnC,MAE7Bd,KAAK+C,KAAK+X,OAAS9a,KAEfwB,EAAOwiC,UAAYxiC,EAAOsgC,OAAO6B,YAEjC3jC,KAAKwiC,GAAK,IAAIhhC,EAAOwiC,SAAShkC,KAAK+C,MAEnC/C,KAAK+C,KAAKuX,MAAM7R,SAASzI,KAAKwiC,MAStC99B,UAAW,WAEP1E,KAAKkiC,YAAc,GAkBvB+B,OAAQ,SAAUj8B,EAAQsT,EAAO4oB,EAAOC,QAEtB59B,IAAV+U,IAAuBA,EAAQ9Z,EAAOsgC,OAAOsB,oBACnC78B,IAAV29B,IAAuBA,EAAQ,QACrB39B,IAAV49B,IAAuBA,EAAQ,GAEnCnkC,KAAKgI,OAASA,EACdhI,KAAKmiC,KAAKh7B,IAAI+8B,EAAOC,GAErB,IAAIC,EAEJ,OAAQ9oB,GAEJ,KAAK9Z,EAAOsgC,OAAOuB,kBACf,IAAIhuB,EAAIrV,KAAKpC,MAAQ,EACjB2mB,EAAIvkB,KAAKnC,OAAS,EACtBmC,KAAK+hC,SAAW,IAAIvgC,EAAOS,WAAWjC,KAAKpC,MAAQyX,GAAK,GAAIrV,KAAKnC,OAAS0mB,GAAK,EAAQ,IAAJA,EAAUlP,EAAGkP,GAChG,MAEJ,KAAK/iB,EAAOsgC,OAAOwB,eACfc,EAAS1gC,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAK+hC,SAAW,IAAIvgC,EAAOS,WAAWjC,KAAKpC,MAAQwmC,GAAU,GAAIpkC,KAAKnC,OAASumC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAK5iC,EAAOsgC,OAAOyB,qBACfa,EAAS1gC,KAAKuC,IAAIjG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAK+hC,SAAW,IAAIvgC,EAAOS,WAAWjC,KAAKpC,MAAQwmC,GAAU,GAAIpkC,KAAKnC,OAASumC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAK5iC,EAAOsgC,OAAOsB,cAInB,QACIpjC,KAAK+hC,SAAW,OAU5BsC,SAAU,WAENrkC,KAAKgI,OAAS,MAQlBs8B,QAAS,SAAUrpB,GAEfjb,KAAKukC,YAAY7gC,KAAK+xB,MAAMxa,EAAclX,EAAI/D,KAAKiX,KAAK2f,WAAYlzB,KAAK+xB,MAAMxa,EAAcjX,EAAIhE,KAAKiX,KAAK4f,cAS/G2N,UAAW,SAAUzgC,EAAGC,GAEpBhE,KAAKukC,YAAY7gC,KAAK+xB,MAAM1xB,EAAI/D,KAAKiX,KAAK2f,WAAYlzB,KAAK+xB,MAAMzxB,EAAIhE,KAAKiX,KAAK4f,cAkBnF4N,MAAO,SAAU7B,EAAWC,EAAU6B,EAAOC,EAAW3B,GAQpD,YANkBz8B,IAAdq8B,IAA2BA,EAAY,UAC1Br8B,IAAbs8B,IAA0BA,EAAW,UAC3Bt8B,IAAVm+B,IAAuBA,GAAQ,QACjBn+B,IAAdo+B,IAA2BA,EAAYnjC,EAAOsgC,OAAO0B,iBACrCj9B,IAAhBy8B,IAA6BA,GAAc,MAE1C0B,GAAS1kC,KAAK+a,OAAO8nB,SAAW,KAMrC7iC,KAAK+a,OAAO6nB,UAAYA,EACxB5iC,KAAK+a,OAAO8nB,SAAWA,EACvB7iC,KAAK+a,OAAOioB,YAAcA,EAE1BhjC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,EAEhBhE,KAAK+a,OAAO+nB,WAAc6B,IAAcnjC,EAAOsgC,OAAO0B,YAAcmB,IAAcnjC,EAAOsgC,OAAO2B,iBAChGzjC,KAAK+a,OAAOgoB,SAAY4B,IAAcnjC,EAAOsgC,OAAO0B,YAAcmB,IAAcnjC,EAAOsgC,OAAO4B,gBAEvF,IAkBXkB,MAAO,SAAUvuB,EAAOwsB,EAAU6B,EAAOzjC,GAOrC,YALcsF,IAAV8P,IAAuBA,EAAQ,eAClB9P,IAAbs8B,IAA0BA,EAAW,UAC3Bt8B,IAAVm+B,IAAuBA,GAAQ,QACrBn+B,IAAVtF,IAAuBA,EAAQ,MAE9BjB,KAAKwiC,KAAQkC,GAAS1kC,KAAKijC,YAAc,KAK9CjjC,KAAKwiC,GAAG5nB,QAER5a,KAAKwiC,GAAGqC,UAAUxuB,EAAOpV,GACzBjB,KAAKwiC,GAAGsC,SAAS,EAAG,EAAG9kC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAKwiC,GAAGuC,UAER/kC,KAAKwiC,GAAGvhC,MAAQ,EAEhBjB,KAAKijC,YAAcJ,EACnB7iC,KAAKkjC,QAAU,GAER,IAuBX8B,KAAM,SAAU3uB,EAAOwsB,EAAU6B,EAAOzjC,GAEpC,OAAOjB,KAAKilC,WAAW5uB,EAAOwsB,EAAU6B,EAAOzjC,EAAOO,EAAOsgC,OAAO+B,WAgBxEqB,OAAQ,SAAU7uB,EAAOwsB,EAAU6B,EAAOzjC,GAEtC,OAAOjB,KAAKilC,WAAW5uB,EAAOwsB,EAAU6B,EAAOzjC,EAAOO,EAAOsgC,OAAOgC,UAexEmB,WAAY,SAAU5uB,EAAOwsB,EAAU6B,EAAOzjC,EAAOuS,GAOjD,QALcjN,IAAV8P,IAAuBA,EAAQ,QAClB9P,IAAbs8B,IAA0BA,EAAW,UAC3Bt8B,IAAVm+B,IAAuBA,GAAQ,QACrBn+B,IAAVtF,IAAuBA,EAAQ,IAE9BjB,KAAKwiC,KAAQkC,GAAS1kC,KAAKijC,YAAc,EAE1C,OAAO,EAUX,GAPAjjC,KAAKwiC,GAAG5nB,QAER5a,KAAKwiC,GAAGqC,UAAUxuB,EAAOpV,GACzBjB,KAAKwiC,GAAGsC,SAAS,EAAG,EAAG9kC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAKwiC,GAAGuC,UAGJvxB,EAAO,GAAKA,EAAO,EAAK,MAAM,IAAIzK,MAAM,yBAO5C,OALA/I,KAAKwiC,GAAGvhC,MAASuS,IAAShS,EAAOsgC,OAAOgC,QAAW,EAAI,EAEvD9jC,KAAKijC,YAAcJ,EACnB7iC,KAAKkjC,QAAU1vB,GAER,GASX2xB,OAAQ,WAEAnlC,KAAKijC,YAAc,GAEnBjjC,KAAKolC,WAGLplC,KAAK+a,OAAO8nB,SAAW,GAEvB7iC,KAAKqlC,cAGLrlC,KAAK8E,QAEL9E,KAAKslC,cAGLtlC,KAAKgiC,UAELhiC,KAAKiX,KAAK4Y,QACV7vB,KAAK+a,OAAOhX,EAAIL,KAAKmsB,MAAM7vB,KAAK+a,OAAOhX,GACvC/D,KAAK+a,OAAO/W,EAAIN,KAAKmsB,MAAM7vB,KAAK+a,OAAO/W,IAG3ChE,KAAKib,cAAcra,SAASmD,GAAK/D,KAAKiX,KAAKlT,EAC3C/D,KAAKib,cAAcra,SAASoD,GAAKhE,KAAKiX,KAAKjT,GAS/CohC,SAAU,WAEFplC,KAAKkjC,UAAY1hC,EAAOsgC,OAAO8B,OAG/B5jC,KAAKwiC,GAAGvhC,OAASjB,KAAK+C,KAAKwiC,KAAKC,UAAYxlC,KAAKijC,YAE7CjjC,KAAKwiC,GAAGvhC,OAAS,IAEjBjB,KAAKijC,YAAc,EACnBjjC,KAAKwiC,GAAGvhC,MAAQ,EAChBjB,KAAKsiC,gBAAgBmD,aAGpBzlC,KAAKkjC,UAAY1hC,EAAOsgC,OAAOgC,SAGpC9jC,KAAKwiC,GAAGvhC,OAASjB,KAAK+C,KAAKwiC,KAAKC,UAAYxlC,KAAKijC,YAE7CjjC,KAAKwiC,GAAGvhC,OAAS,IAEjBjB,KAAKijC,YAAc,EACnBjjC,KAAKwiC,GAAGvhC,MAAQ,EAChBjB,KAAKuiC,eAAekD,cAMxBzlC,KAAKwiC,GAAGvhC,OAASjB,KAAK+C,KAAKwiC,KAAKC,UAAYxlC,KAAKijC,YAE7CjjC,KAAKwiC,GAAGvhC,OAAS,IAEjBjB,KAAKijC,YAAc,EACnBjjC,KAAKwiC,GAAGvhC,MAAQ,EAChBjB,KAAKuiC,eAAekD,cAWhCJ,YAAa,WAETrlC,KAAK+a,OAAO8nB,UAAY7iC,KAAK+C,KAAKwiC,KAAKC,UAEnCxlC,KAAK+a,OAAO8nB,UAAY,GAExB7iC,KAAKoiC,gBAAgBqD,WACrBzlC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,IAIZhE,KAAK+a,OAAO+nB,aAEZ9iC,KAAK+a,OAAOhX,EAAI/D,KAAK+C,KAAK2iC,IAAIC,OAAS3lC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKrZ,MAAQ,EAAIoC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKrZ,OAGvHoC,KAAK+a,OAAOgoB,WAEZ/iC,KAAK+a,OAAO/W,EAAIhE,KAAK+C,KAAK2iC,IAAIC,OAAS3lC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKpZ,OAAS,EAAImC,KAAK+a,OAAO6nB,UAAY5iC,KAAKiX,KAAKpZ,UAWpI+nC,aAAc,WAEV5lC,KAAKyiC,gBAAgB1+B,EAAI/D,KAAKiX,KAAKlT,EAAI/D,KAAKgI,OAAOtG,cAAcqC,EACjE/D,KAAKyiC,gBAAgBz+B,EAAIhE,KAAKiX,KAAKjT,EAAIhE,KAAKgI,OAAOtG,cAAcsC,EAE7DhE,KAAK+hC,UAEL/hC,KAAK0iC,MAAQ1iC,KAAKyiC,gBAAgB1+B,EAAI/D,KAAKiX,KAAKlT,EAE5C/D,KAAK0iC,MAAQ1iC,KAAK+hC,SAASpO,KAE3B3zB,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAK8iC,KAAK3P,OAAOl2B,KAAKiX,KAAKlT,EAAG/D,KAAKyiC,gBAAgB1+B,EAAI/D,KAAK+hC,SAASpO,KAAM3zB,KAAKmiC,KAAKp+B,GAEnG/D,KAAK0iC,MAAQ1iC,KAAK+hC,SAASrO,QAEhC1zB,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAK8iC,KAAK3P,OAAOl2B,KAAKiX,KAAKlT,EAAG/D,KAAKyiC,gBAAgB1+B,EAAI/D,KAAK+hC,SAASrO,MAAO1zB,KAAKmiC,KAAKp+B,IAG7G/D,KAAK0iC,MAAQ1iC,KAAKyiC,gBAAgBz+B,EAAIhE,KAAKiX,KAAKjT,EAE5ChE,KAAK0iC,MAAQ1iC,KAAK+hC,SAAS1L,IAE3Br2B,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAK8iC,KAAK3P,OAAOl2B,KAAKiX,KAAKjT,EAAGhE,KAAKyiC,gBAAgBz+B,EAAIhE,KAAK+hC,SAAS1L,IAAKr2B,KAAKmiC,KAAKn+B,GAElGhE,KAAK0iC,MAAQ1iC,KAAK+hC,SAASzL,SAEhCt2B,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAK8iC,KAAK3P,OAAOl2B,KAAKiX,KAAKjT,EAAGhE,KAAKyiC,gBAAgBz+B,EAAIhE,KAAK+hC,SAASzL,OAAQt2B,KAAKmiC,KAAKn+B,MAK9GhE,KAAKiX,KAAKlT,EAAI/D,KAAK+C,KAAK8iC,KAAK3P,OAAOl2B,KAAKiX,KAAKlT,EAAG/D,KAAKyiC,gBAAgB1+B,EAAI/D,KAAKiX,KAAK2f,UAAW52B,KAAKmiC,KAAKp+B,GACzG/D,KAAKiX,KAAKjT,EAAIhE,KAAK+C,KAAK8iC,KAAK3P,OAAOl2B,KAAKiX,KAAKjT,EAAGhE,KAAKyiC,gBAAgBz+B,EAAIhE,KAAKiX,KAAK4f,WAAY72B,KAAKmiC,KAAKn+B,IAG1GhE,KAAK8E,QAEL9E,KAAKslC,cAGLtlC,KAAKgiC,SAELhiC,KAAKiX,KAAK4Y,QAGd7vB,KAAKib,cAAcra,SAASmD,GAAK/D,KAAKiX,KAAKlT,EAC3C/D,KAAKib,cAAcra,SAASoD,GAAKhE,KAAKiX,KAAKjT,GAQ/C8hC,iBAAkB,WAEV9lC,KAAK8E,QAEL9E,KAAK8E,OAAOuwB,SAASr1B,KAAK+C,KAAKE,MAAM6B,SAW7CwgC,YAAa,WAETtlC,KAAKiiC,QAAQl+B,GAAI,EACjB/D,KAAKiiC,QAAQj+B,GAAI,EAEjB,IAAI+hC,EAAK/lC,KAAKiX,KAAKlT,EAAI/D,KAAK+a,OAAOhX,EAC/BiiC,EAAKhmC,KAAKiX,KAAKyc,MAAQ1zB,KAAK+a,OAAOhX,EACnCkiC,EAAKjmC,KAAKiX,KAAKjT,EAAIhE,KAAK+a,OAAO/W,EAC/BkiC,EAAKlmC,KAAKiX,KAAKqf,OAASt2B,KAAK+a,OAAO/W,EAGpC+hC,GAAM/lC,KAAK8E,OAAOf,EAAI/D,KAAKc,MAAMiD,GAEjC/D,KAAKiiC,QAAQl+B,GAAI,EACjB/D,KAAKiX,KAAKlT,EAAI/D,KAAK8E,OAAOf,EAAI/D,KAAKc,MAAMiD,EAEpC/D,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAOhX,EAAI,IAGfiiC,GAAMhmC,KAAK8E,OAAO4uB,MAAQ1zB,KAAKc,MAAMiD,IAE1C/D,KAAKiiC,QAAQl+B,GAAI,EACjB/D,KAAKiX,KAAKlT,EAAK/D,KAAK8E,OAAO4uB,MAAQ1zB,KAAKc,MAAMiD,EAAK/D,KAAKpC,MAEnDoC,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAOhX,EAAI,IAIpBkiC,GAAMjmC,KAAK8E,OAAOuxB,IAAMr2B,KAAKc,MAAMkD,GAEnChE,KAAKiiC,QAAQj+B,GAAI,EACjBhE,KAAKiX,KAAKjT,EAAIhE,KAAK8E,OAAOuxB,IAAMr2B,KAAKc,MAAMkD,EAEtChE,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAO/W,EAAI,IAGfkiC,GAAMlmC,KAAK8E,OAAOwxB,OAASt2B,KAAKc,MAAMkD,IAE3ChE,KAAKiiC,QAAQj+B,GAAI,EACjBhE,KAAKiX,KAAKjT,EAAKhE,KAAK8E,OAAOwxB,OAASt2B,KAAKc,MAAMkD,EAAKhE,KAAKnC,OAEpDmC,KAAK+a,OAAOioB,cAGbhjC,KAAK+a,OAAO/W,EAAI,KAa5BugC,YAAa,SAAUxgC,EAAGC,GAEtBhE,KAAKiX,KAAKlT,EAAIA,EACd/D,KAAKiX,KAAKjT,EAAIA,EAEVhE,KAAK8E,QAEL9E,KAAKslC,eAWba,QAAS,SAAUvoC,EAAOC,GAEtBmC,KAAKiX,KAAKrZ,MAAQA,EAClBoC,KAAKiX,KAAKpZ,OAASA,GAUvBuoC,MAAO,WAEHpmC,KAAKgI,OAAS,KAEdhI,KAAKiX,KAAKlT,EAAI,EACd/D,KAAKiX,KAAKjT,EAAI,EAEdhE,KAAK+a,OAAO8nB,SAAW,EACvB7iC,KAAK+a,OAAOhX,EAAI,EAChB/D,KAAK+a,OAAO/W,EAAI,EAEhBhE,KAAKqmC,WASTA,QAAS,WAEDrmC,KAAKwiC,KAELxiC,KAAKwiC,GAAG5nB,QACR5a,KAAKwiC,GAAGvhC,MAAQ,GAGpBjB,KAAKijC,YAAc,IAK3BzhC,EAAOsgC,OAAOx/B,UAAUC,YAAcf,EAAOsgC,OAO7C96B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,KAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKlT,GAGrBoD,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKlT,EAAIqD,EAEVpH,KAAK8E,QAEL9E,KAAKslC,iBAWjBt+B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,KAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKjT,GAGrBmD,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKjT,EAAIoD,EAEVpH,KAAK8E,QAEL9E,KAAKslC,iBAWjBt+B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,YAE3C4E,IAAK,WAID,OAFAlH,KAAK2iC,UAAUx7B,IAAInH,KAAKiX,KAAKlT,EAAG/D,KAAKiX,KAAKjT,GAEnChE,KAAK2iC,WAGhBx7B,IAAK,SAAUC,QAEY,IAAZA,EAAMrD,IAAqB/D,KAAKiX,KAAKlT,EAAIqD,EAAMrD,QACnC,IAAZqD,EAAMpD,IAAqBhE,KAAKiX,KAAKjT,EAAIoD,EAAMpD,GAEtDhE,KAAK8E,QAEL9E,KAAKslC,iBAWjBt+B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKrZ,OAGrBuJ,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKrZ,MAAQwJ,KAU1BJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKiX,KAAKpZ,QAGrBsJ,IAAK,SAAUC,GAEXpH,KAAKiX,KAAKpZ,OAASuJ,KAW3BJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,kBAE3C4E,IAAK,WAED,OAAOlH,KAAK+a,OAAO6nB,WAGvBz7B,IAAK,SAAUC,GAEXpH,KAAK+a,OAAO6nB,UAAYx7B,KAYhCJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,aAE3C4E,IAAK,WAID,OAFAlH,KAAKmjC,WAAW/N,MAAM,EAAG,EAAGp1B,KAAKiX,KAAKrZ,MAAOoC,KAAKiX,KAAKpZ,QAEhDmC,KAAKmjC,cAWpBn8B,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,WAE3C4E,IAAK,WAED,OAAQlH,KAAK+D,EAAK,GAAM/D,KAAKpC,SAWrCoJ,OAAOyF,eAAejL,EAAOsgC,OAAOx/B,UAAW,WAE3C4E,IAAK,WAED,OAAQlH,KAAKgE,EAAK,GAAMhE,KAAKnC,UAmCrC2D,EAAO8kC,MAAQ,WAKXtmC,KAAK+C,KAAO,KAKZ/C,KAAKgT,IAAM,GAKXhT,KAAKi5B,IAAM,KAKXj5B,KAAKumC,KAAO,KAKZvmC,KAAK8a,OAAS,KAKd9a,KAAKga,MAAQ,KAKbha,KAAKwmC,MAAQ,KAKbxmC,KAAKymC,KAAO,KAKZzmC,KAAK6lC,KAAO,KAKZ7lC,KAAK0mC,MAAQ,KAKb1mC,KAAKc,MAAQ,KAKbd,KAAKsa,MAAQ,KAKbta,KAAK2mC,MAAQ,KAKb3mC,KAAKulC,KAAO,KAKZvlC,KAAK4mC,OAAS,KAKd5mC,KAAKiD,MAAQ,KAKbjD,KAAK6mC,UAAY,KAKjB7mC,KAAK8mC,QAAU,KAKf9mC,KAAK0lC,IAAM,MAGflkC,EAAO8kC,MAAMhkC,WAUToP,KAAM,aAYNq1B,QAAS,aAUTC,WAAY,aAWZC,WAAY,aAWZz+B,OAAQ,aAYR28B,OAAQ,aAaR+B,WAAY,aAWZC,UAAW,aAYXhiC,OAAQ,aAWRgB,OAAQ,aAURihC,OAAQ,aAURC,QAAS,aAUTC,YAAa,aAUbC,SAAU,cAMd/lC,EAAO8kC,MAAMhkC,UAAUC,YAAcf,EAAO8kC,MAkB5C9kC,EAAOgmC,aAAe,SAAUzkC,EAAM0kC,GAKlCznC,KAAK+C,KAAOA,EAKZ/C,KAAK0nC,UAML1nC,KAAK2nC,cAAgB,UAEO,IAAjBF,GAAiD,OAAjBA,IAEvCznC,KAAK2nC,cAAgBF,GAOzBznC,KAAK4nC,aAAc,EAMnB5nC,KAAK6nC,aAAc,EAMnB7nC,KAAK8nC,UAAW,EAMhB9nC,KAAK+nC,SAML/nC,KAAKgoC,QAAU,GAcfhoC,KAAKioC,cAAgB,IAAIzmC,EAAO6gC,OAMhCriC,KAAKkoC,eAAiB,KAMtBloC,KAAKmoC,kBAAoB,KAMzBnoC,KAAKooC,iBAAmB,KAMxBpoC,KAAKqoC,iBAAmB,KAMxBroC,KAAKsoC,iBAAmB,KAMxBtoC,KAAKuoC,iBAAmB,KAMxBvoC,KAAKwoC,oBAAsB,KAM3BxoC,KAAKyoC,qBAAuB,KAM5BzoC,KAAK0oC,qBAAuB,KAM5B1oC,KAAK2oC,iBAAmB,KAMxB3oC,KAAK4oC,kBAAoB,KAMzB5oC,KAAK6oC,sBAAwB,KAM7B7oC,KAAK8oC,mBAAqB,MAG9BtnC,EAAOgmC,aAAallC,WAOhByhC,KAAM,WAEF/jC,KAAK+C,KAAKgmC,QAAQ9P,IAAIj5B,KAAKgpC,MAAOhpC,MAClCA,KAAK+C,KAAKkmC,SAAShQ,IAAIj5B,KAAKkpC,OAAQlpC,MAET,OAAvBA,KAAK2nC,eAAwD,iBAAvB3nC,KAAK2nC,eAE3C3nC,KAAKi5B,IAAI,UAAWj5B,KAAK2nC,eAAe,IAqBhD1O,IAAK,SAAUjmB,EAAK2zB,EAAOwC,QAEL5iC,IAAd4iC,IAA2BA,GAAY,GAE3C,IAAIC,EA8BJ,OA5BIzC,aAAiBnlC,EAAO8kC,MAExB8C,EAAWzC,EAEW,iBAAVA,GAEZyC,EAAWzC,GACF5jC,KAAO/C,KAAK+C,KAEC,mBAAV4jC,IAEZyC,EAAW,IAAIzC,EAAM3mC,KAAK+C,OAG9B/C,KAAK0nC,OAAO10B,GAAOo2B,EAEfD,IAEInpC,KAAK+C,KAAKsmC,SAEVrpC,KAAKsM,MAAM0G,GAIXhT,KAAK2nC,cAAgB30B,GAItBo2B,GAQXjtB,OAAQ,SAAUnJ,GAEVhT,KAAKgoC,UAAYh1B,IAEjBhT,KAAKspC,gBAAkB,KAEvBtpC,KAAKkoC,eAAiB,KACtBloC,KAAK8oC,mBAAqB,KAE1B9oC,KAAKmoC,kBAAoB,KACzBnoC,KAAK0oC,qBAAuB,KAC5B1oC,KAAKyoC,qBAAuB,KAC5BzoC,KAAKooC,iBAAmB,KACxBpoC,KAAKqoC,iBAAmB,KACxBroC,KAAKwoC,oBAAsB,KAC3BxoC,KAAKsoC,iBAAmB,KACxBtoC,KAAKuoC,iBAAmB,KACxBvoC,KAAK2oC,iBAAmB,KACxB3oC,KAAK4oC,kBAAoB,KACzB5oC,KAAK6oC,sBAAwB,aAG1B7oC,KAAK0nC,OAAO10B,IAYvB1G,MAAO,SAAU0G,EAAKu2B,EAAYC,QAEXjjC,IAAfgjC,IAA4BA,GAAa,QAC1BhjC,IAAfijC,IAA4BA,GAAa,GAEzCxpC,KAAKypC,WAAWz2B,KAGhBhT,KAAK2nC,cAAgB30B,EACrBhT,KAAK4nC,YAAc2B,EACnBvpC,KAAK6nC,YAAc2B,EAEflZ,UAAU3tB,OAAS,IAEnB3C,KAAK+nC,MAAQtgC,MAAMnF,UAAUwG,OAAOtE,KAAK8rB,UAAW,MAahEoZ,QAAS,SAAUH,EAAYC,QAERjjC,IAAfgjC,IAA4BA,GAAa,QAC1BhjC,IAAfijC,IAA4BA,GAAa,GAG7CxpC,KAAK2nC,cAAgB3nC,KAAKgoC,QAC1BhoC,KAAK4nC,YAAc2B,EACnBvpC,KAAK6nC,YAAc2B,EAEflZ,UAAU3tB,OAAS,IAEnB3C,KAAK+nC,MAAQtgC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAS3DqZ,MAAO,aASPjlC,UAAW,WAEP,GAAI1E,KAAK2nC,eAAiB3nC,KAAK+C,KAAKsmC,SACpC,CAMI,GAJArpC,KAAK4pC,oBAEL5pC,KAAK6pC,gBAAgB7pC,KAAK2nC,eAEtB3nC,KAAKgoC,UAAYhoC,KAAK2nC,cAEtB,OAIA3nC,KAAK2nC,cAAgB,KAOrB3nC,KAAKmoC,mBAELnoC,KAAK+C,KAAK0jC,KAAKL,OAAM,GACrBpmC,KAAKmoC,kBAAkB3jC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,MAGb,IAAtC/C,KAAK+C,KAAK0jC,KAAKqD,oBAAkE,IAAtC9pC,KAAK+C,KAAK0jC,KAAKsD,mBAE1D/pC,KAAKgqC,eAKLhqC,KAAK+C,KAAK0jC,KAAKn6B,SAMnBtM,KAAKgqC,iBAWjBJ,kBAAmB,WAEX5pC,KAAKgoC,UAEDhoC,KAAK8oC,oBAEL9oC,KAAK8oC,mBAAmBtkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,MAG5D/C,KAAK+C,KAAK6jC,OAAOqD,YAEjBjqC,KAAK+C,KAAK+X,OAAOsrB,QAEjBpmC,KAAK+C,KAAKyjC,MAAMJ,OAAM,GAEtBpmC,KAAK+C,KAAK+jC,QAAQlsB,QAElB5a,KAAK+C,KAAKwiC,KAAK0E,YAEfjqC,KAAK+C,KAAKjC,MAAMslC,MAAMpmC,KAAK4nC,aAEvB5nC,KAAK+C,KAAKmnC,OAEVlqC,KAAK+C,KAAKmnC,MAAM9D,QAGhBpmC,KAAK4nC,cAEL5nC,KAAK+C,KAAKE,MAAMskC,WAEZvnC,KAAK6nC,aAEL7nC,KAAK+C,KAAKiX,MAAMxX,aAahCinC,WAAY,SAAUz2B,GAElB,IAAI2zB,EAAQ3mC,KAAK0nC,OAAO10B,GAExB,OAAI2zB,KAEIA,EAAMI,SAAWJ,EAAMn+B,QAAUm+B,EAAMxB,QAAUwB,EAAMxhC,UAMvD7E,QAAQ+Z,KAAK,8HACN,IAKX/Z,QAAQ+Z,KAAK,sDAAwDrH,IAC9D,IAWfm3B,KAAM,SAAUn3B,GAEZ,IAAI2zB,EAAQ3mC,KAAK0nC,OAAO10B,GAExB2zB,EAAM5jC,KAAO/C,KAAK+C,KAClB4jC,EAAM1N,IAAMj5B,KAAK+C,KAAKk2B,IACtB0N,EAAMJ,KAAOvmC,KAAK+C,KAAKwjC,KACvBI,EAAM7rB,OAAS9a,KAAK+C,KAAK+X,OACzB6rB,EAAM3sB,MAAQha,KAAK+C,KAAKiX,MACxB2sB,EAAMH,MAAQxmC,KAAK+C,KAAKyjC,MACxBG,EAAMF,KAAOzmC,KAAK+C,KAAK0jC,KACvBE,EAAMd,KAAO7lC,KAAK+C,KAAK8iC,KACvBc,EAAMD,MAAQ1mC,KAAK+C,KAAK2jC,MACxBC,EAAM7lC,MAAQd,KAAK+C,KAAKjC,MACxB6lC,EAAMA,MAAQ3mC,KACd2mC,EAAMrsB,MAAQta,KAAK+C,KAAKuX,MACxBqsB,EAAMpB,KAAOvlC,KAAK+C,KAAKwiC,KACvBoB,EAAMC,OAAS5mC,KAAK+C,KAAK6jC,OACzBD,EAAM1jC,MAAQjD,KAAK+C,KAAKE,MACxB0jC,EAAME,UAAY7mC,KAAK+C,KAAK8jC,UAC5BF,EAAMjB,IAAM1lC,KAAK+C,KAAK2iC,IACtBiB,EAAMG,QAAU9mC,KAAK+C,KAAK+jC,QAC1BH,EAAM3zB,IAAMA,GAUhBo3B,OAAQ,SAAUp3B,GAEd,IAAI2zB,EAAQ3mC,KAAK0nC,OAAO10B,GAEpB2zB,IAEAA,EAAM5jC,KAAO,KACb4jC,EAAM1N,IAAM,KACZ0N,EAAMJ,KAAO,KACbI,EAAM7rB,OAAS,KACf6rB,EAAM3sB,MAAQ,KACd2sB,EAAMH,MAAQ,KACdG,EAAMF,KAAO,KACbE,EAAMd,KAAO,KACbc,EAAMD,MAAQ,KACdC,EAAM7lC,MAAQ,KACd6lC,EAAMA,MAAQ,KACdA,EAAMrsB,MAAQ,KACdqsB,EAAMpB,KAAO,KACboB,EAAMC,OAAS,KACfD,EAAM1jC,MAAQ,KACd0jC,EAAME,UAAY,KAClBF,EAAMjB,IAAM,KACZiB,EAAMG,QAAU,OAWxB+C,gBAAiB,SAAU72B,GAEvB,IAAIq3B,EAAmBrqC,KAAKgoC,QACxBrB,EAAQ3mC,KAAK0nC,OAAO10B,GAExBhT,KAAKspC,gBAAkB3C,EAEvB3mC,KAAKmqC,KAAKn3B,GAGVhT,KAAKkoC,eAAiBvB,EAAMj1B,MAAQ1R,KAAK2pC,MAEzC3pC,KAAKmoC,kBAAoBxB,EAAMI,SAAW,KAC1C/mC,KAAK0oC,qBAAuB/B,EAAMM,YAAc,KAChDjnC,KAAKyoC,qBAAuB9B,EAAMK,YAAc,KAChDhnC,KAAKooC,iBAAmBzB,EAAMn+B,QAAU,KACxCxI,KAAKqoC,iBAAmB1B,EAAMxB,QAAU,KACxCnlC,KAAKsqC,qBAAuB3D,EAAMO,YAAc,KAChDlnC,KAAKwoC,oBAAsB7B,EAAMQ,WAAa,KAC9CnnC,KAAKsoC,iBAAmB3B,EAAMxhC,QAAU,KACxCnF,KAAKuoC,iBAAmB5B,EAAMxgC,QAAU,KACxCnG,KAAK2oC,iBAAmBhC,EAAMS,QAAU,KACxCpnC,KAAK4oC,kBAAoBjC,EAAMU,SAAW,KAC1CrnC,KAAK6oC,sBAAwBlC,EAAMW,aAAe,KAGlDtnC,KAAK8oC,mBAAqBnC,EAAMY,UAAYvnC,KAAK2pC,MAG5B,KAAjB3pC,KAAKgoC,SAELhoC,KAAK+C,KAAK+jC,QAAQV,QAGtBpmC,KAAKgoC,QAAUh1B,EACfhT,KAAK8nC,UAAW,EAEhB9nC,KAAKioC,cAAcxC,SAASzlC,KAAKgoC,QAASqC,GAG1CrqC,KAAKkoC,eAAe3iC,MAAMvF,KAAKspC,gBAAiBtpC,KAAK+nC,OAGjD/0B,IAAQhT,KAAK2nC,gBAEb3nC,KAAK+nC,UAGT/nC,KAAK+C,KAAKwnC,YAAa,GAU3BC,gBAAiB,WAEb,OAAOxqC,KAAK0nC,OAAO1nC,KAAKgoC,UAQ5BgC,aAAc,YAEY,IAAlBhqC,KAAK8nC,UAAsB9nC,KAAKooC,kBAEhCpoC,KAAK8nC,UAAW,EAChB9nC,KAAKooC,iBAAiB5jC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAItD/C,KAAK8nC,UAAW,GASxBd,WAAY,YAEc,IAAlBhnC,KAAK8nC,UAAsB9nC,KAAKyoC,sBAEhCzoC,KAAKyoC,qBAAqBjkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAQlEimC,MAAO,WAEChpC,KAAK8nC,UAAY9nC,KAAK2oC,kBAEtB3oC,KAAK2oC,iBAAiBnkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAQ9DmmC,OAAQ,WAEAlpC,KAAK8nC,UAAY9nC,KAAK4oC,mBAEtB5oC,KAAK4oC,kBAAkBpkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAQ/DoiC,OAAQ,WAEAnlC,KAAK8nC,SAED9nC,KAAKqoC,kBAELroC,KAAKqoC,iBAAiB7jC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,MAI1D/C,KAAKyoC,sBAELzoC,KAAKyoC,qBAAqBjkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAIlEmkC,WAAY,WAEJlnC,KAAK8nC,UAAY9nC,KAAKsqC,sBAEtBtqC,KAAKsqC,qBAAqB9lC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAQlEukC,YAAa,WAELtnC,KAAK8nC,SAED9nC,KAAK6oC,uBAEL7oC,KAAK6oC,sBAAsBrkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,MAI/D/C,KAAKyoC,sBAELzoC,KAAKyoC,qBAAqBjkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OASlEokC,UAAW,SAAUsD,GAEbzqC,KAAK8nC,UAAY9nC,KAAKwoC,qBAEtBxoC,KAAKwoC,oBAAoBhkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,KAAM0nC,IAQvEtkC,OAAQ,SAAUvI,EAAOC,GAEjBmC,KAAKuoC,kBAELvoC,KAAKuoC,iBAAiB/jC,KAAKxE,KAAKspC,gBAAiB1rC,EAAOC,IAQhEsH,OAAQ,WAEAnF,KAAK8nC,SAED9nC,KAAKsoC,mBAEDtoC,KAAK+C,KAAK2nC,aAAelpC,EAAO+nB,QAEhCvpB,KAAK+C,KAAK+K,QAAQoa,OAClBloB,KAAK+C,KAAK+K,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9C7O,KAAKsoC,iBAAiB9jC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,MACtD/C,KAAK+C,KAAK+K,QAAQ0a,WAIlBxoB,KAAKsoC,iBAAiB9jC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OAK9D/C,KAAK0oC,sBAEL1oC,KAAK0oC,qBAAqBlkC,KAAKxE,KAAKspC,gBAAiBtpC,KAAK+C,OASlEP,QAAS,WAELxC,KAAK4nC,aAAc,EACnB5nC,KAAK6nC,aAAc,EAEnB7nC,KAAK4pC,oBAEL5pC,KAAKspC,gBAAkB,KAEvBtpC,KAAKkoC,eAAiB,KACtBloC,KAAK8oC,mBAAqB,KAE1B9oC,KAAKmoC,kBAAoB,KACzBnoC,KAAK0oC,qBAAuB,KAC5B1oC,KAAKyoC,qBAAuB,KAC5BzoC,KAAKooC,iBAAmB,KACxBpoC,KAAKqoC,iBAAmB,KACxBroC,KAAKsqC,qBAAuB,KAC5BtqC,KAAKsoC,iBAAmB,KACxBtoC,KAAK2oC,iBAAmB,KACxB3oC,KAAK4oC,kBAAoB,KACzB5oC,KAAK6oC,sBAAwB,KAE7B7oC,KAAK+C,KAAO,KACZ/C,KAAK0nC,UACL1nC,KAAK2nC,cAAgB,KACrB3nC,KAAKgoC,QAAU,KAKvBxmC,EAAOgmC,aAAallC,UAAUC,YAAcf,EAAOgmC,aAOnDxgC,OAAOyF,eAAejL,EAAOgmC,aAAallC,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAK8nC,YAwEpBtmC,EAAO6gC,OAAS,aAEhB7gC,EAAO6gC,OAAO//B,WAMVqoC,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,mBAAbD,EAEP,MAAM,IAAIniC,MAAM,kFAAkFurB,QAAQ,OAAQ6W,KAa1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAUpb,GAEtE,IACIqb,EADAC,EAAYzrC,KAAK0rC,iBAAiBR,EAAUI,GAGhD,IAAmB,IAAfG,GAIA,IAFAD,EAAUxrC,KAAK2qC,UAAUc,IAEbJ,WAAaA,EAErB,MAAM,IAAItiC,MAAM,kBAAoBsiC,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,sEAK1GG,EAAU,IAAIhqC,EAAOmqC,cAAc3rC,KAAMkrC,EAAUG,EAAQC,EAAiBC,EAAUpb,GACtFnwB,KAAK4rC,YAAYJ,GAQrB,OALIxrC,KAAK6qC,UAAY7qC,KAAK4qC,aAEtBY,EAAQK,QAAQ7rC,KAAK4qC,aAGlBY,GAQXI,YAAa,SAAUJ,GAEdxrC,KAAK2qC,YAEN3qC,KAAK2qC,cAIT,IAAItT,EAAIr3B,KAAK2qC,UAAUhoC,OAEvB,GAEI00B,UAEGr3B,KAAK2qC,UAAUtT,IAAMmU,EAAQM,WAAa9rC,KAAK2qC,UAAUtT,GAAGyU,WAEnE9rC,KAAK2qC,UAAU7hC,OAAOuuB,EAAI,EAAG,EAAGmU,IAUpCE,iBAAkB,SAAUR,EAAUp9B,GAElC,IAAK9N,KAAK2qC,UAEN,OAAQ,OAGIpkC,IAAZuH,IAAyBA,EAAU,MAKvC,IAHA,IACIi+B,EADA1U,EAAIr3B,KAAK2qC,UAAUhoC,OAGhB00B,KAIH,IAFA0U,EAAM/rC,KAAK2qC,UAAUtT,IAEb2U,YAAcd,GAAYa,EAAIj+B,UAAYA,EAE9C,OAAOupB,EAIf,OAAQ,GAWZ4U,IAAK,SAAUf,EAAUp9B,GAErB,OAAqD,IAA9C9N,KAAK0rC,iBAAiBR,EAAUp9B,IA6B3CmrB,IAAK,SAAUiS,EAAUI,EAAiBC,GAEtCvrC,KAAKirC,iBAAiBC,EAAU,OAEhC,IAAI/a,KAEJ,GAAIG,UAAU3tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B,OAAO1C,KAAKorC,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAUpb,IAgB9E+b,QAAS,SAAUhB,EAAUI,EAAiBC,GAE1CvrC,KAAKirC,iBAAiBC,EAAU,WAEhC,IAAI/a,KAEJ,GAAIG,UAAU3tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B,OAAO1C,KAAKorC,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAUpb,IAW7EhU,OAAQ,SAAU+uB,EAAUp9B,GAExB9N,KAAKirC,iBAAiBC,EAAU,UAEhC,IAAIxoC,EAAI1C,KAAK0rC,iBAAiBR,EAAUp9B,GAQxC,OANW,IAAPpL,IAEA1C,KAAK2qC,UAAUjoC,GAAGypC,WAClBnsC,KAAK2qC,UAAU7hC,OAAOpG,EAAG,IAGtBwoC,GASXjB,UAAW,SAAUn8B,GAIjB,QAFgBvH,IAAZuH,IAAyBA,EAAU,MAElC9N,KAAK2qC,UAAV,CAOA,IAFA,IAAItT,EAAIr3B,KAAK2qC,UAAUhoC,OAEhB00B,KAECvpB,EAEI9N,KAAK2qC,UAAUtT,GAAGvpB,UAAYA,IAE9B9N,KAAK2qC,UAAUtT,GAAG8U,WAClBnsC,KAAK2qC,UAAU7hC,OAAOuuB,EAAG,IAK7Br3B,KAAK2qC,UAAUtT,GAAG8U,WAIrBr+B,IAED9N,KAAK2qC,UAAUhoC,OAAS,KAUhCypC,gBAAiB,WAEb,OAAOpsC,KAAK2qC,UAAY3qC,KAAK2qC,UAAUhoC,OAAS,GAWpD0pC,KAAM,WAEFrsC,KAAK8qC,kBAAmB,GAW5BrF,SAAU,WAEN,GAAKzlC,KAAK+qC,SAAY/qC,KAAK2qC,WAAc3qC,KAAK6qC,UAA9C,CAKA,IAAIyB,EAAY7kC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,WAEvCtwB,KAAK6qC,WAEL7qC,KAAK4qC,YAAc0B,GAGvB,IAAIjV,EAAIr3B,KAAK2qC,UAAY3qC,KAAK2qC,UAAUhoC,OAAS,EAEjD,GAAK00B,EAAL,CAMA,IAAIkV,EAAWvsC,KAAK2qC,UAAU3a,QAC9BhwB,KAAK8qC,kBAAmB,EAMxB,GAEIzT,UAEGkV,EAASlV,IAAMr3B,KAAK8qC,mBAAuD,IAAnCyB,EAASlV,GAAGwU,QAAQS,OAQvEE,OAAQ,WAEAxsC,KAAK4qC,cAEL5qC,KAAK4qC,YAAc,OAY3B6B,QAAS,WAELzsC,KAAKiqC,YAELjqC,KAAK2qC,UAAY,KACb3qC,KAAK4qC,cAEL5qC,KAAK4qC,YAAc,OAU3BhiB,SAAU,WAEN,MAAO,yBAA2B5oB,KAAK+qC,OAAS,iBAAmB/qC,KAAKosC,kBAAoB,MAcpGplC,OAAOyF,eAAejL,EAAO6gC,OAAO//B,UAAW,iBAE3C4E,IAAK,WAED,IAAIwlC,EAAQ1sC,KACZ,OAAOA,KAAKgrC,iBAAmBhrC,KAAKgrC,eAAiB,WAEjD,OAAO0B,EAAMjH,SAASlgC,MAAMmnC,EAAOpc,gBAM/C9uB,EAAO6gC,OAAO//B,UAAUC,YAAcf,EAAO6gC,OAuB7C7gC,EAAOmqC,cAAgB,SAAUgB,EAAQzB,EAAUG,EAAQC,EAAiBC,EAAUpb,GAMlFnwB,KAAKgsC,UAAYd,EAEbG,IAEArrC,KAAK4sC,SAAU,GAGI,MAAnBtB,IAEAtrC,KAAK8N,QAAUw9B,GAOnBtrC,KAAK6sC,QAAUF,EAEXpB,IAEAvrC,KAAK8rC,UAAYP,GAGjBpb,GAAQA,EAAKxtB,SAEb3C,KAAK+nC,MAAQ5X,IAIrB3uB,EAAOmqC,cAAcrpC,WAKjBwL,QAAS,KAMT8+B,SAAS,EAMTd,UAAW,EAMX/D,MAAO,KAKP+E,UAAW,EAOX/B,QAAQ,EAORgC,OAAQ,KASRlB,QAAS,SAAUS,GAEf,IAAIU,EAAeD,EAqBnB,OAnBI/sC,KAAK+qC,QAAY/qC,KAAKgsC,YAEtBe,EAAS/sC,KAAK+sC,OAAS/sC,KAAK+sC,OAAO1c,OAAOic,GAAaA,EAEnDtsC,KAAK+nC,QAELgF,EAASA,EAAO1c,OAAOrwB,KAAK+nC,QAGhCiF,EAAgBhtC,KAAKgsC,UAAUzmC,MAAMvF,KAAK8N,QAASi/B,GAEnD/sC,KAAK8sC,YAED9sC,KAAK4sC,SAEL5sC,KAAKitC,UAIND,GASXC,OAAQ,WAEJ,OAAOjtC,KAAKktC,UAAYltC,KAAK6sC,QAAQ1wB,OAAOnc,KAAKgsC,UAAWhsC,KAAK8N,SAAW,MAOhFo/B,QAAS,WAEL,QAAUltC,KAAK6sC,WAAa7sC,KAAKgsC,WAOrCX,OAAQ,WAEJ,OAAOrrC,KAAK4sC,SAOhBO,YAAa,WAET,OAAOntC,KAAKgsC,WAOhBoB,UAAW,WAEP,OAAOptC,KAAK6sC,SAQhBV,SAAU,kBAECnsC,KAAK6sC,eACL7sC,KAAKgsC,iBACLhsC,KAAK8N,SAOhB8a,SAAU,WAEN,MAAO,gCAAkC5oB,KAAK4sC,QAAU,aAAe5sC,KAAKktC,UAAY,YAAcltC,KAAK+qC,OAAS,MAK5HvpC,EAAOmqC,cAAcrpC,UAAUC,YAAcf,EAAOmqC,cAoCpDnqC,EAAOwhB,OAAS,SAAUjgB,EAAMkQ,EAAUxC,GAKtCzQ,KAAK+C,KAAOA,EAMZ/C,KAAKwT,KAAOhS,EAAOyrB,aAQnBjtB,KAAK2H,QAAW3H,MAMhBA,KAAK8iB,WAML9iB,KAAKwR,OAAQ,EAMbxR,KAAKwmB,QAAU,EAKfxmB,KAAKqtC,UAAY,IAAI7rC,EAAOX,MAM5B,IAAIwC,EAAI,IAAIiqC,KAoBZ,GAfAttC,KAAKiT,UAEDrO,YAAc4O,KAAM,KAAMpM,OAASrD,EAAG,IAAKC,EAAG,MAC9CuhC,MAAQ/xB,KAAM,KAAMpM,MAAO,GAC3BmmC,OAAS/5B,KAAM,KAAMpM,OAASrD,EAAG,EAAKC,EAAG,IACzCwpC,MAAQh6B,KAAM,MAAOpM,OAAS/D,EAAEoqC,cAAepqC,EAAEqqC,WAAYrqC,EAAEsqC,UAA0B,GAAftqC,EAAEuqC,WAAkB,GAAsB,GAAjBvqC,EAAEwqC,aAAoBxqC,EAAEyqC,eAC3HC,YAAcv6B,KAAM,KAAMpM,MAAO,OACjC4mC,WAAax6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEs5B,WAAaz6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEu5B,WAAa16B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEw5B,WAAa36B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,KAKpE1B,EAEA,IAAK,IAAID,KAAOC,EAEZjT,KAAKiT,SAASD,GAAOC,EAASD,GAKX,iBAAhBvC,IAEPA,EAAcA,EAAYohB,MAAM,OAMpC7xB,KAAKyQ,YAAcA,OAGvBjP,EAAOwhB,OAAO1gB,WAOVoP,KAAM,aAcN08B,cAAe,SAAUxwC,EAAOC,GAE5BmC,KAAKiT,SAASrO,WAAWwC,MAAMrD,EAAInG,EACnCoC,KAAKiT,SAASrO,WAAWwC,MAAMpD,EAAInG,GASvCsnC,OAAQ,SAAUkJ,GAEd,GAAIA,EACJ,CACI,IAAItqC,EAAIsqC,EAAQtqC,EAAI/D,KAAK+C,KAAKnF,MAC1BoG,EAAI,EAAIqqC,EAAQrqC,EAAIhE,KAAK+C,KAAKlF,OAE9BkG,IAAM/D,KAAKqtC,UAAUtpC,GAAKC,IAAMhE,KAAKqtC,UAAUrpC,IAE/ChE,KAAKiT,SAASs6B,MAAMnmC,MAAMrD,EAAIA,EAAEuqC,QAAQ,GACxCtuC,KAAKiT,SAASs6B,MAAMnmC,MAAMpD,EAAIA,EAAEsqC,QAAQ,GACxCtuC,KAAKqtC,UAAUlmC,IAAIpD,EAAGC,IAI9BhE,KAAKiT,SAASsyB,KAAKn+B,MAAQpH,KAAK+C,KAAKwiC,KAAKgJ,uBAqB9CC,WAAY,SAAUzqC,EAAGC,EAAGpG,EAAOC,EAAQ4wC,EAASC,QAEhCnoC,IAAZkoC,IAAyBA,EAAU,QACvBloC,IAAZmoC,IAAyBA,EAAU,QAEzBnoC,IAAV3I,GAAiC,OAAVA,EAEvBoC,KAAKpC,MAAQA,EAIbA,EAAQoC,KAAKpC,WAGF2I,IAAX1I,GAAmC,OAAXA,EAExBmC,KAAKnC,OAASA,EAIdA,EAASmC,KAAKnC,OAGlB,IAAIqc,EAAQla,KAAK+C,KAAKk2B,IAAI/e,MAAMnW,EAAGC,EAAGxC,EAAOmtC,MAAMjnB,SASnD,OAPAxN,EAAMtc,MAAQA,EACdsc,EAAMrc,OAASA,EAEfqc,EAAMvT,OAAOQ,IAAIsnC,EAASC,GAE1Bx0B,EAAMxT,SAAY1G,MAEXka,GAQXhF,aAAc,WAEV,IAAK,IAAIxS,EAAI,EAAGA,EAAI1C,KAAK8iB,QAAQngB,OAAQD,IAErC1C,KAAK8iB,QAAQpgB,GAAG8O,OAAQ,GAShChP,QAAS,WAELxC,KAAK2H,OAAOhF,OAAS,EACrB3C,KAAK8iB,QAAQngB,OAAS,EACtB3C,KAAKyQ,YAAY9N,OAAS,EAE1B3C,KAAK+C,KAAO,KACZ/C,KAAKiT,SAAW,KAChBjT,KAAKqtC,UAAY,OAKzB7rC,EAAOwhB,OAAO1gB,UAAUC,YAAcf,EAAOwhB,OAM7Chc,OAAOyF,eAAejL,EAAOwhB,OAAO1gB,UAAW,SAE3C4E,IAAK,WAED,OAAOlH,KAAKiT,SAASrO,WAAWwC,MAAMrD,GAG1CoD,IAAK,SAAUC,GAEXpH,KAAKiT,SAASrO,WAAWwC,MAAMrD,EAAIqD,KAS3CJ,OAAOyF,eAAejL,EAAOwhB,OAAO1gB,UAAW,UAE3C4E,IAAK,WAED,OAAOlH,KAAKiT,SAASrO,WAAWwC,MAAMpD,GAG1CmD,IAAK,SAAUC,GAEXpH,KAAKiT,SAASrO,WAAWwC,MAAMpD,EAAIoD,KA+B3C5F,EAAOotC,OAAS,SAAU7rC,EAAM1B,QAEbkF,IAAXlF,IAAwBA,EAAS,MAKrCrB,KAAK+C,KAAOA,EAKZ/C,KAAKqB,OAASA,EAMdrB,KAAK+qC,QAAS,EAMd/qC,KAAKkB,SAAU,EAMflB,KAAK6uC,cAAe,EAMpB7uC,KAAK8uC,WAAY,EAMjB9uC,KAAK+uC,eAAgB,EAMrB/uC,KAAKgvC,WAAY,EAMjBhvC,KAAKivC,eAAgB,GAGzBztC,EAAOotC,OAAOtsC,WAOVoC,UAAW,aASXygC,OAAQ,aASRhgC,OAAQ,aASR+pC,WAAY,aAQZ1sC,QAAS,WAELxC,KAAK+C,KAAO,KACZ/C,KAAKqB,OAAS,KACdrB,KAAK+qC,QAAS,EACd/qC,KAAKkB,SAAU,IAKvBM,EAAOotC,OAAOtsC,UAAUC,YAAcf,EAAOotC,OAiB7CptC,EAAO2tC,cAAgB,SAAUpsC,GAK7B/C,KAAK+C,KAAOA,EAKZ/C,KAAKovC,WAMLpvC,KAAKqvC,KAAO,EAMZrvC,KAAKsvC,GAAK,GAGd9tC,EAAO2tC,cAAc7sC,WAWjB22B,IAAK,SAAUsW,GAEX,IAAIpf,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAC7CsI,GAAS,EA6Cb,MA1CsB,mBAAX2W,EAEPA,EAAS,IAAIA,EAAOvvC,KAAK+C,KAAM/C,OAI/BuvC,EAAOxsC,KAAO/C,KAAK+C,KACnBwsC,EAAOluC,OAASrB,MAIY,mBAArBuvC,EAAO7qC,YAEd6qC,EAAOV,cAAe,EACtBjW,GAAS,GAGgB,mBAAlB2W,EAAOpK,SAEdoK,EAAOT,WAAY,EACnBlW,GAAS,GAGoB,mBAAtB2W,EAAOrI,aAEdqI,EAAOR,eAAgB,EACvBnW,GAAS,GAGgB,mBAAlB2W,EAAOpqC,SAEdoqC,EAAOP,WAAY,EACnBpW,GAAS,GAGoB,mBAAtB2W,EAAOL,aAEdK,EAAON,eAAgB,EACvBrW,GAAS,GAITA,IAEI2W,EAAOV,cAAgBU,EAAOT,WAAaS,EAAOR,iBAElDQ,EAAOxE,QAAS,IAGhBwE,EAAOP,WAAaO,EAAON,iBAE3BM,EAAOruC,SAAU,GAGrBlB,KAAKqvC,KAAOrvC,KAAKovC,QAAQtnC,KAAKynC,GAGH,mBAAhBA,EAAO79B,MAEd69B,EAAO79B,KAAKnM,MAAMgqC,EAAQpf,GAGvBof,GAIA,MAWfpzB,OAAQ,SAAUozB,EAAQ/sC,GAMtB,SAJgB+D,IAAZ/D,IAAyBA,GAAU,GAEvCxC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAER,GAAItvC,KAAKovC,QAAQpvC,KAAKsvC,MAAQC,EAS1B,OAPI/sC,GAEA+sC,EAAO/sC,UAGXxC,KAAKovC,QAAQtmC,OAAO9I,KAAKsvC,GAAI,QAC7BtvC,KAAKqvC,QAWjBpF,UAAW,WAIP,IAFAjqC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAERtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAI9sC,UAG1BxC,KAAKovC,QAAQzsC,OAAS,EACtB3C,KAAKqvC,KAAO,GAShB3qC,UAAW,WAIP,IAFA1E,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIvE,QAAU/qC,KAAKovC,QAAQpvC,KAAKsvC,IAAIT,cAEtD7uC,KAAKovC,QAAQpvC,KAAKsvC,IAAI5qC,aAWlCygC,OAAQ,WAIJ,IAFAnlC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIvE,QAAU/qC,KAAKovC,QAAQpvC,KAAKsvC,IAAIR,WAEtD9uC,KAAKovC,QAAQpvC,KAAKsvC,IAAInK,UAYlC+B,WAAY,WAIR,IAFAlnC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIvE,QAAU/qC,KAAKovC,QAAQpvC,KAAKsvC,IAAIP,eAEtD/uC,KAAKovC,QAAQpvC,KAAKsvC,IAAIpI,cAWlC/hC,OAAQ,WAIJ,IAFAnF,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIpuC,SAAWlB,KAAKovC,QAAQpvC,KAAKsvC,IAAIN,WAEvDhvC,KAAKovC,QAAQpvC,KAAKsvC,IAAInqC,UAWlC+pC,WAAY,WAIR,IAFAlvC,KAAKsvC,GAAKtvC,KAAKqvC,KAERrvC,KAAKsvC,MAEJtvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIpuC,SAAWlB,KAAKovC,QAAQpvC,KAAKsvC,IAAIL,eAEvDjvC,KAAKovC,QAAQpvC,KAAKsvC,IAAIJ,cAUlC1sC,QAAS,WAELxC,KAAKiqC,YAELjqC,KAAK+C,KAAO,OAKpBvB,EAAO2tC,cAAc7sC,UAAUC,YAAcf,EAAO2tC,cAiBpD3tC,EAAOguC,MAAQ,SAAUzsC,GAKrB/C,KAAK+C,KAAOA,EAEZvE,KAAK8J,uBAAuB9D,KAAKxE,MAMjCA,KAAKgyB,KAAO,cAWZhyB,KAAKyvC,yBAA0B,EAM/BzvC,KAAKkN,QAAS,EAOdlN,KAAKuB,eAAiB,IAAIC,EAAOC,OAOjCzB,KAAKsa,MAAQta,KAKbA,KAAK0vC,qBAAuB,EAM5B1vC,KAAK2vC,WAAa,SAMlB3vC,KAAK4vC,UAAY,KAMjB5vC,KAAK0a,UAAaxW,EAAG,EAAGyW,EAAG,EAAGxX,EAAG,EAAGD,EAAG,EAAGmT,MAAO,EAAGyT,KAAM,WAErD9pB,KAAK+C,KAAK6T,cAGX5W,KAAK0a,SAASxX,EAAI,GAGlBH,EAAKyT,QAELxW,KAAK6vC,YAAY9sC,EAAKyT,SAI9BhV,EAAOguC,MAAMltC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACnEd,EAAOguC,MAAMltC,UAAUC,YAAcf,EAAOguC,MAS5ChuC,EAAOguC,MAAMltC,UAAUutC,YAAc,SAAUr5B,GAEvCA,EAAOi5B,0BAEPzvC,KAAKyvC,wBAA0Bj5B,EAAOi5B,yBAGtCj5B,EAAOs5B,iBAEP9vC,KAAK+vC,mBAAmBv5B,EAAOs5B,kBASvCtuC,EAAOguC,MAAMltC,UAAUyhC,KAAO,WAE1BviC,EAAOwuC,IAAIC,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE5CjW,EAAOioB,OAAOymB,cAAclwC,KAAK+C,KAAKmU,OAAQ,QAC9C1V,EAAOioB,OAAO0mB,eAAenwC,KAAK+C,KAAKmU,OAAQ,QAE/ClX,KAAKowC,mBAST5uC,EAAOguC,MAAMltC,UAAUoC,UAAY,WAE/B1E,KAAK0vC,qBAAuB,EAK5B,IAFA,IAAIhtC,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,MAUZlB,EAAOguC,MAAMltC,UAAU6iC,OAAS,WAK5B,IAFA,IAAIziC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGyiC,UAWzB3jC,EAAOguC,MAAMltC,UAAU4kC,WAAa,WAGhClnC,KAAK+C,KAAK+X,OAAOqqB,SAGbnlC,KAAK+C,KAAK+X,OAAO9S,SAEjBhI,KAAK+C,KAAK+X,OAAO9S,OAAOk/B,aAExBlnC,KAAK8C,kBAEL9C,KAAK+C,KAAK+X,OAAO8qB,gBAGrB,IAAK,IAAIljC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGwkC,aAGrBlnC,KAAK8C,mBASTtB,EAAOguC,MAAMltC,UAAUQ,gBAAkB,WAErC9C,KAAKsB,WAAa,EAElB,IAAK,IAAIoB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,mBAUzBtB,EAAOguC,MAAMltC,UAAU8tC,gBAAkB,gBAEb7pC,IAApB8pC,SAASC,OAETtwC,KAAK2vC,WAAa,wBAEappC,IAA1B8pC,SAASE,aAEdvwC,KAAK2vC,WAAa,8BAEUppC,IAAvB8pC,SAASG,UAEdxwC,KAAK2vC,WAAa,2BAESppC,IAAtB8pC,SAASI,SAEdzwC,KAAK2vC,WAAa,qBAIlB3vC,KAAK2vC,WAAa,KAGtB,IAAIjD,EAAQ1sC,KAEZA,KAAK4vC,UAAY,SAAUc,GAEvB,OAAOhE,EAAMiE,iBAAiBD,IAGlC1wC,KAAK4wC,eAAiB,WAElB,OAAOlE,EAAMkD,WAAYp8B,KAAM,WAGnCxT,KAAK6wC,gBAAkB,WAEnB,OAAOnE,EAAMkD,WAAYp8B,KAAM,YAGnCxT,KAAK8wC,SAAW,SAAUJ,QAEKnqC,IAAtB8pC,SAASU,UAA4BV,SAASU,YAE/CrE,EAAMiE,iBAAiBD,IAK3B1wC,KAAK2vC,YAELU,SAASW,iBAAiBhxC,KAAK2vC,WAAY3vC,KAAK4vC,WAAW,GAG/Dx/B,OAAO6gC,OAASjxC,KAAK4vC,UACrBx/B,OAAO8gC,QAAUlxC,KAAK4vC,UAEtBx/B,OAAO+gC,WAAanxC,KAAK4vC,UACzBx/B,OAAOghC,WAAapxC,KAAK4vC,UAEzBx/B,OAAO4gC,iBAAiB,QAAShxC,KAAK8wC,UAElC9wC,KAAK+C,KAAKknB,OAAOonB,aAAeC,SAASC,MAErCD,SAASC,IAAIC,aAEbF,SAASC,IAAIC,YAAYR,iBAAiBhxC,KAAK4wC,gBAG/CU,SAASC,IAAIE,aAEbH,SAASC,IAAIE,YAAYT,iBAAiBhxC,KAAK6wC,iBAG/CS,SAASC,IAAIG,KAEbJ,SAASC,IAAIG,GAAG,YAAa1xC,KAAK6wC,iBAClCS,SAASC,IAAIG,GAAG,YAAa1xC,KAAK4wC,mBAgB9CpvC,EAAOguC,MAAMltC,UAAUquC,iBAAmB,SAAUD,GAIhD,OAAQA,EAAMl9B,MAEV,IAAK,OACL,IAAK,WAED,YADAxT,KAAK+C,KAAK4uC,UAAUjB,GAExB,IAAK,QACL,IAAK,QACL,IAAK,WAED,YADA1wC,KAAK+C,KAAK6uC,UAAUlB,GAIxB1wC,KAAKyvC,0BAKLY,SAASC,QAAUD,SAASG,WAAaH,SAASI,UAAYJ,SAASE,cAA+B,UAAfG,EAAMl9B,KAE7FxT,KAAK+C,KAAK8uC,WAAWnB,GAIrB1wC,KAAK+C,KAAK+uC,YAAYpB,KAkB9BlvC,EAAOguC,MAAMltC,UAAUytC,mBAAqB,SAAU15B,GAE9CrW,KAAK+C,KAAK6T,cAEdpV,EAAO2e,MAAM4xB,aAAa17B,EAAOrW,KAAK0a,UACtClZ,EAAO2e,MAAM6xB,YAAYhyC,KAAK0a,UAG9B1a,KAAK0a,SAASxW,GAAK,IACnBlE,KAAK0a,SAASC,GAAK,IACnB3a,KAAK0a,SAASvX,GAAK,IACnBnD,KAAK0a,SAASxX,EAAI,IAQtB1B,EAAOguC,MAAMltC,UAAUE,QAAU,WAEzBxC,KAAK2vC,YAELU,SAAS4B,oBAAoBjyC,KAAK2vC,WAAY3vC,KAAK4vC,WAAW,GAGlEx/B,OAAO+gC,WAAa,KACpB/gC,OAAOghC,WAAa,KAEpBhhC,OAAO6gC,OAAS,KAChB7gC,OAAO8gC,QAAU,KAEjB9gC,OAAO6hC,oBAAoB,QAASjyC,KAAK8wC,WAkB7CtvC,EAAOguC,MAAMltC,UAAU22B,IAAM,SAAUvwB,EAAOwpC,EAAQtpC,GAElD,OAAIF,EAAMrH,SAAWrB,KAEV0I,GAGPA,EAAMypC,MAAQzpC,EAAMrH,QAAUqH,EAAMrH,OAAO+wC,MAE3C1pC,EAAMrH,OAAOgxC,eAAe3pC,QAGlBnC,IAAVqC,EAEA5I,KAAKyI,SAASC,GAId1I,KAAK2I,WAAWD,EAAOE,GAGpBF,IAQX1B,OAAOyF,eAAejL,EAAOguC,MAAMltC,UAAW,mBAE1C4E,IAAK,WAED,OAAOlH,KAAK0a,SAASrE,OAGzBlP,IAAK,SAAUkP,GAEXrW,KAAK+vC,mBAAmB15B,MAWhCrP,OAAOyF,eAAejL,EAAOguC,MAAMltC,UAAW,YAE1C4E,IAAK,WAED,OAAO1I,KAAKC,WAAWipB,UAAYlpB,KAAKC,WAAWC,QAGvDyI,IAAK,SAAUC,GAIP5I,KAAKC,WAAWipB,QAFhBtgB,EAE0B5I,KAAKC,WAAWC,OAIhBF,KAAKC,WAAWE,WAgCtD6C,EAAO8wC,MAAQ,SAAUvvC,EAAM1B,EAAQ2wB,EAAMugB,EAAYC,EAAYC,QAE9ClsC,IAAfgsC,IAA4BA,GAAa,QAC1BhsC,IAAfisC,IAA4BA,GAAa,QACrBjsC,IAApBksC,IAAiCA,EAAkBjxC,EAAOkxC,QAAQC,QAOtE3yC,KAAK+C,KAAOA,OAEGwD,IAAXlF,IAEAA,EAAS0B,EAAKE,OAOlBjD,KAAKgyB,KAAOA,GAAQ,QAQpBhyB,KAAKoV,EAAI,EAET5W,KAAK8J,uBAAuB9D,KAAKxE,MAE7BuyC,GAEAvyC,KAAK+C,KAAKuX,MAAM7R,SAASzI,MACzBA,KAAKoV,EAAIpV,KAAK+C,KAAKuX,MAAM7X,SAASE,QAGlCtB,IAEAA,EAAOoH,SAASzI,MAChBA,KAAKoV,EAAI/T,EAAOoB,SAASE,QAQ7B3C,KAAKwT,KAAOhS,EAAOirB,MAMnBzsB,KAAK4yC,YAAcpxC,EAAOirB,MAO1BzsB,KAAK6yC,OAAQ,EAOb7yC,KAAKkN,QAAS,EAOdlN,KAAK8yC,eAAgB,EAYrB9yC,KAAK+yC,gBAAiB,EAUtB/yC,KAAKgzC,UAAYxxC,EAAOsE,OAQxB9F,KAAKizC,OAAS,KAWdjzC,KAAKkzC,qBAAsB,EAQ3BlzC,KAAKmzC,4BAA6B,EAYlCnzC,KAAKozC,iBAAmB,IAAI5xC,EAAO6gC,OAanCriC,KAAKqzC,eAAiB,IAAI7xC,EAAO6gC,OAYjCriC,KAAKszC,iBAAmB,IAAI9xC,EAAO6gC,OAYnCriC,KAAKuzC,gBAAkB,IAAI/xC,EAAO6gC,OAUlCriC,KAAKwyC,WAAaA,EASlBxyC,KAAKwzC,iBAAkB,EAQvBxzC,KAAKyyC,gBAAkBA,EAkBvBzyC,KAAKyzC,qBAAuB,KAM5BzzC,KAAK0zC,UAAY,IAAIlyC,EAAO6gC,OAM5BriC,KAAK2zC,YAAc,EAUnB3zC,KAAK4zC,eAAgB,EAOrB5zC,KAAK6zC,aAAe,IAAIryC,EAAOX,MAa/Bb,KAAKoyC,QAOLpyC,KAAK8zC,cAAgB,KAGzBtyC,EAAO8wC,MAAMhwC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACnEd,EAAO8wC,MAAMhwC,UAAUC,YAAcf,EAAO8wC,MAO5C9wC,EAAO8wC,MAAMyB,YAAc,EAO3BvyC,EAAO8wC,MAAM0B,aAAe,EAO5BxyC,EAAO8wC,MAAM2B,aAAe,EAO5BzyC,EAAO8wC,MAAM4B,WAAa,EAO1B1yC,EAAO8wC,MAAM6B,gBAAkB,EAO/B3yC,EAAO8wC,MAAM8B,gBAAkB,EAwB/B5yC,EAAO8wC,MAAMhwC,UAAU22B,IAAM,SAAUvwB,EAAOwpC,EAAQtpC,GAIlD,YAFerC,IAAX2rC,IAAwBA,GAAS,GAEjCxpC,EAAMrH,SAAWrB,KAEV0I,GAGPA,EAAMypC,MAAQzpC,EAAMrH,QAAUqH,EAAMrH,OAAO+wC,MAE3C1pC,EAAMrH,OAAOgxC,eAAe3pC,QAGlBnC,IAAVqC,GAEAF,EAAM0M,EAAIpV,KAAKyC,SAASE,OAExB3C,KAAKyI,SAASC,KAId1I,KAAK2I,WAAWD,EAAOE,GAEvB5I,KAAKq0C,WAGLr0C,KAAKwyC,YAAc9pC,EAAM2oB,eAAe,SAA0B,OAAf3oB,EAAMypC,KAEzDnyC,KAAK+C,KAAK+jC,QAAQ9tB,OAAOtQ,EAAO1I,KAAKyyC,iBAEhC/pC,EAAMypC,MAEXnyC,KAAKs0C,UAAU5rC,IAGf1I,KAAKkzC,qBAAyBxqC,EAAM89B,QAAS99B,EAAM6rC,eAEnD7rC,EAAM6rC,cAAe,IAGpBrC,GAAUxpC,EAAM8rC,QAEjB9rC,EAAM8rC,OAAOC,wBAAwB/rC,EAAO1I,MAG5B,OAAhBA,KAAKizC,SAELjzC,KAAKizC,OAASvqC,GAGXA,IAkBXlH,EAAO8wC,MAAMhwC,UAAUoyC,MAAQ,SAAUhsC,EAAOE,EAAOspC,GAEnD,OAAOlyC,KAAKi5B,IAAIvwB,EAAOwpC,EAAQtpC,IAWnCpH,EAAO8wC,MAAMhwC,UAAUgyC,UAAY,SAAU5rC,GAEzC,OAAIA,EAAMrH,SAAWrB,OAIF,IAFHA,KAAKoyC,KAAK/oC,QAAQX,KAI1B1I,KAAKoyC,KAAKtqC,KAAKY,IACR,IAenBlH,EAAO8wC,MAAMhwC,UAAU+vC,eAAiB,SAAU3pC,GAE9C,GAAIA,EACJ,CACI,IAAIE,EAAQ5I,KAAKoyC,KAAK/oC,QAAQX,GAE9B,IAAe,IAAXE,EAGA,OADA5I,KAAKoyC,KAAKtpC,OAAOF,EAAO,IACjB,EAIf,OAAO,GAoBXpH,EAAO8wC,MAAMhwC,UAAUqyC,YAAc,SAAUlyC,EAAUyvC,GAErD,GAAIzvC,aAAoBjB,EAAO8wC,MAE3B7vC,EAASmyC,QAAQ50C,KAAMkyC,QAEtB,GAAIzqC,MAAMC,QAAQjF,GAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAASE,OAAQD,IAEjC1C,KAAKi5B,IAAIx2B,EAASC,GAAIwvC,GAI9B,OAAOzvC,GAUXjB,EAAO8wC,MAAMhwC,UAAUuyC,MAAQ,SAAUjsC,GAErC,OAAIA,EAAQ,GAAKA,GAAS5I,KAAKyC,SAASE,QAE5B,EAID3C,KAAKwJ,WAAWZ,IA2B/BpH,EAAO8wC,MAAMhwC,UAAUkG,OAAS,SAAUzE,EAAGC,EAAGgP,EAAK3F,EAAOH,EAAQtE,QAEjDrC,IAAX2G,IAAwBA,GAAS,GAErC,IAAIxE,EAAQ,IAAI1I,KAAKgzC,UAAUhzC,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,GAMrD,OAJA3E,EAAMwE,OAASA,EACfxE,EAAMxH,QAAUgM,EAChBxE,EAAMmqC,MAAQ3lC,EAEPlN,KAAKi5B,IAAIvwB,GAAO,EAAOE,IAoDlCpH,EAAO8wC,MAAMhwC,UAAUwyC,eAAiB,SAAUC,EAAU/hC,EAAK3F,EAAOH,EAAQ8nC,EAAU1L,QAExE/iC,IAAV8G,IAAuBA,EAAQ,QACpB9G,IAAX2G,IAAwBA,GAAS,GAEhCzF,MAAMC,QAAQsL,KAEfA,GAAQA,IAGPvL,MAAMC,QAAQ2F,KAEfA,GAAUA,IAGd,IAAIq/B,EAAQ1sC,KACRyC,KAiBJ,OAfAuQ,EAAI2d,QAAQ,SAAUskB,GAElB5nC,EAAMsjB,QAAQ,SAAUukB,GAEpB,IAAK,IAAIxyC,EAAI,EAAGA,EAAIqyC,EAAUryC,IAC9B,CACI,IAAIgG,EAAQgkC,EAAMlkC,OAAO,EAAG,EAAGysC,EAAWC,EAAahoC,GAEnD8nC,GAAYA,EAASxwC,KAAK8kC,GAAmB5gC,EAAOA,EAAOhG,GAE/DD,EAASqF,KAAKY,QAKnBjG,GAWXjB,EAAO8wC,MAAMhwC,UAAU+xC,QAAU,WAI7B,IAFA,IAAI3xC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAG0S,EAAI1S,GAwD7BlB,EAAO8wC,MAAMhwC,UAAU6yC,MAAQ,SAAUv3C,EAAOC,EAAQu3C,EAAWC,EAAYz0C,EAAU6W,GAKrF,QAHiBlR,IAAb3F,IAA0BA,EAAWY,EAAOotB,eACjCroB,IAAXkR,IAAwBA,EAAS,GAER,IAAzBzX,KAAKyC,SAASE,QAAgB8U,EAASzX,KAAKyC,SAASE,SAAsB,IAAX/E,IAA4B,IAAZC,EAEhF,OAAO,EAOX,IAAK,IAJDqG,EAAI,IAAI1C,EAAOS,UAAU,EAAG,EAAGmzC,EAAWC,GAC1ChgC,EAAKzX,EAAQw3C,EACb7wB,EAAK1mB,EAASw3C,EAET3yC,EAAI+U,EAAQ/U,EAAI1C,KAAKyC,SAASE,OAAQD,IAC/C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,GAAIgG,EAAM4sC,QASV,GAPI5sC,EAAM4sC,QAAQpxC,EAAGtD,IAON,IAAXhD,EAGAsG,EAAEF,GAAKqxC,EAEHnxC,EAAEF,IAAMugB,IAERrgB,EAAEH,GAAKqxC,EACPlxC,EAAEF,EAAI,QAGT,IAAgB,IAAZnG,EAGLqG,EAAEH,GAAKqxC,EAEHlxC,EAAEH,IAAMsR,IAERnR,EAAEH,EAAI,EACNG,EAAEF,GAAKqxC,QAQX,GAFAnxC,EAAEH,GAAKqxC,EAEHlxC,EAAEH,IAAMsR,IAERnR,EAAEH,EAAI,EACNG,EAAEF,GAAKqxC,EAEHnxC,EAAEF,IAAMugB,GAGR,OAAO,EAMvB,OAAO,GAYX/iB,EAAO8wC,MAAMhwC,UAAUizC,YAAc,SAAU3sC,GAS3C,QAPcrC,IAAVqC,IAAuBA,EAAQ,GAE/BA,EAAQ5I,KAAKyC,SAASE,OAAS,IAE/BiG,EAAQ,GAGR5I,KAAKizC,OAIL,OAFAjzC,KAAK2zC,YAAc/qC,EACnB5I,KAAKizC,OAASjzC,KAAKyC,SAASzC,KAAK2zC,aAC1B3zC,KAAKizC,QAYpBzxC,EAAO8wC,MAAMhwC,UAAUkzC,KAAO,WAE1B,GAAIx1C,KAAKizC,OAcL,OAXIjzC,KAAK2zC,aAAe3zC,KAAKyC,SAASE,OAAS,EAE3C3C,KAAK2zC,YAAc,EAInB3zC,KAAK2zC,cAGT3zC,KAAKizC,OAASjzC,KAAKyC,SAASzC,KAAK2zC,aAE1B3zC,KAAKizC,QAYpBzxC,EAAO8wC,MAAMhwC,UAAUmzC,SAAW,WAE9B,GAAIz1C,KAAKizC,OAcL,OAXyB,IAArBjzC,KAAK2zC,YAEL3zC,KAAK2zC,YAAc3zC,KAAKyC,SAASE,OAAS,EAI1C3C,KAAK2zC,cAGT3zC,KAAKizC,OAASjzC,KAAKyC,SAASzC,KAAK2zC,aAE1B3zC,KAAKizC,QAapBzxC,EAAO8wC,MAAMhwC,UAAUozC,KAAO,SAAUC,EAAQ1sC,GAE5CjJ,KAAKgJ,aAAa2sC,EAAQ1sC,GAC1BjJ,KAAKq0C,WAUT7yC,EAAO8wC,MAAMhwC,UAAUszC,WAAa,SAAUltC,GAQ1C,OANIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS1I,KAAKyC,SAASE,SAE9D3C,KAAKmc,OAAOzT,GAAO,GAAO,GAC1B1I,KAAKi5B,IAAIvwB,GAAO,IAGbA,GAOXlH,EAAO8wC,MAAMhwC,UAAUoH,gBAAkBlI,EAAO8wC,MAAMhwC,UAAUszC,WAShEp0C,EAAO8wC,MAAMhwC,UAAUwzC,WAAa,SAAUptC,GAQ1C,OANIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS,IAEhD1I,KAAKmc,OAAOzT,GAAO,GAAO,GAC1B1I,KAAK00C,MAAMhsC,EAAO,GAAG,IAGlBA,GAOXlH,EAAO8wC,MAAMhwC,UAAUqH,gBAAkBnI,EAAO8wC,MAAMhwC,UAAUwzC,WAShEt0C,EAAO8wC,MAAMhwC,UAAUyzC,OAAS,SAAUrtC,GAEtC,GAAIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS1I,KAAKyC,SAASE,OAAS,EAC3E,CACI,IAAIO,EAAIlD,KAAK61C,SAASntC,GAClBvF,EAAInD,KAAK60C,MAAM3xC,EAAI,GAEnBC,GAEAnD,KAAK01C,KAAKhtC,EAAOvF,GAIzB,OAAOuF,GAUXlH,EAAO8wC,MAAMhwC,UAAU0zC,SAAW,SAAUttC,GAExC,GAAIA,EAAMrH,SAAWrB,MAAQA,KAAK61C,SAASntC,GAAS,EACpD,CACI,IAAIxF,EAAIlD,KAAK61C,SAASntC,GAClBvF,EAAInD,KAAK60C,MAAM3xC,EAAI,GAEnBC,GAEAnD,KAAK01C,KAAKhtC,EAAOvF,GAIzB,OAAOuF,GAWXlH,EAAO8wC,MAAMhwC,UAAU2zC,GAAK,SAAUrtC,EAAO7E,EAAGC,GAE5C,GAAI4E,EAAQ,GAAKA,EAAQ5I,KAAKyC,SAASE,OAEnC,OAAQ,EAIR3C,KAAKwJ,WAAWZ,GAAO7E,EAAIA,EAC3B/D,KAAKwJ,WAAWZ,GAAO5E,EAAIA,GAWnCxC,EAAO8wC,MAAMhwC,UAAUgc,QAAU,WAE7Bte,KAAKyC,SAAS6b,UACdte,KAAKq0C,WAUT7yC,EAAO8wC,MAAMhwC,UAAUuzC,SAAW,SAAUntC,GAExC,OAAO1I,KAAKyC,SAAS4G,QAAQX,IAYjClH,EAAO8wC,MAAMhwC,UAAU4zC,UAAY,SAAUlkB,GAEzC,OAAOhyB,KAAKm2C,SAAS,OAAQnkB,IAejCxwB,EAAO8wC,MAAMhwC,UAAUgyB,QAAU,SAAU8hB,EAAUC,GAEjD,IAAIztC,EAAQ5I,KAAK61C,SAASO,GAE1B,IAAe,IAAXxtC,EAkBA,OAhBIytC,EAASh1C,SAELg1C,EAASh1C,kBAAkBG,EAAO8wC,MAElC+D,EAASh1C,OAAO8a,OAAOk6B,GAIvBA,EAASh1C,OAAOwH,YAAYwtC,IAIpCr2C,KAAKmc,OAAOi6B,GAEZp2C,KAAK00C,MAAM2B,EAAUztC,GAEdwtC,GAcf50C,EAAO8wC,MAAMhwC,UAAUg0C,YAAc,SAAU5tC,EAAOsK,GAElD,IAAI8d,EAAM9d,EAAIrQ,OAEd,OAAY,IAARmuB,GAAa9d,EAAI,KAAMtK,IAIV,IAARooB,GAAa9d,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,MAI5C,IAAR8d,GAAa9d,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAI/E,IAAR8d,GAAa9d,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,OA0B/IxR,EAAO8wC,MAAMhwC,UAAU+vB,YAAc,SAAU3pB,EAAOsK,EAAK5L,EAAOmvC,EAAW7R,GAoBzE,QAlBcn+B,IAAVm+B,IAAuBA,GAAQ,GAEnC6R,EAAYA,GAAa,GAgBpBv2C,KAAKs2C,YAAY5tC,EAAOsK,MAAU0xB,GAAS6R,EAAY,GAExD,OAAO,EAGX,IAAIzlB,EAAM9d,EAAIrQ,OAmCd,OAjCY,IAARmuB,EAEkB,IAAdylB,EAAmB7tC,EAAMsK,EAAI,IAAM5L,EAChB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,KAAO5L,GAEhC,IAAR0pB,EAEa,IAAdylB,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAM5L,EACxB,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,GAExC,IAAR0pB,EAEa,IAAdylB,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EAChC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,GAEhD,IAAR0pB,IAEa,IAAdylB,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EACxC,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdmvC,EAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdmvC,IAAmB7tC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,KAGlE,GAaX5F,EAAO8wC,MAAMhwC,UAAUk0C,cAAgB,SAAU9tC,EAAOsK,EAAK5L,EAAOs9B,GAIhE,QAFcn+B,IAAVm+B,IAAuBA,GAAQ,GAE/B1kC,OAAS0I,EAAMrH,OAEf,OAAO,EAGX,IAAIu3B,EAASp3B,EAAOgwB,MAAMM,YAAYppB,EAAOsK,GAE7C,aAAiBzM,IAAXqyB,GAAyB8L,GAAW9L,IAAWxxB,IAuBzD5F,EAAO8wC,MAAMhwC,UAAU6E,IAAM,SAAUuB,EAAOsK,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW7R,GAS3F,QAPcn+B,IAAVm+B,IAAuBA,GAAQ,GAEnC1xB,EAAMA,EAAI6e,MAAM,UAEGtrB,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,KAE7B,IAAfD,GAAyBA,GAAc/tC,EAAMmqC,UAA6B,IAAjB6D,GAA2BA,GAAgBhuC,EAAMxH,SAE3G,OAAOlB,KAAKqyB,YAAY3pB,EAAOsK,EAAK5L,EAAOmvC,EAAW7R,IAoB9DljC,EAAO8wC,MAAMhwC,UAAUq0C,OAAS,SAAU3jC,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW7R,QAEpEn+B,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,QACnCnwC,IAAVm+B,IAAuBA,GAAQ,GAEnC1xB,EAAMA,EAAI6e,MAAM,KAChB0kB,EAAYA,GAAa,EAIzB,IAAK,IAFDzlB,EAAM9wB,KAAKyC,SAASE,OAEfD,EAAI,EAAGA,EAAIouB,EAAKpuB,IACzB,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEpB+zC,IAAc/tC,EAAMmqC,OAAY6D,IAAgBhuC,EAAMxH,SAExDlB,KAAKqyB,YAAY3pB,EAAOsK,EAAK5L,EAAOmvC,EAAW7R,KAqB3DljC,EAAO8wC,MAAMhwC,UAAUs0C,eAAiB,SAAU5jC,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW7R,QAE5En+B,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,QACnCnwC,IAAVm+B,IAAuBA,GAAQ,GAEnC6R,EAAYA,GAAa,EAIzB,IAAK,IAFDzlB,EAAM9wB,KAAKyC,SAASE,OAEfD,EAAI,EAAGA,EAAIouB,EAAKpuB,IACzB,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEpB+zC,IAAc/tC,EAAMmqC,OAAY6D,IAAgBhuC,EAAMxH,UAEpDwH,aAAiBlH,EAAO8wC,MAExB5pC,EAAMkuC,eAAe5jC,EAAK5L,EAAOqvC,EAAYC,EAAcH,EAAW7R,GAItE1kC,KAAKqyB,YAAY3pB,EAAOsK,EAAI6e,MAAM,KAAMzqB,EAAOmvC,EAAW7R,MAmB1EljC,EAAO8wC,MAAMhwC,UAAUu0C,SAAW,SAAU7jC,EAAK5L,EAAOqvC,EAAYC,EAAchS,QAE3Dn+B,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,QACnCnwC,IAAVm+B,IAAuBA,GAAQ,GAEnC,IAAK,IAAIhiC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,KAAM+zC,GAAc/tC,EAAMmqC,UAAY6D,GAAgBhuC,EAAMxH,WAEnDlB,KAAKw2C,cAAc9tC,EAAOsK,EAAK5L,EAAOs9B,GAEvC,OAAO,EAKnB,OAAO,GAeXljC,EAAO8wC,MAAMhwC,UAAUw0C,SAAW,SAAU9jC,EAAK5L,EAAOqvC,EAAYC,QAE7CnwC,IAAfkwC,IAA4BA,GAAa,QACxBlwC,IAAjBmwC,IAA8BA,GAAe,GAEjD,IAAK,IAAIh0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,KAAM+zC,GAAc/tC,EAAMmqC,UAAY6D,GAAgBhuC,EAAMxH,UAEpDlB,KAAKw2C,cAAc9tC,EAAOsK,EAAK5L,GAE/B,OAAO,EAKnB,OAAO,GAcX5F,EAAO8wC,MAAMhwC,UAAUy0C,OAAS,SAAUC,EAAUC,EAAQR,EAAYC,GAEpE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5Dl1C,EAAO8wC,MAAMhwC,UAAU40C,OAAS,SAAUF,EAAUC,EAAQR,EAAYC,GAEpE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5Dl1C,EAAO8wC,MAAMhwC,UAAU60C,YAAc,SAAUH,EAAUC,EAAQR,EAAYC,GAEzE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAc5Dl1C,EAAO8wC,MAAMhwC,UAAU80C,UAAY,SAAUJ,EAAUC,EAAQR,EAAYC,GAEvE12C,KAAK22C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAQ5Dl1C,EAAO8wC,MAAMhwC,UAAU+0C,KAAO,WAE1Br3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,GAQnBM,EAAO8wC,MAAMhwC,UAAUg1C,QAAU,WAE7Bt3C,KAAKu3C,cAAc,QAAQ,IAQ/B/1C,EAAO8wC,MAAMhwC,UAAUk1C,OAAS,WAE5Bx3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,GAQnBM,EAAO8wC,MAAMhwC,UAAUm1C,UAAY,WAE/Bz3C,KAAKu3C,cAAc,UAAU,IAajC/1C,EAAO8wC,MAAMhwC,UAAUo1C,SAAW,SAAU3zC,EAAGC,EAAGgP,EAAK3F,EAAOsqC,GAE1D33C,KAAK2wB,QAAQ3wB,KAAK43C,WAAY53C,KAAM23C,EAAa5zC,EAAGC,EAAGgP,EAAK3F,IAahE7L,EAAO8wC,MAAMhwC,UAAUi1C,cAAgB,SAAUvC,EAAU6C,GAEvD,IAAI1nB,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,KAEA,IAASztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B,IAAK,IAAIA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAAW2qC,GAAenvC,EAAMssC,IAEtCtsC,EAAMssC,GAAUzvC,MAAMmD,EAAOynB,KAczC3uB,EAAO8wC,MAAMhwC,UAAUw1C,kBAAoB,SAAUpvC,EAAOssC,EAAUryC,GAIlE,GAAe,IAAXA,GAEA,GAAI+F,EAAMssC,EAAS,IAEf,OAAOtsC,EAAMssC,EAAS,SAGzB,GAAe,IAAXryC,GAEL,GAAI+F,EAAMssC,EAAS,IAAIA,EAAS,IAE5B,OAAOtsC,EAAMssC,EAAS,IAAIA,EAAS,SAGtC,GAAe,IAAXryC,GAEL,GAAI+F,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,OAAOtsC,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGnD,GAAe,IAAXryC,GAEL,GAAI+F,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,OAAOtsC,EAAMssC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGhE,GAAItsC,EAAMssC,GAEX,OAAOtsC,EAAMssC,GAGjB,OAAO,GAcXxzC,EAAO8wC,MAAMhwC,UAAUy1C,QAAU,SAAUC,EAAQlqC,GAE/C,QAAevH,IAAXyxC,EAAJ,CAQA,IAAIC,GAFJD,EAASA,EAAOnmB,MAAM,MAEIlvB,OAE1B,QAAgB4D,IAAZuH,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,UAKV,GAAuB,iBAAZA,EAGP,IAAIoqC,GADJpqC,EAAUA,EAAQ+jB,MAAM,MACIlvB,OAIpC,IAAIwtB,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,KAEA,IAASztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAO5B,IAAK,IAHDsyC,EAAW,KACX1L,EAAkB,KAEb5mC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1BsyC,EAAWh1C,KAAK83C,kBAAkBpvC,EAAOsvC,EAAQC,GAE7CnqC,GAAWknC,GAEX1L,EAAkBtpC,KAAK83C,kBAAkBpvC,EAAOoF,EAASoqC,GAEzDlD,EAASzvC,MAAM+jC,EAAiBnZ,IAE3B6kB,GAELA,EAASzvC,MAAMmD,EAAOynB,MAUlC3uB,EAAO8wC,MAAMhwC,UAAUoC,UAAY,WAE/B,GAAI1E,KAAK+yC,eAGL,OADA/yC,KAAKwC,WACE,EAGX,IAAKxC,KAAKkN,SAAWlN,KAAKqB,OAAO6L,OAG7B,OADAlN,KAAKm4C,eAAiB,GACf,EASX,IAFA,IAAIz1C,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,IAIR,OAAO,GAWXlB,EAAO8wC,MAAMhwC,UAAU6iC,OAAS,WAK5B,IAFA,IAAIziC,EAAI1C,KAAKyC,SAASE,OAEfD,KACP,CACI,IAAIouB,EAAM9wB,KAAKyC,SAASE,OAEpBD,GAAKouB,IAAOpuB,EAAIouB,EAAM,GAE1B,IAAIpoB,EAAQ1I,KAAKyC,SAASC,GAErB1C,KAAKmzC,6BAA8BzqC,EAAMwE,QAE1CxE,EAAMy8B,WAUlB3jC,EAAO8wC,MAAMhwC,UAAU4kC,WAAa,WAG5BlnC,KAAK4zC,gBAEL5zC,KAAK+D,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAClF/D,KAAKgE,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAGtF,IAAK,IAAItB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGwkC,cAqBzB1lC,EAAO8wC,MAAMhwC,UAAUgkB,OAAS,SAAU8xB,EAAWT,GAMjD,IAJA,IAAI/uC,GAAS,EACTjG,EAAS3C,KAAKyC,SAASE,OACvBi3B,OAEKhxB,EAAQjG,GACjB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASmG,KAErB+uC,GAAgBA,GAAejvC,EAAMwE,SAElCkrC,EAAU1vC,EAAOE,EAAO5I,KAAKyC,WAE7Bm3B,EAAQ9xB,KAAKY,GAKzB,OAAO,IAAIlH,EAAO62C,SAASze,IAoB/Bp4B,EAAO8wC,MAAMhwC,UAAUquB,QAAU,SAAUqkB,EAAU1L,EAAiBqO,GAIlE,QAFoBpxC,IAAhBoxC,IAA6BA,GAAc,GAE3CrnB,UAAU3tB,QAAU,EAEpB,IAASD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACQgG,EAAQ1I,KAAKyC,SAASC,GAErBi1C,IAAejvC,EAAMwE,QAEtB8nC,EAASxwC,KAAK8kC,EAAiB5gC,OAK3C,CAOI,IAAK,IAFDynB,GAAS,MAEJztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAGxB,IAASA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAErBi1C,IAAejvC,EAAMwE,SAEtBijB,EAAK,GAAKznB,EACVssC,EAASzvC,MAAM+jC,EAAiBnZ,OAgBhD3uB,EAAO8wC,MAAMhwC,UAAUg2C,cAAgB,SAAUtD,EAAU1L,GAEvD,IAAInZ,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,GAAS,MAET,IAAK,IAAIztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B1C,KAAKu4C,QAAQ,UAAU,EAAM/2C,EAAO8wC,MAAM0B,aAAcgB,EAAU1L,EAAiBnZ,IAavF3uB,EAAO8wC,MAAMhwC,UAAUk2C,aAAe,SAAUxD,EAAU1L,GAEtD,IAAInZ,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,GAAS,MAET,IAAK,IAAIztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B1C,KAAKu4C,QAAQ,SAAS,EAAM/2C,EAAO8wC,MAAM0B,aAAcgB,EAAU1L,EAAiBnZ,IAatF3uB,EAAO8wC,MAAMhwC,UAAUm2C,YAAc,SAAUzD,EAAU1L,GAErD,IAAInZ,EAEJ,GAAIG,UAAU3tB,OAAS,EACvB,CACIwtB,GAAS,MAET,IAAK,IAAIztB,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAElCytB,EAAKroB,KAAKwoB,UAAU5tB,IAI5B1C,KAAKu4C,QAAQ,SAAS,EAAO/2C,EAAO8wC,MAAM0B,aAAcgB,EAAU1L,EAAiBnZ,IAiBvF3uB,EAAO8wC,MAAMhwC,UAAUy8B,KAAO,SAAU/rB,EAAK0lC,GAErC14C,KAAKyC,SAASE,OAAS,SAMf4D,IAARyM,IAAqBA,EAAM,UACjBzM,IAAVmyC,IAAuBA,EAAQl3C,EAAO8wC,MAAM6B,gBAEhDn0C,KAAK8zC,cAAgB9gC,EAEjB0lC,IAAUl3C,EAAO8wC,MAAM6B,eAEvBn0C,KAAKyC,SAASs8B,KAAK/+B,KAAK24C,qBAAqB5oB,KAAK/vB,OAIlDA,KAAKyC,SAASs8B,KAAK/+B,KAAK44C,sBAAsB7oB,KAAK/vB,OAGvDA,KAAKq0C,YAaT7yC,EAAO8wC,MAAMhwC,UAAUu2C,WAAa,SAAUC,EAAahrC,GAEnD9N,KAAKyC,SAASE,OAAS,IAM3B3C,KAAKyC,SAASs8B,KAAK+Z,EAAY/oB,KAAKjiB,IAEpC9N,KAAKq0C,YAWT7yC,EAAO8wC,MAAMhwC,UAAUq2C,qBAAuB,SAAUz1C,EAAGC,GAEvD,OAAID,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,gBAEvB,EAEH5wC,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,eAE7B,EAGP5wC,EAAEkS,EAAIjS,EAAEiS,GAEA,EAID,GAYf5T,EAAO8wC,MAAMhwC,UAAUs2C,sBAAwB,SAAU11C,EAAGC,GAExD,OAAID,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,eAExB,EAEF5wC,EAAElD,KAAK8zC,eAAiB3wC,EAAEnD,KAAK8zC,gBAE5B,EAID,GAgCftyC,EAAO8wC,MAAMhwC,UAAUi2C,QAAU,SAAUvlC,EAAK5L,EAAO2xC,EAAY/D,EAAU1L,EAAiBnZ,GAE1F,GAA6B,IAAzBnwB,KAAKyC,SAASE,OAClB,CACI,GAAIo2C,IAAev3C,EAAO8wC,MAAM0B,aAE5B,OAAO,EAEN,GAAI+E,IAAev3C,EAAO8wC,MAAM4B,WAEjC,SAIR,IAAI8E,EAAQ,EAEZ,GAAID,IAAev3C,EAAO8wC,MAAM4B,WAE5B,IAAIxe,KAGR,IAAK,IAAIhzB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC,GAAI1C,KAAKyC,SAASC,GAAGsQ,KAAS5L,EAC9B,CAgBI,GAfA4xC,IAEIhE,IAEI7kB,GAEAA,EAAK,GAAKnwB,KAAKyC,SAASC,GACxBsyC,EAASzvC,MAAM+jC,EAAiBnZ,IAIhC6kB,EAASxwC,KAAK8kC,EAAiBtpC,KAAKyC,SAASC,KAIjDq2C,IAAev3C,EAAO8wC,MAAM2B,aAE5B,OAAOj0C,KAAKyC,SAASC,GAEhBq2C,IAAev3C,EAAO8wC,MAAM4B,YAEjCxe,EAAO5tB,KAAK9H,KAAKyC,SAASC,IAKtC,OAAIq2C,IAAev3C,EAAO8wC,MAAM0B,aAErBgF,EAEFD,IAAev3C,EAAO8wC,MAAM4B,WAE1Bxe,EAKA,MAYfl0B,EAAO8wC,MAAMhwC,UAAU6zC,SAAW,SAAUnjC,EAAK5L,GAE7C,OAAOpH,KAAKu4C,QAAQvlC,EAAK5L,EAAO5F,EAAO8wC,MAAM2B,eAsBjDzyC,EAAO8wC,MAAMhwC,UAAU22C,eAAiB,SAAU/rC,EAAQgsC,EAAcn1C,EAAGC,EAAGgP,EAAK3F,QAE1D9G,IAAjB2yC,IAA8BA,GAAe,GAE3B,kBAAXhsC,IAEPA,GAAS,GAGb,IAAIxE,EAAQ1I,KAAKm2C,SAAS,SAAUjpC,GAEpC,OAAkB,OAAVxE,GAAkBwwC,EAAgBl5C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAK43C,WAAWlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAuBhH7L,EAAO8wC,MAAMhwC,UAAU62C,cAAgB,SAAUD,EAAcn1C,EAAGC,EAAGgP,EAAK3F,QAEjD9G,IAAjB2yC,IAA8BA,GAAe,GAEjD,IAAIxwC,EAAQ1I,KAAKm2C,SAAS,SAAS,GAEnC,OAAkB,OAAVztC,GAAkBwwC,EAAgBl5C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAK43C,WAAWlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAuBhH7L,EAAO8wC,MAAMhwC,UAAU82C,aAAe,SAAUF,EAAcn1C,EAAGC,EAAGgP,EAAK3F,QAEhD9G,IAAjB2yC,IAA8BA,GAAe,GAEjD,IAAIxwC,EAAQ1I,KAAKm2C,SAAS,SAAS,GAEnC,OAAkB,OAAVztC,GAAkBwwC,EAAgBl5C,KAAKwI,OAAOzE,EAAGC,EAAGgP,EAAK3F,GAASrN,KAAK43C,WAAWlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,IAkBhH7L,EAAO8wC,MAAMhwC,UAAUs1C,WAAa,SAAUlvC,EAAO3E,EAAGC,EAAGgP,EAAK3F,GAE5D,OAAc,OAAV3E,EAEO,WAGDnC,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEjB,OAAND,GAAoB,OAANC,GAEd0E,EAAM09B,MAAMriC,EAAGC,QAGPuC,IAARyM,GAEAtK,EAAM2wC,YAAYrmC,EAAK3F,GAGpB3E,IAWXlH,EAAO8wC,MAAMhwC,UAAUg3C,OAAS,WAE5B,GAAIt5C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAASzC,KAAKyC,SAASE,OAAS,IAYpDnB,EAAO8wC,MAAMhwC,UAAUi3C,UAAY,WAE/B,GAAIv5C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAAS,IAsB7BjB,EAAO8wC,MAAMhwC,UAAUk3C,aAAe,SAAUC,EAAQzE,EAAU1L,GAM9D,IAAK,IAJD9T,EAAWqK,OAAOC,UAClB4Z,EAAe,EACf9gB,EAAS,KAEJl2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAENwsC,EAAeh2C,KAAKizB,IAAIn1B,EAAOX,MAAM20B,SAASikB,EAAQ/wC,KAEnC8sB,KAAcwf,GAAYA,EAASxwC,KAAK8kC,EAAiB5gC,EAAOgxC,MAE/ElkB,EAAWkkB,EACX9gB,EAASlwB,GAKrB,OAAOkwB,GAqBXp3B,EAAO8wC,MAAMhwC,UAAUq3C,gBAAkB,SAAUF,EAAQzE,EAAU1L,GAMjE,IAAK,IAJD9T,EAAW,EACXkkB,EAAe,EACf9gB,EAAS,KAEJl2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBgG,EAAMwE,SAENwsC,EAAeh2C,KAAKizB,IAAIn1B,EAAOX,MAAM20B,SAASikB,EAAQ/wC,KAEnC8sB,KAAcwf,GAAYA,EAASxwC,KAAK8kC,EAAiB5gC,EAAOgxC,MAE/ElkB,EAAWkkB,EACX9gB,EAASlwB,GAKrB,OAAOkwB,GAWXp3B,EAAO8wC,MAAMhwC,UAAUic,MAAQ,SAAUvL,EAAK5L,GAE1C,OAAOpH,KAAKu4C,QAAQvlC,EAAK5L,EAAO5F,EAAO8wC,MAAM0B,eASjDxyC,EAAO8wC,MAAMhwC,UAAUs3C,YAAc,WAEjC,OAAO55C,KAAKue,MAAM,SAAS,IAS/B/c,EAAO8wC,MAAMhwC,UAAUu3C,UAAY,WAE/B,OAAO75C,KAAKue,MAAM,SAAS,IAW/B/c,EAAO8wC,MAAMhwC,UAAUw3C,UAAY,SAAUp0B,EAAY/iB,GAKrD,YAHmB4D,IAAfmf,IAA4BA,EAAa,QAC9Bnf,IAAX5D,IAAwBA,EAAS3C,KAAKyC,SAASE,QAEpC,IAAXA,EAEO,KAGJnB,EAAOu4C,WAAWC,cAAch6C,KAAKyC,SAAUijB,EAAY/iB,IAetEnB,EAAO8wC,MAAMhwC,UAAU23C,gBAAkB,SAAUv0B,EAAY5b,GAE3D,IAAIowC,EAAOl6C,KAAKm6C,OAAO,UAAU,EAAMz0B,EAAY5b,GAEnD,OAAO9J,KAAK+C,KAAK2iC,IAAI0U,KAAKF,IAqB9B14C,EAAO8wC,MAAMhwC,UAAU63C,OAAS,SAAUnD,EAAU5vC,EAAOse,EAAY5b,QAEhDvD,IAAfmf,IAA4BA,EAAa,QAC5Bnf,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,QAIvD,IAAK,IAFD+yB,KAEKhzB,EAAIgjB,EAAYhjB,EAAIoH,EAAUpH,IACvC,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAEtBs0C,EAEItuC,EAAMsuC,KAAc5vC,GAEpBsuB,EAAO5tB,KAAKY,GAKhBgtB,EAAO5tB,KAAKY,GAIpB,OAAOgtB,GAgBXl0B,EAAO8wC,MAAMhwC,UAAU6Z,OAAS,SAAUzT,EAAOlG,EAAS0vC,GAKtD,QAHgB3rC,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAX2rC,IAAwBA,GAAS,GAER,IAAzBlyC,KAAKyC,SAASE,SAAkD,IAAlC3C,KAAKyC,SAAS4G,QAAQX,GAEpD,OAAO,EAGNwpC,IAAUxpC,EAAM8rC,QAAW9rC,EAAM2xC,cAElC3xC,EAAM8rC,OAAO8F,4BAA4B5xC,EAAO1I,MAGpD,IAAIgK,EAAUhK,KAAK6I,YAAYH,GAgB/B,OAdA1I,KAAKqyC,eAAe3pC,GAEpB1I,KAAKq0C,UAEDr0C,KAAKizC,SAAWvqC,GAEhB1I,KAAKw1C,OAGLhzC,GAAWwH,GAEXA,EAAQxH,SAAQ,IAGb,GAWXhB,EAAO8wC,MAAMhwC,UAAUsyC,QAAU,SAAU2F,EAAOrI,GAI9C,QAFe3rC,IAAX2rC,IAAwBA,GAAS,GAEjClyC,KAAKyC,SAASE,OAAS,GAAK43C,aAAiB/4C,EAAO8wC,MACxD,CACI,GAEIiI,EAAMthB,IAAIj5B,KAAKyC,SAAS,GAAIyvC,SAEzBlyC,KAAKyC,SAASE,OAAS,GAE9B3C,KAAKoyC,QAELpyC,KAAKizC,OAAS,KAGlB,OAAOsH,GAgBX/4C,EAAO8wC,MAAMhwC,UAAU2nC,UAAY,SAAUznC,EAAS0vC,EAAQsI,GAM1D,QAJgBj0C,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAX2rC,IAAwBA,GAAS,QACd3rC,IAAnBi0C,IAAgCA,GAAiB,GAExB,IAAzBx6C,KAAKyC,SAASE,OAAlB,CAKA,EACA,EACSuvC,GAAUlyC,KAAKyC,SAAS,GAAG+xC,QAE5Bx0C,KAAKyC,SAAS,GAAG+xC,OAAO8F,4BAA4Bt6C,KAAKyC,SAAS,GAAIzC,MAG1E,IAAIgK,EAAUhK,KAAK6I,YAAY7I,KAAKyC,SAAS,IAE7CzC,KAAKqyC,eAAeroC,GAEhBxH,GAAWwH,GAEXA,EAAQxH,SAAQ,EAAMg4C,SAGvBx6C,KAAKyC,SAASE,OAAS,GAE9B3C,KAAKoyC,QAELpyC,KAAKizC,OAAS,OAYlBzxC,EAAO8wC,MAAMhwC,UAAUm4C,cAAgB,SAAU/0B,EAAY5b,EAAUtH,EAAS0vC,GAM5E,QAJiB3rC,IAAbuD,IAA0BA,EAAW9J,KAAKyC,SAASE,OAAS,QAChD4D,IAAZ/D,IAAyBA,GAAU,QACxB+D,IAAX2rC,IAAwBA,GAAS,GAER,IAAzBlyC,KAAKyC,SAASE,OAAlB,CAKA,GAAI+iB,EAAa5b,GAAY4b,EAAa,GAAK5b,EAAW9J,KAAKyC,SAASE,OAEpE,OAAO,EAKX,IAFA,IAAID,EAAIoH,EAEDpH,GAAKgjB,GACZ,EACSwsB,GAAUlyC,KAAKyC,SAASC,GAAG8xC,QAE5Bx0C,KAAKyC,SAASC,GAAG8xC,OAAO8F,4BAA4Bt6C,KAAKyC,SAASC,GAAI1C,MAG1E,IAAIgK,EAAUhK,KAAK6I,YAAY7I,KAAKyC,SAASC,IAE7C1C,KAAKqyC,eAAeroC,GAEhBxH,GAAWwH,GAEXA,EAAQxH,SAAQ,GAGhBxC,KAAKizC,SAAWjzC,KAAKyC,SAASC,KAE9B1C,KAAKizC,OAAS,MAGlBvwC,IAGJ1C,KAAKq0C,YAUT7yC,EAAO8wC,MAAMhwC,UAAUo4C,QAAU,SAAU9f,EAAM+c,GAEjC,MAAR/c,IAAgBA,EAAO56B,KAAK+C,KAAKE,MAAM6B,QAE3C9E,KAAK2wB,QAAQ,SAAUjoB,GAEnBA,EAAM9H,SAASuG,IAAIyzB,EAAK+F,QAAS/F,EAAKgG,UACvC,KAAM+W,IAUbn2C,EAAO8wC,MAAMhwC,UAAUq4C,QAAU,WAE7Bn5C,EAAOu4C,WAAWY,QAAQ36C,KAAKyC,UAC/BzC,KAAKq0C,WAYT7yC,EAAO8wC,MAAMhwC,UAAUE,QAAU,SAAUo4C,EAAiBC,GAEtC,OAAd76C,KAAK+C,MAAiB/C,KAAK8yC,qBAEPvsC,IAApBq0C,IAAiCA,GAAkB,QAC1Cr0C,IAATs0C,IAAsBA,GAAO,GAEjC76C,KAAK0zC,UAAUjO,SAASzlC,KAAM46C,EAAiBC,GAE/C76C,KAAKiqC,UAAU2Q,GAEf56C,KAAKizC,OAAS,KACdjzC,KAAK0G,QAAU,KACf1G,KAAK+yC,gBAAiB,EAEjB8H,IAEG76C,KAAKqB,QAELrB,KAAKqB,OAAOwH,YAAY7I,MAG5BA,KAAK+C,KAAO,KACZ/C,KAAKkN,QAAS,KAWtBlG,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAKu4C,QAAQ,UAAU,EAAM/2C,EAAO8wC,MAAM0B,iBAYzDhtC,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKyC,SAASE,UAgB7BqE,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,SAE1C4E,IAAK,WAED,OAAO1F,EAAOkC,KAAKs5B,SAASh9B,KAAKgB,WAGrCmG,IAAK,SAAUC,GAEXpH,KAAKgB,SAAWQ,EAAOkC,KAAK+yB,SAASrvB,MAc7CJ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQw2B,SAGvC1wB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAKqD,EAAQqQ,EAAUvT,EAAE0yB,aActC5vB,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQy2B,SAGvC3wB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,EAAUvT,EAAE2yB,cActC7vB,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQsyB,MAGvCxsB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAIqD,EAAQqQ,KAczBzQ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQqyB,OAGvCvsB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAK+D,EAAIG,EAAEH,EAExB/D,KAAK+D,EAAKqD,EAAQqQ,EAAUvT,EAAEtG,SActCoJ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,OAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQg1B,KAGvClvB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,KAc1BzQ,OAAOyF,eAAejL,EAAO8wC,MAAMhwC,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKkK,UAAUlK,KAAKqB,QAAQi1B,QAGvCnvB,IAAK,SAAUC,GAEX,IAAIlD,EAAIlE,KAAKkK,UAAUlK,KAAKqB,QACxBoW,EAASzX,KAAKgE,EAAIE,EAAEF,EAExBhE,KAAKgE,EAAKoD,EAAQqQ,EAAUvT,EAAErG,UAmLtC2D,EAAOs5C,MAAQ,SAAU/3C,GAErBvB,EAAO8wC,MAAM9tC,KAAKxE,KAAM+C,EAAM,KAAM,WAAW,GAS/C/C,KAAK8E,OAAS,IAAItD,EAAOS,UAAU,EAAG,EAAGc,EAAKnF,MAAOmF,EAAKlF,QAK1DmC,KAAK8a,OAAS,KAMd9a,KAAK+6C,cAAe,EAKpB/6C,KAAK0M,OAAS3J,EAAKnF,MAKnBoC,KAAK2M,QAAU5J,EAAKlF,OAEpBmC,KAAK+C,KAAK4jC,MAAMsB,cAAchP,IAAIj5B,KAAKg7C,YAAah7C,OAGxDwB,EAAOs5C,MAAMx4C,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WACpDd,EAAOs5C,MAAMx4C,UAAUC,YAAcf,EAAOs5C,MAQ5Ct5C,EAAOs5C,MAAMx4C,UAAUyhC,KAAO,WAE1B/jC,KAAK8a,OAAS,IAAItZ,EAAOsgC,OAAO9hC,KAAK+C,KAAM,EAAG,EAAG,EAAG/C,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE/EmC,KAAK+C,KAAKuX,MAAM7R,SAASzI,MAEzBA,KAAK8a,OAAOipB,QAYhBviC,EAAOs5C,MAAMx4C,UAAU04C,YAAc,WAEjCh7C,KAAK+D,EAAI,EACT/D,KAAKgE,EAAI,EAEThE,KAAK8a,OAAOsrB,SAahB5kC,EAAOs5C,MAAMx4C,UAAU24C,UAAY,SAAUl3C,EAAGC,EAAGpG,EAAOC,GAEtDmC,KAAK+6C,cAAe,EACpB/6C,KAAK0M,OAAS9O,EACdoC,KAAK2M,QAAU9O,EAEfmC,KAAK8E,OAAOswB,MAAMrxB,EAAGC,EAAGpG,EAAOC,GAE/BmC,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EAELhE,KAAK8a,OAAOhW,QAGZ9E,KAAK8a,OAAOhW,OAAOswB,MAAMrxB,EAAGC,EAAGN,KAAKuC,IAAIrI,EAAOoC,KAAK+C,KAAKnF,OAAQ8F,KAAKuC,IAAIpI,EAAQmC,KAAK+C,KAAKlF,SAGhGmC,KAAK+C,KAAK+jC,QAAQhB,oBAatBtkC,EAAOs5C,MAAMx4C,UAAU6D,OAAS,SAAUvI,EAAOC,GAIzCmC,KAAK+6C,eAEDn9C,EAAQoC,KAAK0M,SAEb9O,EAAQoC,KAAK0M,QAGb7O,EAASmC,KAAK2M,UAEd9O,EAASmC,KAAK2M,UAItB3M,KAAK8E,OAAOlH,MAAQA,EACpBoC,KAAK8E,OAAOjH,OAASA,EAErBmC,KAAK+C,KAAK+X,OAAOgrB,mBAEjB9lC,KAAK+C,KAAK+jC,QAAQhB,oBAQtBtkC,EAAOs5C,MAAMx4C,UAAUilC,SAAW,WAG9BvnC,KAAKwC,SAAQ,GAAM,IAkBvBhB,EAAOs5C,MAAMx4C,UAAU23B,KAAO,SAAU3W,EAAQkD,EAAS00B,EAAWpY,EAAYC,QAE5Dx8B,IAAZigB,IAAyBA,EAAU,QACrBjgB,IAAd20C,IAA2BA,GAAY,QACxB30C,IAAfu8B,IAA4BA,GAAa,QAC5Bv8B,IAAbw8B,IAA0BA,GAAW,GAEpCmY,GAsBD53B,EAAOpZ,YAEH44B,IAEKxf,EAAOvf,EAAIuf,EAAOphB,eAAetE,MAASoC,KAAK8E,OAAOf,EAEvDuf,EAAOvf,EAAI/D,KAAK8E,OAAO4uB,MAElBpQ,EAAOvf,EAAI/D,KAAK8E,OAAO4uB,QAE5BpQ,EAAOvf,EAAI/D,KAAK8E,OAAO6uB,OAI3BoP,IAEKzf,EAAOtf,EAAIsf,EAAOphB,eAAerE,OAAUmC,KAAK8E,OAAOuxB,IAExD/S,EAAOtf,EAAIhE,KAAK8E,OAAOwxB,OAElBhT,EAAOtf,EAAIhE,KAAK8E,OAAOwxB,SAE5BhT,EAAOtf,EAAIhE,KAAK8E,OAAOuxB,QA1C3ByM,GAAcxf,EAAOvf,EAAIyiB,EAAUxmB,KAAK8E,OAAOf,EAE/Cuf,EAAOvf,EAAI/D,KAAK8E,OAAO4uB,MAAQlN,EAE1Bsc,GAAcxf,EAAOvf,EAAIyiB,EAAUxmB,KAAK8E,OAAO4uB,QAEpDpQ,EAAOvf,EAAI/D,KAAK8E,OAAO6uB,KAAOnN,GAG9Buc,GAAYzf,EAAOtf,EAAIwiB,EAAUxmB,KAAK8E,OAAOuxB,IAE7C/S,EAAOtf,EAAIhE,KAAK8E,OAAOwxB,OAAS9P,EAE3Buc,GAAYzf,EAAOtf,EAAIwiB,EAAUxmB,KAAK8E,OAAOwxB,SAElDhT,EAAOtf,EAAIhE,KAAK8E,OAAOuxB,IAAM7P,KA0CzChlB,EAAOs5C,MAAMx4C,UAAU64C,QAAU,SAAUZ,EAAO5C,EAAanxB,EAAS00B,EAAWpY,EAAYC,GAE3FwX,EAAM5pB,QAAQ3wB,KAAKi6B,KAAMj6B,KAAM23C,EAAanxB,EAAS00B,EAAWpY,EAAYC,IAOhF/7B,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,SAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOlH,OAGvBuJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+C,KAAKnF,QAElBwJ,EAAQpH,KAAK+C,KAAKnF,OAGtBoC,KAAK8E,OAAOlH,MAAQwJ,EACpBpH,KAAK0M,OAAStF,EACdpH,KAAK+6C,cAAe,KAS5B/zC,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAOjH,QAGvBsJ,IAAK,SAAUC,GAEPA,EAAQpH,KAAK+C,KAAKlF,SAElBuJ,EAAQpH,KAAK+C,KAAKlF,QAGtBmC,KAAK8E,OAAOjH,OAASuJ,EACrBpH,KAAK2M,QAAUvF,EACfpH,KAAK+6C,cAAe,KAU5B/zC,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAO8xB,UAAY52B,KAAK8E,OAAOf,KAUnDiD,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAOlH,KAAK8E,OAAO+xB,WAAa72B,KAAK8E,OAAOd,KAUpDgD,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK8E,OAAOf,EAAI,EAET/D,KAAK+C,KAAK2iC,IAAI0V,QAAQp7C,KAAK8E,OAAOf,EAAI/D,KAAK8E,OAAOlH,MAAQ8F,KAAKizB,IAAI32B,KAAK8E,OAAOf,IAI/E/D,KAAK+C,KAAK2iC,IAAI0V,QAAQp7C,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOlH,UAWpEoJ,OAAOyF,eAAejL,EAAOs5C,MAAMx4C,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAK8E,OAAOd,EAAI,EAEThE,KAAK+C,KAAK2iC,IAAI0V,QAAQp7C,KAAK8E,OAAOd,EAAIhE,KAAK8E,OAAOjH,OAAS6F,KAAKizB,IAAI32B,KAAK8E,OAAOd,IAIhFhE,KAAK+C,KAAK2iC,IAAI0V,QAAQp7C,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAOjH,WA8EpE2D,EAAO65C,KAAO,SAAUz9C,EAAOC,EAAQgH,EAAUxD,EAAQslC,EAAO/vB,EAAaQ,EAAWkkC,GAkdpF,OA5cAt7C,KAAKkU,GAAK1S,EAAOiqB,MAAM3jB,KAAK9H,MAAQ,EAKpCA,KAAKwW,OAAS,KAKdxW,KAAKs7C,cAAgBA,EAOrBt7C,KAAKqB,OAAS,GAWdrB,KAAKpC,MAAQ,IAWboC,KAAKnC,OAAS,IASdmC,KAAK4E,WAAa,EAMlB5E,KAAK0M,OAAS,IAMd1M,KAAK2M,QAAU,IAMf3M,KAAK4W,aAAc,EAOnB5W,KAAKoX,WAAY,EAajBpX,KAAKu7C,cAAe,EAMpBv7C,KAAK8W,uBAAwB,EAW7B9W,KAAK+W,mBAAoB,EAMzB/W,KAAK6E,SAAW,KAMhB7E,KAAK0qC,WAAalpC,EAAOkqB,KAKzB1rB,KAAK2mC,MAAQ,KAMb3mC,KAAKqpC,UAAW,EAMhBrpC,KAAKw7C,WAAY,EAMjBx7C,KAAKy7C,IAAM,KAKXz7C,KAAKi5B,IAAM,KAKXj5B,KAAKumC,KAAO,KAKZvmC,KAAKga,MAAQ,KAKbha,KAAKwmC,MAAQ,KAKbxmC,KAAKymC,KAAO,KAKZzmC,KAAK6lC,KAAO,KAKZ7lC,KAAK07C,IAAM,KAKX17C,KAAKc,MAAQ,KAKbd,KAAK0mC,MAAQ,KAKb1mC,KAAKsa,MAAQ,KAKbta,KAAKulC,KAAO,KAKZvlC,KAAK4mC,OAAS,KAKd5mC,KAAKiD,MAAQ,KAKbjD,KAAK8mC,QAAU,KAKf9mC,KAAKovC,QAAU,KAKfpvC,KAAK0lC,IAAM,KAKX1lC,KAAKiqB,OAASzoB,EAAOm6C,OAKrB37C,KAAK8a,OAAS,KAKd9a,KAAKkX,OAAS,KAKdlX,KAAK8N,QAAU,KAKf9N,KAAKkqC,MAAQ,KAKblqC,KAAK6mC,UAAY,KAKjB7mC,KAAKwI,OAAS,KASdxI,KAAK47C,YAAa,EAMlB57C,KAAK+yC,gBAAiB,EAOtB/yC,KAAK67C,UAAW,EAOhB77C,KAAK87C,aAAc,EAOnB97C,KAAK+7C,UAAY,EAKjB/7C,KAAK+oC,QAAU,KAKf/oC,KAAKipC,SAAW,KAKhBjpC,KAAKg8C,OAAS,KAKdh8C,KAAKi8C,QAAU,KAMfj8C,KAAKk8C,SAAU,EAMfl8C,KAAKm8C,aAAc,EAQnBn8C,KAAKo8C,gBAAkB,EAOvBp8C,KAAKq8C,iBAAmB,EAOxBr8C,KAAKs8C,iBAAmB,EAMxBt8C,KAAKu8C,WAAa,EAMlBv8C,KAAKw8C,WAAa,EAMlBx8C,KAAKy8C,WAAa,EAMlBz8C,KAAKuqC,YAAa,EAQlBvqC,KAAK08C,mBAAqB,IAAIl7C,EAAO6gC,OAMrCriC,KAAK28C,mBAAoB,EAMzB38C,KAAK48C,mBAAoB,EAMzB58C,KAAK68C,YAAa,EAMlB78C,KAAK88C,WAAa,EAOlB98C,KAAKgX,gBAAkB,UAMvBhX,KAAK+8C,qBAAuB,EAGH,IAArBzsB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAE3CtwB,KAAK6vC,YAAYvf,UAAU,KAI3BtwB,KAAKwW,QAAWwmC,aAAa,QAER,IAAVp/C,IAEPoC,KAAK0M,OAAS9O,QAGI,IAAXC,IAEPmC,KAAK2M,QAAU9O,QAGK,IAAbgH,IAEP7E,KAAK0qC,WAAa7lC,QAGA,IAAXxD,IAEPrB,KAAKqB,OAASA,QAGS,IAAhBuV,IAEP5W,KAAK4W,YAAcA,QAGE,IAAdQ,IAEPpX,KAAKoX,UAAYA,GAGrBpX,KAAK0lC,IAAM,IAAIlkC,EAAOy7C,sBAAuB3P,KAAK4P,MAAQx5C,KAAKivB,UAAU/J,aAEzE5oB,KAAK2mC,MAAQ,IAAInlC,EAAOgmC,aAAaxnC,KAAM2mC,IAG/C3mC,KAAKiqB,OAAOkzB,UAAUn9C,KAAK+jC,KAAM/jC,MAE1BA,MAmDXwB,EAAO65C,KAAK/4C,WAQRutC,YAAa,SAAUr5B,GAEnBxW,KAAKwW,OAASA,OAEajQ,IAAvBiQ,EAAOwmC,cAEPh9C,KAAKwW,OAAOwmC,aAAc,GAG1BxmC,EAAO5Y,QAEPoC,KAAK0M,OAAS8J,EAAO5Y,OAGrB4Y,EAAO3Y,SAEPmC,KAAK2M,QAAU6J,EAAO3Y,QAGtB2Y,EAAO3R,WAEP7E,KAAK0qC,WAAal0B,EAAO3R,UAGzB2R,EAAOnV,SAEPrB,KAAKqB,OAASmV,EAAOnV,aAGEkF,IAAvBiQ,EAAOI,cAEP5W,KAAK4W,YAAcJ,EAAOI,kBAGLrQ,IAArBiQ,EAAOY,YAEPpX,KAAKoX,UAAYZ,EAAOY,gBAGK7Q,IAA7BiQ,EAAOO,oBAEP/W,KAAK+W,kBAAoBP,EAAOO,wBAGRxQ,IAAxBiQ,EAAO+kC,eAEPv7C,KAAKu7C,aAAe/kC,EAAO+kC,cAG3B/kC,EAAO5R,aAEP5E,KAAK4E,WAAa4R,EAAO5R,iBAGQ2B,IAAjCiQ,EAAOM,wBAEP9W,KAAK8W,sBAAwBN,EAAOM,4BAGTvQ,IAA3BiQ,EAAOQ,kBAEPhX,KAAKgX,gBAAkBR,EAAOQ,iBAG9BR,EAAO8kC,gBAEPt7C,KAAKs7C,cAAgB9kC,EAAO8kC,eAGhC,IAAI8B,IAAU9P,KAAK4P,MAAQx5C,KAAKivB,UAAU/J,YAEtCpS,EAAO4mC,OAEPA,EAAO5mC,EAAO4mC,MAGlBp9C,KAAK0lC,IAAM,IAAIlkC,EAAOy7C,oBAAoBG,GAE1C,IAAIzW,EAAQ,KAERnwB,EAAOmwB,QAEPA,EAAQnwB,EAAOmwB,OAGnB3mC,KAAK2mC,MAAQ,IAAInlC,EAAOgmC,aAAaxnC,KAAM2mC,IAS/C5C,KAAM,WAEF,IAAI/jC,KAAKqpC,SAAT,CA4CA,GAvCArpC,KAAK+oC,QAAU,IAAIvnC,EAAO6gC,OAC1BriC,KAAKipC,SAAW,IAAIznC,EAAO6gC,OAC3BriC,KAAKg8C,OAAS,IAAIx6C,EAAO6gC,OACzBriC,KAAKi8C,QAAU,IAAIz6C,EAAO6gC,OAE1BriC,KAAKqpC,UAAW,EAEhB7qC,KAAKuE,KAAO/C,KAEZA,KAAK6lC,KAAOrkC,EAAOkC,KAEnB1D,KAAKc,MAAQ,IAAIU,EAAO67C,aAAar9C,KAAMA,KAAK0M,OAAQ1M,KAAK2M,SAC7D3M,KAAKsa,MAAQ,IAAI9Y,EAAOguC,MAAMxvC,MAE9BA,KAAKs9C,gBAELt9C,KAAKiD,MAAQ,IAAIzB,EAAOs5C,MAAM96C,MAC9BA,KAAKi5B,IAAM,IAAIz3B,EAAO+7C,kBAAkBv9C,MACxCA,KAAKumC,KAAO,IAAI/kC,EAAOg8C,kBAAkBx9C,MACzCA,KAAKga,MAAQ,IAAIxY,EAAOmtC,MAAM3uC,MAC9BA,KAAKymC,KAAO,IAAIjlC,EAAOi8C,OAAOz9C,MAC9BA,KAAKulC,KAAO,IAAI/jC,EAAOk8C,KAAK19C,MAC5BA,KAAK4mC,OAAS,IAAIplC,EAAOm8C,aAAa39C,MACtCA,KAAKwmC,MAAQ,IAAIhlC,EAAOo8C,MAAM59C,MAC9BA,KAAK0mC,MAAQ,IAAIllC,EAAOq8C,aAAa79C,MACrCA,KAAK8mC,QAAU,IAAItlC,EAAOkxC,QAAQ1yC,KAAMA,KAAKs7C,eAC7Ct7C,KAAK6mC,UAAY,IAAIrlC,EAAOs8C,UAAU99C,MACtCA,KAAKwI,OAAS,IAAIhH,EAAOu8C,OAAO/9C,MAChCA,KAAKovC,QAAU,IAAI5tC,EAAO2tC,cAAcnvC,MACxCA,KAAK07C,IAAM,IAAIl6C,EAAOw8C,IAAIh+C,MAE1BA,KAAKulC,KAAKxB,OACV/jC,KAAKsa,MAAMypB,OACX/jC,KAAKiD,MAAM8gC,OACX/jC,KAAKc,MAAMijC,OACX/jC,KAAKwmC,MAAMzC,KAAK/jC,KAAKwW,QACrBxW,KAAK0mC,MAAM3C,OACX/jC,KAAK2mC,MAAM5C,OAEP/jC,KAAKwW,OAAOwmC,YAEZh9C,KAAKkqC,MAAQ,IAAI1oC,EAAOgwB,MAAMysB,MAAMj+C,MACpCA,KAAKkqC,MAAMnG,WAGf,CACI,IAAIma,EAAO,aAEXl+C,KAAKkqC,OAAUxlC,UAAWw5C,EAAM/Y,OAAQ+Y,EAAM9X,MAAO8X,EAAM17C,QAAS07C,EAAMC,YAAY,GAG1Fn+C,KAAKo+C,kBAELp+C,KAAKw7C,WAAY,EAEbx7C,KAAKwW,QAAUxW,KAAKwW,OAAO6nC,gBAE3Br+C,KAAKy7C,IAAM,IAAIj6C,EAAO88C,sBAAsBt+C,KAAMA,KAAKwW,OAAO6nC,iBAI9Dr+C,KAAKy7C,IAAM,IAAIj6C,EAAO88C,sBAAsBt+C,MAAM,GAGtDA,KAAKuqC,YAAa,EAElBvqC,KAAKu+C,cAEDv+C,KAAKwW,OAAOgoC,eAKZx+C,KAAKga,MAAMykC,QAEXz+C,KAAKy7C,IAAInvC,QAITtM,KAAKga,MAAM0kC,QAAQxS,QAAQ,WAEvBlsC,KAAKy7C,IAAInvC,SACVtM,SAUXo+C,gBAAiB,WAEb,IAAIhuC,OAAOuuC,eAAgBvuC,OAAOuuC,aAAaC,WAA/C,CAKA,IAAIC,EAAIr9C,EAAOgqB,QACXtnB,EAAI,SACJhB,EAAI,aACJE,EAAI,EAkBR,GAhBIpD,KAAK0qC,aAAelpC,EAAOmV,OAE3BzS,EAAI,QACJd,KAEKpD,KAAK0qC,aAAelpC,EAAOmqB,WAEhCznB,EAAI,YAGJlE,KAAKiqB,OAAO60B,WAEZ57C,EAAI,WACJE,KAGCpD,KAAKiqB,OAAO80B,GA0BR3uC,OAAO9P,SAEZA,QAAQ+P,IAAI,WAAawuC,EAAI,gBAAkB36C,EAAI,MAAQhB,EAAI,2BA3BnE,CAWI,IAAK,IAVDitB,GACA,uBAAyB0uB,EAAI,gBAAkB36C,EAAI,MAAQhB,EAAI,wCAC/D,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKR,EAAI,EAAGA,EAAI,EAAGA,IAEfA,EAAIU,EAEJ+sB,EAAKroB,KAAK,oCAIVqoB,EAAKroB,KAAK,oCAIlBxH,QAAQ+P,IAAI9K,MAAMjF,QAAS6vB,MAcnCmtB,cAAe,WAEX,IAAKt9C,KAAKiqB,OAAO/S,OAGb,MAAM,IAAInO,MAAM,4DA0BpB,GAvBI/I,KAAKwW,OAAOU,OAEZlX,KAAKkX,OAASlX,KAAKwW,OAAOU,OAI1BlX,KAAKkX,OAAS1V,EAAOioB,OAAOjhB,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKwW,OAAOwoC,UAAU,GAGxFh/C,KAAKwW,OAAOyoC,YAEZj/C,KAAKkX,OAAOoE,MAAQtb,KAAKwW,OAAOyoC,YAIhCj/C,KAAKkX,OAAOoE,MAAM,uBAAyB,4BAG3Ctb,KAAKwW,OAAO0oC,OAEZ19C,EAAOioB,OAAO01B,uBAAuBn/C,KAAKkX,QAGzClX,KAAK0qC,aAAelpC,EAAOmV,OAC3B3W,KAAK0qC,aAAelpC,EAAOoqB,aAC3B5rB,KAAK0qC,aAAelpC,EAAOkqB,MAAQ1rB,KAAKiqB,OAAOm1B,MACpD,EACQp/C,KAAKu7C,cAAgBv7C,KAAK0qC,aAAelpC,EAAOoqB,eAEhDptB,KAAKmf,qBACL3d,KAAKu7C,cAAe,GAGxB,IAEIv7C,KAAK6E,SAAW,IAAIrG,KAAK+X,cAAcvW,KAAMA,KAAKwW,QAClDxW,KAAK0qC,WAAalpC,EAAOmV,MACzB3W,KAAK8N,QAAU,KACf9N,KAAKkX,OAAO85B,iBAAiB,mBAAoBhxC,KAAKua,YAAYwV,KAAK/vB,OAAO,GAC9EA,KAAKkX,OAAO85B,iBAAiB,uBAAwBhxC,KAAKq/C,gBAAgBtvB,KAAK/vB,OAAO,GAE1F,MAAOs/C,GAOH,GALA9gD,KAAKiY,gBAAkB,KACvBzW,KAAK6E,SAAW,KAChB7E,KAAKu7C,cAAe,EACpB/8C,KAAK6H,2BAA4B,EAE7BrG,KAAK0qC,aAAelpC,EAAOmV,MAG3B,MAAM2oC,GAKbt/C,KAAK6E,WAEN7E,KAAK6E,SAAW,IAAIrG,KAAK8qB,eAAetpB,KAAMA,KAAKwW,QACnDxW,KAAK8N,QAAU9N,KAAK6E,SAASiJ,QAEzB9N,KAAK0qC,aAAelpC,EAAOkqB,OAE3B1rB,KAAK0qC,WAAalpC,EAAO+nB,SAI7BvpB,KAAKiqB,OAAOs1B,WAEZv/C,KAAKkX,OAAO2S,aAAgB7pB,KAAK0qC,aAAelpC,EAAO+nB,QAGvDvpB,KAAK0qC,aAAelpC,EAAOmqB,WAE3B3rB,KAAKsa,MAAMklC,SAAWx/C,KAAKoX,UAE3B5V,EAAOioB,OAAOg2B,SAASz/C,KAAKkX,OAAQlX,KAAKqB,QAAQ,GACjDG,EAAOioB,OAAO0mB,eAAenwC,KAAKkX,UAW1CqD,YAAa,SAAUm2B,GAEnBA,EAAMgP,iBAEN1/C,KAAK6E,SAAS0V,aAAc,GAShC8kC,gBAAiB,WAEbr/C,KAAK6E,SAASyT,cAEdtY,KAAKga,MAAM2lC,kBAEX3/C,KAAK6E,SAAS0V,aAAc,GAUhC4qB,OAAQ,SAAUI,GAEd,GAAIvlC,KAAK+yC,eAEL/yC,KAAKwC,cAFT,CASA,GAFAxC,KAAKulC,KAAKJ,OAAOI,GAEbvlC,KAAKuqC,WASL,OAPAvqC,KAAK4/C,YAAY5/C,KAAKulC,KAAKsa,gBAG3B7/C,KAAK8/C,aAAa9/C,KAAKulC,KAAKwa,WAAa//C,KAAKulC,KAAKya,iBAEnDhgD,KAAKuqC,YAAa,GAMtB,GAAIvqC,KAAKy8C,WAAa,IAAMz8C,KAAK28C,kBAGzB38C,KAAKulC,KAAKA,KAAOvlC,KAAK+8C,uBAGtB/8C,KAAK+8C,qBAAuB/8C,KAAKulC,KAAKA,KAAO,IAG7CvlC,KAAK08C,mBAAmBjX,YAI5BzlC,KAAKu8C,WAAa,EAClBv8C,KAAKy8C,WAAa,EAEdz8C,KAAK68C,WAEL78C,KAAKs8C,iBAAmB,GAIxBt8C,KAAK8/C,aAAa9/C,KAAKulC,KAAKwa,WAAa//C,KAAKulC,KAAKya,YACnDhgD,KAAKs8C,iBAAmB,OAIhC,CAEI,IAAI2D,EAAkC,IAAvBjgD,KAAKulC,KAAKwa,WAAsB//C,KAAKulC,KAAKya,WAGzDhgD,KAAKu8C,YAAc74C,KAAKuC,IAAIvC,KAAK41B,IAAI2mB,EAAWjgD,KAAK88C,WAAY98C,KAAKulC,KAAK2a,SAAU,GAMrF,IAAI3hC,EAAQ,EAkBZ,IAhBAve,KAAKq8C,iBAAmB34C,KAAKmsB,MAAM7vB,KAAKu8C,WAAa0D,GAEjDjgD,KAAK28C,oBAEL38C,KAAKq8C,iBAAmB34C,KAAK41B,IAAI,EAAGt5B,KAAKq8C,mBAGzCr8C,KAAK48C,kBAEL58C,KAAKs8C,iBAAmB,EAIxBt8C,KAAKs8C,iBAAmB54C,KAAK41B,IAAI,EAAGt5B,KAAKq8C,kBAGtCr8C,KAAKu8C,YAAc0D,IAEtBjgD,KAAKu8C,YAAc0D,EACnBjgD,KAAKo8C,gBAAkB79B,EAEvBve,KAAK4/C,YAAY5/C,KAAKulC,KAAKsa,gBAE3BthC,KAEIve,KAAK28C,mBAA+B,IAAVp+B,IAM1Bve,KAAKulC,KAAK/b,UAKdjL,EAAQve,KAAKw8C,WAEbx8C,KAAKy8C,aAEAl+B,EAAQve,KAAKw8C,aAGlBx8C,KAAKy8C,WAAa,GAGtBz8C,KAAKw8C,WAAaj+B,EAEdve,KAAKs8C,iBAAmB,GAExBt8C,KAAK8/C,aAAa9/C,KAAKu8C,WAAa0D,GAIxCjgD,KAAK6E,SAAS2O,OAAShS,EAAOmV,OAG9B3W,KAAK6E,SAASlH,GAAGqO,UAWzB4zC,YAAa,SAAUO,GAEdngD,KAAKk8C,SAAYl8C,KAAK87C,aAgCvB97C,KAAKc,MAAMwmC,cACXtnC,KAAK2mC,MAAMW,YAAY6Y,GACvBngD,KAAKkqC,MAAMxlC,YACX1E,KAAKwmC,MAAMc,gBAjCPtnC,KAAK67C,WAEL77C,KAAK87C,aAAc,GAGvB97C,KAAKulC,KAAK7gC,YAEV1E,KAAKc,MAAM4D,YACX1E,KAAKkqC,MAAMxlC,YACX1E,KAAK8a,OAAOpW,YACZ1E,KAAK8mC,QAAQpiC,YACb1E,KAAK2mC,MAAMjiC,UAAUy7C,GACrBngD,KAAKovC,QAAQ1qC,UAAUy7C,GACvBngD,KAAKsa,MAAM5V,YAEX1E,KAAK2mC,MAAMxB,SACXnlC,KAAKsa,MAAM6qB,SACXnlC,KAAK4mC,OAAOzB,SACZnlC,KAAK0mC,MAAMvB,SACXnlC,KAAKwmC,MAAMrB,SACXnlC,KAAK8mC,QAAQ3B,SACbnlC,KAAKovC,QAAQjK,SAEbnlC,KAAKsa,MAAM4sB,aACXlnC,KAAK2mC,MAAMO,aACXlnC,KAAKovC,QAAQlI,cAWjBlnC,KAAKsa,MAAMxX,mBAkBfg9C,aAAc,SAAUrV,GAEhBzqC,KAAK47C,YAAc57C,KAAK0qC,aAAelpC,EAAOmqB,WAKlD3rB,KAAKulC,KAAK4B,YAEVnnC,KAAK2mC,MAAMQ,UAAUsD,GAErBzqC,KAAK6E,SAASM,OAAOnF,KAAKsa,OAE1Bta,KAAKovC,QAAQjqC,OAAOslC,GAEpBzqC,KAAK2mC,MAAMxhC,OAAOslC,GAElBzqC,KAAKovC,QAAQF,WAAWzE,KAS5B2V,WAAY,WAERpgD,KAAK67C,UAAW,EAChB77C,KAAK87C,aAAc,EACnB97C,KAAK+7C,UAAY,GAQrBsE,YAAa,WAETrgD,KAAK67C,UAAW,EAChB77C,KAAK87C,aAAc,GASvBwE,KAAM,WAEFtgD,KAAK87C,aAAc,EACnB97C,KAAK+7C,aAeTv5C,QAAS,WAELxC,KAAKy7C,IAAItvC,OAETnM,KAAKkqC,MAAM1nC,UACXxC,KAAK2mC,MAAMnkC,UACXxC,KAAK0mC,MAAMlkC,UACXxC,KAAKc,MAAM0B,UACXxC,KAAKsa,MAAM9X,UACXxC,KAAKwmC,MAAMhkC,UACXxC,KAAK8mC,QAAQtkC,UACbxC,KAAKovC,QAAQ5sC,UACbxC,KAAK4mC,OAAOpkC,UAEZxC,KAAKkqC,MAAQ,KACblqC,KAAK2mC,MAAQ,KACb3mC,KAAK0mC,MAAQ,KACb1mC,KAAKc,MAAQ,KACbd,KAAKsa,MAAQ,KACbta,KAAKwmC,MAAQ,KACbxmC,KAAK8mC,QAAU,KACf9mC,KAAKovC,QAAU,KACfpvC,KAAK4mC,OAAS,KAEd5mC,KAAKga,MAAQ,KACbha,KAAKymC,KAAO,KACZzmC,KAAKulC,KAAO,KACZvlC,KAAKiD,MAAQ,KAEbjD,KAAKqpC,UAAW,EAEhBrpC,KAAK6E,SAASrC,SAAQ,GAEtBhB,EAAOioB,OAAO82B,cAAcvgD,KAAKkX,QAE7B1Y,KAAKuE,OAAS/C,OAEdxB,KAAKuE,KAAO,MAEhBvE,KAAKiY,gBAAkB,KAEvBjV,EAAOiqB,MAAMzrB,KAAKkU,IAAM,MAU5B29B,WAAY,SAAUnB,GAGb1wC,KAAKk8C,UAENl8C,KAAKk8C,SAAU,EAEfl8C,KAAKulC,KAAKsM,aACV7xC,KAAK0mC,MAAMmL,aACX7xC,KAAK+oC,QAAQtD,SAASiL,GAGlB1wC,KAAKiqB,OAAOu2B,SAAWxgD,KAAKiqB,OAAOw2B,MAEnCzgD,KAAK47C,YAAa,KAY9B9J,YAAa,SAAUpB,GAGf1wC,KAAKk8C,UAAYl8C,KAAKm8C,cAEtBn8C,KAAKk8C,SAAU,EAEfl8C,KAAKulC,KAAKuM,cACV9xC,KAAKwmC,MAAMJ,QACXpmC,KAAK0mC,MAAMoL,cACX9xC,KAAKipC,SAASxD,SAASiL,GAGnB1wC,KAAKiqB,OAAOu2B,SAAWxgD,KAAKiqB,OAAOw2B,MAEnCzgD,KAAK47C,YAAa,KAY9BjK,UAAW,SAAUjB,GAEjB1wC,KAAKg8C,OAAOvW,SAASiL,GAEhB1wC,KAAKsa,MAAMm1B,yBAEZzvC,KAAK6xC,WAAWnB,IAWxBkB,UAAW,SAAUlB,GAEjB1wC,KAAKu+C,cAELv+C,KAAKi8C,QAAQxW,SAASiL,GAEjB1wC,KAAKsa,MAAMm1B,yBAEZzvC,KAAK8xC,YAAYpB,IASzB6N,YAAa,WAELnuC,OAAOswC,SAEFtwC,OAAOuuC,cAAiBvuC,OAAOuuC,eAAiBvuC,OAAOuuC,aAAagC,YAErEvwC,OAAOswC,UAOvBl/C,EAAO65C,KAAK/4C,UAAUC,YAAcf,EAAO65C,KAQ3Cr0C,OAAOyF,eAAejL,EAAO65C,KAAK/4C,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKk8C,SAGhB/0C,IAAK,SAAUC,IAEG,IAAVA,IAEqB,IAAjBpH,KAAKk8C,UAELl8C,KAAKk8C,SAAU,EACXl8C,KAAK0mC,MAAMka,aAEX5gD,KAAK0mC,MAAMma,UAEf7gD,KAAKulC,KAAKsM,aACV7xC,KAAK+oC,QAAQtD,SAASzlC,OAE1BA,KAAKm8C,aAAc,IAIfn8C,KAAKk8C,UAELl8C,KAAKk8C,SAAU,EACfl8C,KAAKwmC,MAAMJ,QACXpmC,KAAK0mC,MAAMoa,YACX9gD,KAAKulC,KAAKuM,cACV9xC,KAAKipC,SAASxD,SAASzlC,OAE3BA,KAAKm8C,aAAc,MA4B/B36C,EAAOo8C,MAAQ,SAAU76C,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAK+gD,UAAY,KAMjB/gD,KAAKghD,WAAa,KAQlBhhD,KAAKihD,iBAMLjhD,KAAKkhD,uBAAyB,KAM9BlhD,KAAKmhD,8BAAgC,KAMrCnhD,KAAKohD,SAAW,EAShBphD,KAAKqhD,SAAU,EAMfrhD,KAAKshD,mBAAqB9/C,EAAOo8C,MAAM2D,oBAMvCvhD,KAAKY,SAAW,KAKhBZ,KAAKwhD,MAAQ,KAObxhD,KAAKyhD,OAAS,KAKdzhD,KAAKc,MAAQ,KAUbd,KAAK0hD,aAAe,EAMpB1hD,KAAK2hD,QAAU,IAMf3hD,KAAK4hD,cAAgB,IAMrB5hD,KAAK6hD,SAAW,IAMhB7hD,KAAK8hD,gBAAkB,IAMvB9hD,KAAK+hD,iBAAmB,IASxB/hD,KAAKgiD,sBAAuB,EAM5BhiD,KAAKiiD,WAAa,IAQlBjiD,KAAKkiD,YAAc,IASnBliD,KAAKmiD,sBAKLniD,KAAKoiD,SAAW,KAKhBpiD,KAAKqiD,SAAW,KAKhBriD,KAAKsiD,SAAW,KAKhBtiD,KAAKuiD,SAAW,KAKhBviD,KAAKwiD,SAAW,KAKhBxiD,KAAKyiD,SAAW,KAKhBziD,KAAK0iD,SAAW,KAKhB1iD,KAAK2iD,SAAW,KAKhB3iD,KAAK4iD,SAAW,KAKhB5iD,KAAK6iD,UAAY,KAUjB7iD,KAAK8iD,YASL9iD,KAAK+iD,cAAgB,KASrB/iD,KAAKgjD,aAAe,KAUpBhjD,KAAKutC,MAAQ,KAObvtC,KAAKijD,SAAW,KAUhBjjD,KAAKkjD,MAAQ,KAUbljD,KAAKmjD,UAAY,KAOjBnjD,KAAKojD,QAAU,KAQfpjD,KAAKqjD,aAAc,EAWnBrjD,KAAKsjD,OAAS,KAWdtjD,KAAKujD,KAAO,KAWZvjD,KAAKwjD,MAAQ,KAUbxjD,KAAKyjD,OAAS,KAQdzjD,KAAK0jD,cAAgB,EAMrB1jD,KAAK2jD,iBAAmB,IAAIniD,EAAO62C,SAMnCr4C,KAAK4jD,YAAc,IAAIpiD,EAAOX,MAM9Bb,KAAK6jD,aAAe,EAMpB7jD,KAAK8jD,aAAe,KAMpB9jD,KAAK+jD,GAAK,EAMV/jD,KAAKgkD,GAAK,GAOdxiD,EAAOo8C,MAAMqG,sBAAwB,EAMrCziD,EAAOo8C,MAAMsG,sBAAwB,EAMrC1iD,EAAOo8C,MAAM2D,oBAAsB,EAOnC//C,EAAOo8C,MAAMuG,aAAe,GAE5B3iD,EAAOo8C,MAAMt7C,WAoBTyhC,KAAM,SAAUvtB,GAER,gBAAiBA,IAEjBxW,KAAK0hD,YAAclrC,EAAOkrC,aAG9B1hD,KAAKgjD,aAAe,IAAIxhD,EAAO4iD,QAAQpkD,KAAK+C,KAAM,EAAGvB,EAAO6iD,YAAYC,QACxEtkD,KAAKukD,aACLvkD,KAAKukD,aAELvkD,KAAKutC,MAAQ,IAAI/rC,EAAOgjD,MAAMxkD,KAAK+C,MACnC/C,KAAKkjD,MAAQ,IAAI1hD,EAAOijD,MAAMzkD,KAAK+C,MACnC/C,KAAKmjD,UAAY,IAAI3hD,EAAOkjD,UAAU1kD,KAAK+C,MAC3C/C,KAAK2kD,WAAa,IAAInjD,EAAOojD,WAAW5kD,KAAK+C,MAC7C/C,KAAK6kD,YAAc,IAAIrjD,EAAOsjD,YAAY9kD,KAAK+C,MAE3CvB,EAAOujD,WAEP/kD,KAAKijD,SAAW,IAAIzhD,EAAOujD,SAAS/kD,KAAK+C,OAGzCvB,EAAOwjD,UAEPhlD,KAAKojD,QAAU,IAAI5hD,EAAOwjD,QAAQhlD,KAAK+C,OAG3C/C,KAAKsjD,OAAS,IAAI9hD,EAAO6gC,OACzBriC,KAAKujD,KAAO,IAAI/hD,EAAO6gC,OACvBriC,KAAKwjD,MAAQ,IAAIhiD,EAAO6gC,OACxBriC,KAAKyjD,OAAS,IAAIjiD,EAAO6gC,OAEzBriC,KAAKc,MAAQ,IAAIU,EAAOX,MAAM,EAAG,GACjCb,KAAKwhD,MAAQ,IAAIhgD,EAAOX,MACxBb,KAAKY,SAAW,IAAIY,EAAOX,MAC3Bb,KAAK8jD,aAAe,IAAItiD,EAAOX,MAE/Bb,KAAKyhD,OAAS,IAAIjgD,EAAOmzB,OAAO,EAAG,EAAG,IAEtC30B,KAAK+iD,cAAgB/iD,KAAKgjD,aAE1BhjD,KAAK+gD,UAAYv/C,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GACnDA,KAAKghD,WAAahhD,KAAK+gD,UAAUvoC,WAAW,MAExCxY,KAAK+C,KAAKknB,OAAOk5B,YAAmC,IAArB3sC,EAAO2sC,UAEtCnjD,KAAKmjD,UAAU72C,QAEVtM,KAAK+C,KAAKknB,OAAOi5B,QAA2B,IAAjB1sC,EAAO0sC,OAEvCljD,KAAKkjD,MAAM52C,QAGVtM,KAAKmjD,UAAUpY,SAA4B,IAAjBv0B,EAAO+2B,OAElCvtC,KAAKutC,MAAMjhC,QAGftM,KAAKgjD,aAAajY,QAAS,GAED,IAAtBv0B,EAAOmuC,YAEP3kD,KAAK2kD,WAAWr4C,SAGO,IAAvBkK,EAAOquC,aAEP7kD,KAAK6kD,YAAYv4C,QAGjBtM,KAAKijD,WAAiC,IAApBzsC,EAAOysC,UAEzBjjD,KAAKijD,SAAS32C,QAGlB,IAAIogC,EAAQ1sC,KAEZA,KAAKilD,mBAAqB,SAAUvU,GAEhChE,EAAMwY,kBAAkBxU,IAG5B1wC,KAAK+C,KAAKmU,OAAO85B,iBAAiB,QAAShxC,KAAKilD,oBAAoB,IAQxEziD,QAAS,WAELxC,KAAKutC,MAAMphC,OACXnM,KAAK2kD,WAAWx4C,OAChBnM,KAAKkjD,MAAM/2C,OACXnM,KAAKmjD,UAAUh3C,OACfnM,KAAK6kD,YAAY14C,OAEbnM,KAAKijD,UAELjjD,KAAKijD,SAAS92C,OAGdnM,KAAKojD,SAELpjD,KAAKojD,QAAQj3C,OAGjBnM,KAAKihD,iBAELz/C,EAAOqF,WAAWsV,OAAOnc,MAEzBA,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,QAASjyC,KAAKilD,qBAyBvDE,+BAAgC,SAAUnQ,EAAUlnC,GAEhD9N,KAAKkhD,uBAAyBlM,EAC9Bh1C,KAAKmhD,8BAAgCrzC,GAuBzCs3C,gBAAiB,SAAUpQ,EAAUlnC,GAEjC9N,KAAKihD,cAAcn5C,MAAOktC,SAAUA,EAAUlnC,QAASA,KAkB3Du3C,qBAAsB,SAAUrQ,EAAUlnC,EAASw3C,QAEjC/+C,IAAV++C,IAAuBA,GAAQ,GAEnCtlD,KAAKmiD,mBAAmBr6C,MAAOktC,SAAUA,EAAUlnC,QAASA,EAASw3C,MAAOA,KAWhFC,wBAAyB,SAAUvQ,EAAUlnC,GAIzC,IAFA,IAAIpL,EAAI1C,KAAKmiD,mBAAmBx/C,OAEzBD,KAEH,GAAI1C,KAAKmiD,mBAAmBz/C,GAAGsyC,WAAaA,GAAYh1C,KAAKmiD,mBAAmBz/C,GAAGoL,UAAYA,EAG3F,OADA9N,KAAKmiD,mBAAmBr5C,OAAOpG,EAAG,IAC3B,EAIf,OAAO,GAWX8iD,0BAA2B,SAAUF,EAAO5U,GAIxC,IAFA,IAAIhuC,EAAI1C,KAAKmiD,mBAAmBx/C,OAEzBD,KACP,CACI,IAAI+iD,EAAKzlD,KAAKmiD,mBAAmBz/C,GAE7B+iD,EAAGH,QAAUA,GAASG,EAAGzQ,SAASxwC,KAAKihD,EAAG33C,QAAS9N,KAAM0wC,IAEzD1wC,KAAKmiD,mBAAmBr5C,OAAOpG,EAAG,KAY9CgjD,mBAAoB,SAAU1Q,EAAUlnC,GAIpC,IAFA,IAAIpL,EAAI1C,KAAKihD,cAAct+C,OAEpBD,KAEH,GAAI1C,KAAKihD,cAAcv+C,GAAGsyC,WAAaA,GAAYh1C,KAAKihD,cAAcv+C,GAAGoL,UAAYA,EAGjF,YADA9N,KAAKihD,cAAcn4C,OAAOpG,EAAG,IAczC6hD,WAAY,WAER,GAAIvkD,KAAK8iD,SAASngD,QAAUnB,EAAOo8C,MAAMuG,aAGrC,OADA7jD,QAAQ+Z,KAAK,6CAA+C7Y,EAAOo8C,MAAMuG,aAAe,sBACjF,KAGX,IAAIjwC,EAAKlU,KAAK8iD,SAASngD,OAAS,EAC5B0rC,EAAU,IAAI7sC,EAAO4iD,QAAQpkD,KAAK+C,KAAMmR,EAAI1S,EAAO6iD,YAAYsB,SAKnE,OAHA3lD,KAAK8iD,SAASh7C,KAAKumC,GACnBruC,KAAK,UAAYkU,GAAMm6B,EAEhBA,GASXlJ,OAAQ,WAOJ,GALInlC,KAAKijD,UAELjjD,KAAKijD,SAAS9d,SAGdnlC,KAAKohD,SAAW,GAAKphD,KAAK6jD,aAAe7jD,KAAKohD,SAE9CphD,KAAK6jD,mBAFT,CAMA7jD,KAAKwhD,MAAMz9C,EAAI/D,KAAKY,SAASmD,EAAI/D,KAAK8jD,aAAa//C,EACnD/D,KAAKwhD,MAAMx9C,EAAIhE,KAAKY,SAASoD,EAAIhE,KAAK8jD,aAAa9/C,EAEnDhE,KAAK8jD,aAAazuB,SAASr1B,KAAKY,UAChCZ,KAAKgjD,aAAa7d,SAEdnlC,KAAKojD,SAAWpjD,KAAKojD,QAAQrY,QAE7B/qC,KAAKojD,QAAQje,SAGjB,IAAK,IAAIziC,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAEtC1C,KAAK8iD,SAASpgD,GAAGyiC,SAGrBnlC,KAAK6jD,aAAe,IASxBvc,YAAa,WAELtnC,KAAKojD,SAAWpjD,KAAKojD,QAAQrY,QAE7B/qC,KAAKojD,QAAQje,UAerBiB,MAAO,SAAUwf,GAEb,GAAK5lD,KAAK+C,KAAKsmC,WAAYrpC,KAAKqjD,YAAhC,MAKa98C,IAATq/C,IAAsBA,GAAO,GAEjC5lD,KAAKgjD,aAAa5c,QAEdpmC,KAAKijD,UAELjjD,KAAKijD,SAAS7c,MAAMwf,GAGxB,IAAK,IAAIljD,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAEtC1C,KAAK8iD,SAASpgD,GAAG0jC,QAGiB,SAAlCpmC,KAAK+C,KAAKmU,OAAOoE,MAAM23B,SAEvBjzC,KAAK+C,KAAKmU,OAAOoE,MAAM23B,OAAS,IAGhC2S,IAEA5lD,KAAKsjD,OAAO7W,UACZzsC,KAAKujD,KAAK9W,UACVzsC,KAAKwjD,MAAM/W,UACXzsC,KAAKyjD,OAAOhX,UACZzsC,KAAKsjD,OAAS,IAAI9hD,EAAO6gC,OACzBriC,KAAKujD,KAAO,IAAI/hD,EAAO6gC,OACvBriC,KAAKwjD,MAAQ,IAAIhiD,EAAO6gC,OACxBriC,KAAKyjD,OAAS,IAAIjiD,EAAO6gC,OACzBriC,KAAKihD,kBAGTjhD,KAAK6jD,aAAe,IAUxBgC,WAAY,SAAU9hD,EAAGC,GAErBhE,KAAK8jD,aAAa1uB,MAAMrxB,EAAGC,GAC3BhE,KAAKwhD,MAAMpsB,MAAM,EAAG,IAYxB0wB,aAAc,SAAUpV,GAEpB,GAAI1wC,KAAK0hD,aAAe,GAAK1hD,KAAK+lD,oBAAoB/lD,KAAK0hD,cAAgB1hD,KAAK0hD,YAE5E,OAAO,KAGX,IAAK1hD,KAAKoiD,SAASrX,OAEf,OAAO/qC,KAAKoiD,SAAS91C,MAAMokC,GAG/B,IAAK1wC,KAAKqiD,SAAStX,OAEf,OAAO/qC,KAAKqiD,SAAS/1C,MAAMokC,GAG/B,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAC1C,CACI,IAAI2rC,EAAUruC,KAAK8iD,SAASpgD,GAE5B,IAAK2rC,EAAQtD,OAET,OAAOsD,EAAQ/hC,MAAMokC,GAI7B,OAAO,MAYXsV,cAAe,SAAUtV,GAErB,GAAI1wC,KAAKoiD,SAASrX,QAAU/qC,KAAKoiD,SAAS6D,aAAevV,EAAMuV,WAE3D,OAAOjmD,KAAKoiD,SAAS8D,KAAKxV,GAG9B,GAAI1wC,KAAKqiD,SAAStX,QAAU/qC,KAAKqiD,SAAS4D,aAAevV,EAAMuV,WAE3D,OAAOjmD,KAAKqiD,SAAS6D,KAAKxV,GAG9B,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAC1C,CACI,IAAI2rC,EAAUruC,KAAK8iD,SAASpgD,GAE5B,GAAI2rC,EAAQtD,QAAUsD,EAAQ4X,aAAevV,EAAMuV,WAE/C,OAAO5X,EAAQ6X,KAAKxV,GAI5B,OAAO,MAWXyV,YAAa,SAAUzV,GAEnB,GAAI1wC,KAAKoiD,SAASrX,QAAU/qC,KAAKoiD,SAAS6D,aAAevV,EAAMuV,WAE3D,OAAOjmD,KAAKoiD,SAASj2C,KAAKukC,GAG9B,GAAI1wC,KAAKqiD,SAAStX,QAAU/qC,KAAKqiD,SAAS4D,aAAevV,EAAMuV,WAE3D,OAAOjmD,KAAKqiD,SAASl2C,KAAKukC,GAG9B,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAC1C,CACI,IAAI2rC,EAAUruC,KAAK8iD,SAASpgD,GAE5B,GAAI2rC,EAAQtD,QAAUsD,EAAQ4X,aAAevV,EAAMuV,WAE/C,OAAO5X,EAAQliC,KAAKukC,GAI5B,OAAO,MAWXqV,oBAAqB,SAAUvoB,QAEbj3B,IAAVi3B,IAAuBA,EAAQx9B,KAAK8iD,SAASngD,QAIjD,IAAK,IAFD4b,EAAQif,EAEH96B,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,QAAU4b,EAAQ,EAAG7b,IAErC1C,KAAK8iD,SAASpgD,GAEhBqoC,QAERxsB,IAIR,OAAQif,EAAQjf,GAUpB6nC,WAAY,SAAUC,QAED9/C,IAAb8/C,IAA0BA,GAAW,GAEzC,IAAK,IAAI3jD,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAC1C,CACI,IAAI2rC,EAAUruC,KAAK8iD,SAASpgD,GAE5B,GAAI2rC,EAAQtD,SAAWsb,EAEnB,OAAOhY,EAIf,OAAO,MAcXiY,yBAA0B,SAAUL,GAEhC,IAAK,IAAIvjD,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAC1C,CACI,IAAI2rC,EAAUruC,KAAK8iD,SAASpgD,GAE5B,GAAI2rC,EAAQ4X,aAAeA,EAEvB,OAAO5X,EAIf,OAAO,MAaXkY,iBAAkB,SAAUC,GAExB,IAAK,IAAI9jD,EAAI,EAAGA,EAAI1C,KAAK8iD,SAASngD,OAAQD,IAC1C,CACI,IAAI2rC,EAAUruC,KAAK8iD,SAASpgD,GAE5B,GAAI2rC,EAAQmY,YAAcA,EAEtB,OAAOnY,EAIf,OAAO,MAWXoY,iBAAkB,SAAUxrC,EAAeozB,EAAS3Y,QAEjCnvB,IAAXmvB,IAAwBA,EAAS,IAAIl0B,EAAOX,OAEhD,IAAI4C,EAAKwX,EAAc1Z,eACnB2S,EAAK,GAAKzQ,EAAGP,EAAIO,EAAGJ,EAAII,EAAGL,GAAKK,EAAGN,GAEvC,OAAOuyB,EAAON,MACV3xB,EAAGJ,EAAI6Q,EAAKm6B,EAAQtqC,GAAKN,EAAGL,EAAI8Q,EAAKm6B,EAAQrqC,GAAKP,EAAGF,GAAKE,EAAGL,EAAIK,EAAGH,GAAKG,EAAGJ,GAAK6Q,EACjFzQ,EAAGP,EAAIgR,EAAKm6B,EAAQrqC,GAAKP,EAAGN,EAAI+Q,EAAKm6B,EAAQtqC,IAAMN,EAAGF,GAAKE,EAAGP,EAAIO,EAAGH,GAAKG,EAAGN,GAAK+Q,IAY1FwyC,QAAS,SAAUzrC,EAAeozB,EAASsY,GAEvC,IAAK1rC,EAAc5T,aAEf,OAAO,EAOX,GAJArH,KAAKymD,iBAAiBxrC,EAAeozB,EAASruC,KAAK4jD,aAEnD+C,EAAWtxB,SAASr1B,KAAK4jD,aAErB3oC,EAAc9Z,SAAW8Z,EAAc9Z,QAAQmJ,SAE/C,OAAQ2Q,EAAc9Z,QAAQmJ,SAAStK,KAAK4jD,YAAY7/C,EAAG/D,KAAK4jD,YAAY5/C,GAE3E,GAAIxC,EAAOolD,UAAY3rC,aAAyBzZ,EAAOolD,SAC5D,CACI,IAAIhpD,EAAQ8F,KAAKizB,IAAI1b,EAAcrd,OAC/BC,EAAS6F,KAAKizB,IAAI1b,EAAcpd,QAChCyN,EAAK2P,EAAclX,EAAKnG,EAAQqd,EAAcwzB,QAElD,GAAIzuC,KAAK+C,KAAK+X,OAAO/W,EAAIsqC,EAAQtqC,GAAKuH,GAAMtL,KAAK+C,KAAK+X,OAAO/W,EAAIsqC,EAAQtqC,EAAIuH,EAAK1N,EAClF,CACQ2N,EAAK0P,EAAcjX,EAAKnG,EAASod,EAAcyzB,QAEnD,GAAI1uC,KAAK+C,KAAK+X,OAAO9W,EAAIqqC,EAAQrqC,GAAKuH,GAAMvL,KAAK+C,KAAK+X,OAAO9W,EAAIqqC,EAAQrqC,EAAIuH,EAAK1N,EAE9E,OAAO,QAId,GAAIod,aAAyBzZ,EAAOqlD,WACzC,CACI,IAAIjpD,EAAQqd,EAAcrd,MACtBC,EAASod,EAAcpd,OACvByN,GAAM1N,EAAQqd,EAActU,OAAO5C,EAEvC,GAAI/D,KAAK4jD,YAAY7/C,GAAKuH,GAAMtL,KAAK4jD,YAAY7/C,EAAIuH,EAAK1N,EAC1D,CACQ2N,GAAM1N,EAASod,EAActU,OAAO3C,EAExC,GAAIhE,KAAK4jD,YAAY5/C,GAAKuH,GAAMvL,KAAK4jD,YAAY5/C,EAAIuH,EAAK1N,EAEtD,OAAO,QAId,GAAIod,aAAyBzc,KAAKsH,OACvC,CACI,IAAIlI,EAAQqd,EAAcld,QAAQsP,MAAMzP,MAAQqd,EAAcld,QAAQqI,YAAYxB,WAC9E/G,EAASod,EAAcld,QAAQsP,MAAMxP,OAASod,EAAcld,QAAQqI,YAAYxB,WAChF0G,GAAM1N,EAAQqd,EAActU,OAAO5C,EAEvC,GAAI/D,KAAK4jD,YAAY7/C,GAAKuH,GAAMtL,KAAK4jD,YAAY7/C,EAAIuH,EAAK1N,EAC1D,CACI,IAAI2N,GAAM1N,EAASod,EAActU,OAAO3C,EAExC,GAAIhE,KAAK4jD,YAAY5/C,GAAKuH,GAAMvL,KAAK4jD,YAAY5/C,EAAIuH,EAAK1N,EAEtD,OAAO,QAId,GAAIod,aAAyBzZ,EAAOwiC,SAErC,IAASthC,EAAI,EAAGA,EAAIuY,EAAc6rC,aAAankD,OAAQD,IACvD,CACI,IAAI0R,EAAO6G,EAAc6rC,aAAapkD,GAEtC,GAAK0R,EAAK2yC,OAMN3yC,EAAK4yC,OAAS5yC,EAAK4yC,MAAM18C,SAAStK,KAAK4jD,YAAY7/C,EAAG/D,KAAK4jD,YAAY5/C,IAEvE,OAAO,EAOnB,IAAK,IAAItB,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/C,GAAI1C,KAAK0mD,QAAQzrC,EAAcxY,SAASC,GAAI2rC,EAASsY,GAEjD,OAAO,EAIf,OAAO,GASXzB,kBAAmB,WAMfllD,KAAK+iD,cAAckE,2BAWvBlP,QAAS,SAAUmP,EAAS7Y,GAKxB,IAHA,IAAI6L,EAAOl6C,KAAK2jD,iBAAiBzJ,KAC7Bx3C,EAAIw3C,EAAKv3C,OAEND,KACP,CACI,IAAI4E,EAAO4yC,EAAKx3C,GAEZ4E,GAAQA,EAAK+5C,SAEb/5C,EAAK4/C,GAAS7Y,MAO9B7sC,EAAOo8C,MAAMt7C,UAAUC,YAAcf,EAAOo8C,MAQ5C52C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,KAE1C4E,IAAK,WAED,OAAOlH,KAAK+jD,IAGhB58C,IAAK,SAAUC,GAEXpH,KAAK+jD,GAAKrgD,KAAKmsB,MAAMzoB,MAW7BJ,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,KAE1C4E,IAAK,WAED,OAAOlH,KAAKgkD,IAGhB78C,IAAK,SAAUC,GAEXpH,KAAKgkD,GAAKtgD,KAAKmsB,MAAMzoB,MAW7BJ,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,cAE1C4E,IAAK,WAED,OAAQlH,KAAKohD,SAAW,GAAKphD,KAAK6jD,aAAe7jD,KAAKohD,YAW9Dp6C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,yBAE1C4E,IAAK,WAED,OAAOlH,KAAK8iD,SAASngD,OAAS3C,KAAK+lD,yBAW3C/+C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,uBAE1C4E,IAAK,WAED,OAAOlH,KAAK+lD,yBAWpB/+C,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK+D,KAW9CiD,OAAOyF,eAAejL,EAAOo8C,MAAMt7C,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAKgE,KAyB9CxC,EAAOgjD,MAAQ,SAAUzhD,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAKwmC,MAAQzjC,EAAKyjC,MAKlBxmC,KAAKspC,gBAAkBtpC,KAAK+C,KAO5B/C,KAAKmnD,kBAAoB,KAOzBnnD,KAAKonD,gBAAkB,KAQvBpnD,KAAKqnD,iBAAmB,KAOxBrnD,KAAKsnD,kBAAoB,KAKzBtnD,KAAKunD,SAAU,EAQfvnD,KAAK+qC,QAAS,EASd/qC,KAAKqhD,SAAU,EAQfrhD,KAAKwnD,eAAgB,EAQrBxnD,KAAK0wC,MAAQ,KAMb1wC,KAAKynD,aAAe,KAMpBznD,KAAK0nD,aAAe,KAMpB1nD,KAAK2nD,WAAa,KAMlB3nD,KAAK4nD,YAAc,KAMnB5nD,KAAK6nD,aAAe,MAOxBrmD,EAAOgjD,MAAMsD,WAAa,EAM1BtmD,EAAOgjD,MAAMuD,YAAc,EAM3BvmD,EAAOgjD,MAAMwD,cAAgB,EAM7BxmD,EAAOgjD,MAAMyD,aAAe,EAM5BzmD,EAAOgjD,MAAM0D,YAAc,EAM3B1mD,EAAOgjD,MAAM2D,eAAiB,EAE9B3mD,EAAOgjD,MAAMliD,WAOTgK,MAAO,WAEH,IAAI2d,EAASjqB,KAAK+C,KAAKknB,OAEvB,GAAIA,EAAOm+B,yBAA2BpoD,KAAKwmC,MAAM0c,MAAMnY,OAGnD,OAAO,EAGX,GAA0B,OAAtB/qC,KAAKynD,aAGL,OAAO,EAGX,IAAI/a,EAAQ1sC,KAEZA,KAAKynD,aAAe,SAAU/W,GAE1B,OAAOhE,EAAM2b,YAAY3X,IAG7B1wC,KAAK0nD,aAAe,SAAUhX,GAE1B,OAAOhE,EAAM4b,YAAY5X,IAG7B1wC,KAAK2nD,WAAa,SAAUjX,GAExB,OAAOhE,EAAM6b,UAAU7X,IAG3B1wC,KAAKwoD,iBAAmB,SAAU9X,GAE9B,OAAOhE,EAAM+b,gBAAgB/X,IAGjC1wC,KAAK0oD,kBAAoB,SAAUhY,GAE/B,OAAOhE,EAAMic,iBAAiBjY,IAGlC1wC,KAAK4nD,YAAc,SAAUlX,GAEzB,OAAOhE,EAAMkc,WAAWlY,IAG5B1wC,KAAK6nD,aAAe,SAAUnX,GAE1B,OAAOhE,EAAMmc,YAAYnY,IAG7B,IAAIx5B,EAASlX,KAAK+C,KAAKmU,OAgBvB,OAdAA,EAAO85B,iBAAiB,YAAahxC,KAAKynD,cAAc,GACxDvwC,EAAO85B,iBAAiB,YAAahxC,KAAK0nD,cAAc,GACxDxwC,EAAO85B,iBAAiB,UAAWhxC,KAAK2nD,YAAY,GAE/C19B,EAAOs1B,WAERnvC,OAAO4gC,iBAAiB,UAAWhxC,KAAKwoD,kBAAkB,GAC1Dp4C,OAAO4gC,iBAAiB,WAAYhxC,KAAK0oD,mBAAmB,GAC5DxxC,EAAO85B,iBAAiB,YAAahxC,KAAK6nD,cAAc,GACxD3wC,EAAO85B,iBAAiB,WAAYhxC,KAAK4nD,aAAa,IAG1D5nD,KAAK+qC,QAAS,GAEP,GAQXsd,YAAa,SAAU3X,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGN1/C,KAAKmnD,mBAELnnD,KAAKmnD,kBAAkB3iD,KAAKxE,KAAKspC,gBAAiBoH,GAGjD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjC3Q,EAAMuV,WAAa,EAEnBjmD,KAAKwmC,MAAMwc,aAAa12C,MAAMokC,KAQlC4X,YAAa,SAAU5X,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGN1/C,KAAK8oD,mBAEL9oD,KAAK8oD,kBAAkBtkD,KAAKxE,KAAKspC,gBAAiBoH,GAGjD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjC3Q,EAAMuV,WAAa,EAEnBjmD,KAAKwmC,MAAMwc,aAAakD,KAAKxV,KAQjC6X,UAAW,SAAU7X,GAEjB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGN1/C,KAAKonD,iBAELpnD,KAAKonD,gBAAgB5iD,KAAKxE,KAAKspC,gBAAiBoH,GAG/C1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjC3Q,EAAMuV,WAAa,EAEnBjmD,KAAKwmC,MAAMwc,aAAa72C,KAAKukC,KASjC+X,gBAAiB,SAAU/X,GAElB1wC,KAAKwmC,MAAMwc,aAAa+F,aAErB/oD,KAAKonD,iBAELpnD,KAAKonD,gBAAgB5iD,KAAKxE,KAAKspC,gBAAiBoH,GAGpDA,EAAMuV,WAAa,EAEnBjmD,KAAKwmC,MAAMwc,aAAa72C,KAAKukC,KAUrCiY,iBAAkB,SAAUjY,GAExB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGV1/C,KAAKwmC,MAAMwc,aAAa+F,YAAa,EAEhC/oD,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAejCrhD,KAAKwmC,MAAMwc,aAAa72C,KAAKukC,GAG7B1wC,KAAKwmC,MAAMwc,aAAagG,iBAS5BJ,WAAY,SAAUlY,GAElB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGV1/C,KAAKwmC,MAAMwc,aAAa+F,YAAa,EAEjC/oD,KAAKqnD,kBAELrnD,KAAKqnD,iBAAiB7iD,KAAKxE,KAAKspC,gBAAiBoH,GAGhD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjCrhD,KAAKwmC,MAAMwc,aAAaiG,cAAcvY,GAElC1wC,KAAKwnD,gBAEL9W,EAAMuV,WAAa,EAEnBjmD,KAAKwmC,MAAMwc,aAAa72C,KAAKukC,GAE7B1wC,KAAKwmC,MAAMuR,QAAQ,qBAAsB/3C,KAAKwmC,MAAMwc,iBAU5D6F,YAAa,SAAUnY,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGV1/C,KAAKwmC,MAAMwc,aAAa+F,YAAa,EAEjC/oD,KAAKsnD,mBAELtnD,KAAKsnD,kBAAkB9iD,KAAKxE,KAAKspC,gBAAiBoH,GAGjD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,SAKjCrhD,KAAKwmC,MAAMwc,aAAaiG,cAAcvY,IAO1CvkC,KAAM,WAEF,IAAI+K,EAASlX,KAAK+C,KAAKmU,OAEvBA,EAAO+6B,oBAAoB,YAAajyC,KAAKynD,cAAc,GAC3DvwC,EAAO+6B,oBAAoB,YAAajyC,KAAK0nD,cAAc,GAC3DxwC,EAAO+6B,oBAAoB,UAAWjyC,KAAK2nD,YAAY,GACvDzwC,EAAO+6B,oBAAoB,YAAajyC,KAAK6nD,cAAc,GAC3D3wC,EAAO+6B,oBAAoB,WAAYjyC,KAAK4nD,aAAa,GAEzDx3C,OAAO6hC,oBAAoB,UAAWjyC,KAAKwoD,kBAAkB,GAC7Dp4C,OAAO6hC,oBAAoB,WAAYjyC,KAAK0oD,mBAAmB,GAE/D1oD,KAAK+qC,QAAS,IAKtBvpC,EAAOgjD,MAAMliD,UAAUC,YAAcf,EAAOgjD,MAQ5ChjD,EAAOojD,WAAa,SAAU7hD,GAM1B/C,KAAK+C,KAAOA,EAMZ/C,KAAKwmC,MAAQzjC,EAAKyjC,MAMlBxmC,KAAKkpD,QAAUnmD,EAAKmU,OAOpBlX,KAAK0/C,gBAAiB,EAStB1/C,KAAK+qC,QAAS,EAOd/qC,KAAKg1C,SAAW,KAOhBh1C,KAAKspC,gBAAkBvmC,EASvB/C,KAAKmpD,MAAQ,EAWbnpD,KAAKopD,eAAiBrmD,EAAKknB,OAAOo/B,WAQlCrpD,KAAKspD,oBAAsBtpD,KAAKupD,eAAex5B,KAAK/vB,MAOpDA,KAAKwpD,WAAa,MAOtBhoD,EAAOojD,WAAW54B,GAAK,EAMvBxqB,EAAOojD,WAAW34B,MAAQ,EAO1BzqB,EAAOojD,WAAWtiD,UAAUgK,MAAQ,WAEhC,SAAKtM,KAAKopD,gBAAkBppD,KAAK+qC,UAKjC/qC,KAAKkpD,QAAQlY,iBAAiBhxC,KAAKopD,eAAgBppD,KAAKspD,qBAAqB,GAEjD,eAAxBtpD,KAAKopD,eAELppD,KAAKwpD,WAAa,IAAIhoD,EAAOioD,iBAAgB,KAAS,GAEzB,mBAAxBzpD,KAAKopD,iBAEVppD,KAAKwpD,WAAa,IAAIhoD,EAAOioD,gBAAgB,EAAG,IAGpDzpD,KAAK+qC,QAAS,GAEP,IAOXvpC,EAAOojD,WAAWtiD,UAAU6J,KAAO,WAE1BnM,KAAK+qC,SAKV/qC,KAAKkpD,QAAQjX,oBAAoBjyC,KAAKopD,eAAgBppD,KAAKspD,qBAAqB,GAEhFtpD,KAAK+qC,QAAS,IASlBvpC,EAAOojD,WAAWtiD,UAAUinD,eAAiB,SAAU7Y,GAE/C1wC,KAAKwpD,aAEL9Y,EAAQ1wC,KAAKwpD,WAAWE,UAAUhZ,IAGlC1wC,KAAK0/C,gBAELhP,EAAMgP,iBAIV1/C,KAAKmpD,MAAQ3nD,EAAOkC,KAAK+4B,OAAOiU,EAAMiZ,QAAS,EAAG,GAE9C3pD,KAAKg1C,UAELh1C,KAAKg1C,SAASxwC,KAAKxE,KAAKspC,gBAAiBoH,IA8BjDlvC,EAAOkjD,UAAY,SAAU3hD,GAKzB/C,KAAK+C,KAAOA,EAMZ/C,KAAKwmC,MAAQzjC,EAAKyjC,MAKlBxmC,KAAKspC,gBAAkBtpC,KAAK+C,KAK5B/C,KAAK4pD,oBAAsB,KAK3B5pD,KAAK6pD,oBAAsB,KAK3B7pD,KAAK8pD,kBAAoB,KAKzB9pD,KAAK+pD,mBAAqB,KAK1B/pD,KAAKgqD,oBAAsB,KAK3BhqD,KAAKiqD,sBAAwB,KAgB7BjqD,KAAKunD,SAAU,EAQfvnD,KAAK0wC,MAAQ,KAQb1wC,KAAK+qC,QAAS,EAOd/qC,KAAKqhD,SAAU,EAOfrhD,KAAKwnD,eAAgB,EAMrBxnD,KAAKkqD,iBAAmB,KAMxBlqD,KAAKmqD,iBAAmB,KAMxBnqD,KAAKoqD,eAAiB,KAMtBpqD,KAAKqqD,qBAAuB,KAM5BrqD,KAAKsqD,gBAAkB,KAMvBtqD,KAAKuqD,iBAAmB,MAG5B/oD,EAAOkjD,UAAUpiD,WAMbgK,MAAO,WAEH,IAAKtM,KAAK+C,KAAKknB,OAAOk5B,UAElB,OAAO,EAGX,GAA8B,OAA1BnjD,KAAKkqD,iBAGL,OAAO,EAGX,IAAIxd,EAAQ1sC,KAEZA,KAAKkqD,iBAAmB,SAAUxZ,GAE9B,OAAOhE,EAAM8d,cAAc9Z,IAG/B1wC,KAAKmqD,iBAAmB,SAAUzZ,GAE9B,OAAOhE,EAAM+d,cAAc/Z,IAG/B1wC,KAAKoqD,eAAiB,SAAU1Z,GAE5B,OAAOhE,EAAMge,YAAYha,IAG7B1wC,KAAKqqD,qBAAuB,SAAU3Z,GAElC,OAAOhE,EAAMie,kBAAkBja,IAGnC1wC,KAAKsqD,gBAAkB,SAAU5Z,GAE7B,OAAOhE,EAAMke,aAAala,IAG9B1wC,KAAKuqD,iBAAmB,SAAU7Z,GAE9B,OAAOhE,EAAMme,cAAcna,IAG/B1wC,KAAK8qD,mBAAqB,SAAUpa,GAEhC,OAAOhE,EAAMqe,gBAAgBra,IAGjC,IAAIx5B,EAASlX,KAAK+C,KAAKmU,OA8BvB,OA5BAA,EAAO85B,iBAAiB,gBAAiBhxC,KAAKkqD,kBAAkB,GAChEhzC,EAAO85B,iBAAiB,gBAAiBhxC,KAAKmqD,kBAAkB,GAChEjzC,EAAO85B,iBAAiB,cAAehxC,KAAKoqD,gBAAgB,GAC5DlzC,EAAO85B,iBAAiB,kBAAmBhxC,KAAK8qD,oBAAoB,GAGpE5zC,EAAO85B,iBAAiB,cAAehxC,KAAKkqD,kBAAkB,GAC9DhzC,EAAO85B,iBAAiB,cAAehxC,KAAKmqD,kBAAkB,GAC9DjzC,EAAO85B,iBAAiB,YAAahxC,KAAKoqD,gBAAgB,GAC1DlzC,EAAO85B,iBAAiB,gBAAiBhxC,KAAK8qD,oBAAoB,GAElE5zC,EAAOoE,MAAM,uBAAyB,OACtCpE,EAAOoE,MAAM,oBAAsB,OAE9Btb,KAAK+C,KAAKknB,OAAOs1B,WAElBnvC,OAAO4gC,iBAAiB,cAAehxC,KAAKqqD,sBAAsB,GAClEnzC,EAAO85B,iBAAiB,gBAAiBhxC,KAAKuqD,kBAAkB,GAChErzC,EAAO85B,iBAAiB,eAAgBhxC,KAAKsqD,iBAAiB,GAG9Dl6C,OAAO4gC,iBAAiB,YAAahxC,KAAKqqD,sBAAsB,GAChEnzC,EAAO85B,iBAAiB,cAAehxC,KAAKuqD,kBAAkB,GAC9DrzC,EAAO85B,iBAAiB,aAAchxC,KAAKsqD,iBAAiB,IAGhEtqD,KAAK+qC,QAAS,GAEP,GASXyf,cAAe,SAAU9Z,GAErB1wC,KAAK+C,KAAKyjC,MAAMgf,2BAA0B,EAAO9U,GAEjD1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGN1/C,KAAK4pD,qBAEL5pD,KAAK4pD,oBAAoBplD,KAAKxE,KAAKspC,gBAAiBoH,GAGnD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjC3Q,EAAMuV,WAAavV,EAAM8V,UAErBxmD,KAAKgrD,oBAAoBta,GAEzB1wC,KAAKwmC,MAAMwc,aAAa12C,MAAMokC,GAI9B1wC,KAAKwmC,MAAMsf,aAAapV,KAShC+Z,cAAe,SAAU/Z,GAErB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGN1/C,KAAK6pD,qBAEL7pD,KAAK6pD,oBAAoBrlD,KAAKxE,KAAKspC,gBAAiBoH,GAGnD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjC3Q,EAAMuV,WAAavV,EAAM8V,UAErBxmD,KAAKgrD,oBAAoBta,GAEzB1wC,KAAKwmC,MAAMwc,aAAakD,KAAKxV,GAI7B1wC,KAAKwmC,MAAMwf,cAActV,KASjCga,YAAa,SAAUha,GAEnB1wC,KAAK+C,KAAKyjC,MAAMgf,2BAA0B,EAAM9U,GAEhD1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGN1/C,KAAK8pD,mBAEL9pD,KAAK8pD,kBAAkBtlD,KAAKxE,KAAKspC,gBAAiBoH,GAGjD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,UAKjC3Q,EAAMuV,WAAavV,EAAM8V,UAErBxmD,KAAKgrD,oBAAoBta,GAEzB1wC,KAAKwmC,MAAMwc,aAAa72C,KAAKukC,GAI7B1wC,KAAKwmC,MAAM2f,YAAYzV,KAU/Bia,kBAAmB,SAAUja,GAIzB,GAFAA,EAAMuV,WAAavV,EAAM8V,UAErBxmD,KAAKgrD,oBAAoBta,KAAW1wC,KAAKwmC,MAAMwc,aAAa+F,WAE5D/oD,KAAK0qD,YAAYha,OAGrB,CACI,IAAIrC,EAAUruC,KAAKwmC,MAAM8f,yBAAyB5V,EAAMuV,YAEpD5X,GAAWA,EAAQ0a,YAEnB/oD,KAAK0qD,YAAYha,KAW7Bka,aAAc,SAAUla,GAEpB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGVhP,EAAMuV,WAAavV,EAAM8V,UAEzB,IAAInY,EAAUruC,KAAKirD,oBAAoBva,GAEnCrC,IAEAA,EAAQ0a,YAAa,GAGrB/oD,KAAK+pD,oBAEL/pD,KAAK+pD,mBAAmBvlD,KAAKxE,KAAKspC,gBAAiBoH,GAGlD1wC,KAAKwmC,MAAM6a,SAAYrhD,KAAKqhD,SAK7BrhD,KAAKwnD,gBAEL9W,EAAMuV,WAAa,EAEd5X,IAEDA,EAAUruC,KAAKwmC,MAAMwc,cAGzB3U,EAAQliC,KAAKukC,GAEb1wC,KAAKwmC,MAAMuR,QAAQ,qBAAsB1J,KAUjDwc,cAAe,SAAUna,GAErB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKunD,SAEL7W,EAAMgP,iBAGVhP,EAAMuV,WAAavV,EAAM8V,UAEzB,IAAInY,EAAUruC,KAAKirD,oBAAoBva,GAEnCrC,IAEAA,EAAQ0a,YAAa,GAGrB/oD,KAAKgqD,qBAELhqD,KAAKgqD,oBAAoBxlD,KAAKxE,KAAKspC,gBAAiBoH,IAU5Dqa,gBAAiB,SAAUra,GAEvB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKiqD,uBAELjqD,KAAKiqD,sBAAsBzlD,KAAKxE,KAAKspC,gBAAiBoH,GAGrD1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,UAKtC3Q,EAAMuV,WAAavV,EAAM8V,UAErBxmD,KAAKgrD,oBAAoBta,GAEzB1wC,KAAKwmC,MAAMwc,aAAa72C,KAAKukC,GAI7B1wC,KAAKwmC,MAAM2f,YAAYzV,KAQ/BvkC,KAAM,WAEF,IAAI+K,EAASlX,KAAK+C,KAAKmU,OAEvBA,EAAO+6B,oBAAoB,gBAAiBjyC,KAAKkqD,kBAAkB,GACnEhzC,EAAO+6B,oBAAoB,gBAAiBjyC,KAAKmqD,kBAAkB,GACnEjzC,EAAO+6B,oBAAoB,cAAejyC,KAAKoqD,gBAAgB,GAG/DlzC,EAAO+6B,oBAAoB,cAAejyC,KAAKkqD,kBAAkB,GACjEhzC,EAAO+6B,oBAAoB,cAAejyC,KAAKmqD,kBAAkB,GACjEjzC,EAAO+6B,oBAAoB,YAAajyC,KAAKoqD,gBAAgB,GAE7Dh6C,OAAO6hC,oBAAoB,cAAejyC,KAAKqqD,sBAAsB,GACrEnzC,EAAO+6B,oBAAoB,gBAAiBjyC,KAAKuqD,kBAAkB,GACnErzC,EAAO+6B,oBAAoB,eAAgBjyC,KAAKsqD,iBAAiB,GAGjEl6C,OAAO6hC,oBAAoB,YAAajyC,KAAKqqD,sBAAsB,GACnEnzC,EAAO+6B,oBAAoB,cAAejyC,KAAKuqD,kBAAkB,GACjErzC,EAAO+6B,oBAAoB,aAAcjyC,KAAKsqD,iBAAiB,GAE/DtqD,KAAK+qC,QAAS,GAQlBigB,oBAAqB,SAAUta,GAE3B,MAA8B,UAAtBA,EAAMwa,aAAiD,IAAtBxa,EAAMwa,aAQnDD,oBAAqB,SAAUva,GAE3B,OAAO1wC,KAAKgrD,oBAAoBta,GAC1B1wC,KAAKwmC,MAAMwc,aACXhjD,KAAKwmC,MAAM8f,yBAAyB5V,EAAMuV,cAKxDzkD,EAAOkjD,UAAUpiD,UAAUC,YAAcf,EAAOkjD,UAgChDljD,EAAO2pD,aAAe,SAAU9pD,EAAQ+pD,GAKpCprD,KAAKqB,OAASA,EAKdrB,KAAK+C,KAAO1B,EAAO0B,KAMnB/C,KAAK0wC,MAAQ,KAMb1wC,KAAKqrD,QAAS,EAMdrrD,KAAKsrD,MAAO,EAMZtrD,KAAKurD,SAAW,EAMhBvrD,KAAKwrD,OAAS,EAQdxrD,KAAKyrD,QAAU,EAQfzrD,KAAK0rD,QAAS,EAQd1rD,KAAK2rD,UAAW,EAQhB3rD,KAAK4rD,SAAU,EAMf5rD,KAAKoH,MAAQ,EAKbpH,KAAKorD,WAAaA,EAQlBprD,KAAKsjD,OAAS,IAAI9hD,EAAO6gC,OAQzBriC,KAAKujD,KAAO,IAAI/hD,EAAO6gC,OAQvBriC,KAAK6rD,QAAU,IAAIrqD,EAAO6gC,QAG9B7gC,EAAO2pD,aAAa7oD,WAWhBgK,MAAO,SAAUokC,EAAOtpC,GAEhBpH,KAAKqrD,SAKTrrD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EACZtrD,KAAKurD,SAAWvrD,KAAK+C,KAAKwiC,KAAKA,KAC/BvlC,KAAKyrD,QAAU,EAEfzrD,KAAK0wC,MAAQA,EACb1wC,KAAKoH,MAAQA,EAETspC,IAEA1wC,KAAK0rD,OAAShb,EAAMgb,OACpB1rD,KAAK2rD,SAAWjb,EAAMib,SACtB3rD,KAAK4rD,QAAUlb,EAAMkb,SAGzB5rD,KAAKsjD,OAAO7d,SAASzlC,KAAMoH,KAY/B+E,KAAM,SAAUukC,EAAOtpC,GAEfpH,KAAKsrD,OAKTtrD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EACZtrD,KAAKwrD,OAASxrD,KAAK+C,KAAKwiC,KAAKA,KAE7BvlC,KAAK0wC,MAAQA,EACb1wC,KAAKoH,MAAQA,EAETspC,IAEA1wC,KAAK0rD,OAAShb,EAAMgb,OACpB1rD,KAAK2rD,SAAWjb,EAAMib,SACtB3rD,KAAK4rD,QAAUlb,EAAMkb,SAGzB5rD,KAAKujD,KAAK9d,SAASzlC,KAAMoH,KAa7B0kD,UAAW,SAAUC,EAAWrb,EAAOtpC,GAE/B2kD,EAEA/rD,KAAKsM,MAAMokC,EAAOtpC,GAIlBpH,KAAKmM,KAAKukC,EAAOtpC,IAWzB4kD,SAAU,SAAU5kD,GAEhBpH,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EAEZtrD,KAAKoH,MAAQA,EAEbpH,KAAK6rD,QAAQpmB,SAASzlC,KAAMoH,IAWhC6kD,YAAa,SAAUppB,GAInB,OAFAA,EAAWA,GAAY,IAEf7iC,KAAKqrD,QAAWrrD,KAAKurD,SAAW1oB,EAAY7iC,KAAK+C,KAAKwiC,KAAKA,MAWvE2mB,aAAc,SAAUrpB,GAIpB,OAFAA,EAAWA,GAAY,IAEf7iC,KAAKsrD,MAAStrD,KAAKwrD,OAAS3oB,EAAY7iC,KAAK+C,KAAKwiC,KAAKA,MAQnEa,MAAO,WAEHpmC,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EAEZtrD,KAAKurD,SAAWvrD,KAAK+C,KAAKwiC,KAAKA,KAC/BvlC,KAAKyrD,QAAU,EAEfzrD,KAAK0rD,QAAS,EACd1rD,KAAK2rD,UAAW,EAChB3rD,KAAK4rD,SAAU,GASnBppD,QAAS,WAELxC,KAAKsjD,OAAO7W,UACZzsC,KAAKujD,KAAK9W,UACVzsC,KAAK6rD,QAAQpf,UAEbzsC,KAAKqB,OAAS,KACdrB,KAAK+C,KAAO,OAKpBvB,EAAO2pD,aAAa7oD,UAAUC,YAAcf,EAAO2pD,aAUnDnkD,OAAOyF,eAAejL,EAAO2pD,aAAa7oD,UAAW,YAEjD4E,IAAK,WAED,OAAIlH,KAAKsrD,MAEG,EAGLtrD,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKurD,YAoB1C/pD,EAAO4iD,QAAU,SAAUrhD,EAAMmR,EAAIi4C,GAKjCnsD,KAAK+C,KAAOA,EAKZ/C,KAAKkU,GAAKA,EAMVlU,KAAKwT,KAAOhS,EAAO6rB,QAMnBrtB,KAAKkN,QAAS,EAMdlN,KAAKimD,WAAa,EAMlBjmD,KAAKwmD,UAAY,KAKjBxmD,KAAKmsD,YAAcA,GAAgB3qD,EAAO6iD,YAAYC,OAAS9iD,EAAO6iD,YAAYsB,QAMlF3lD,KAAKgI,OAAS,KASdhI,KAAKosD,OAAS,KAWdpsD,KAAKqsD,WAAa,IAAI7qD,EAAO2pD,aAAanrD,KAAMwB,EAAO4iD,QAAQ2D,aAa/D/nD,KAAKssD,aAAe,IAAI9qD,EAAO2pD,aAAanrD,KAAMwB,EAAO4iD,QAAQ4D,eAajEhoD,KAAKusD,YAAc,IAAI/qD,EAAO2pD,aAAanrD,KAAMwB,EAAO4iD,QAAQ6D,cAahEjoD,KAAKwsD,WAAa,IAAIhrD,EAAO2pD,aAAanrD,KAAMwB,EAAO4iD,QAAQ8D,aAa/DloD,KAAKysD,cAAgB,IAAIjrD,EAAO2pD,aAAanrD,KAAMwB,EAAO4iD,QAAQ+D,gBAalEnoD,KAAK0sD,aAAe,IAAIlrD,EAAO2pD,aAAanrD,KAAMwB,EAAO4iD,QAAQuI,eAOjE3sD,KAAK4sD,WAAY,EAMjB5sD,KAAK6sD,YAML7sD,KAAK8sD,UAAY,EAMjB9sD,KAAK+sD,aAAc,EAKnB/sD,KAAK+oD,YAAa,EAKlB/oD,KAAKgtD,SAAW,EAKhBhtD,KAAKitD,SAAW,EAKhBjtD,KAAKktD,OAAS,EAKdltD,KAAKmtD,OAAS,EAKdntD,KAAKotD,SAAW,EAKhBptD,KAAKqtD,SAAW,EAOhBrtD,KAAKstD,aAAe,EAOpBttD,KAAKutD,aAAe,EAMpBvtD,KAAKwtD,UAAY,EAMjBxtD,KAAKytD,UAAY,EAMjBztD,KAAK+D,GAAK,EAMV/D,KAAKgE,GAAK,EAKVhE,KAAK0tD,QAAkB,IAAPx5C,EAQhBlU,KAAKqrD,QAAS,EAQdrrD,KAAKsrD,MAAO,EAMZtrD,KAAKurD,SAAW,EAMhBvrD,KAAKwrD,OAAS,EAMdxrD,KAAK2tD,gBAAkB,EAMvB3tD,KAAK4tD,aAAe,EAMpB5tD,KAAK6tD,iBAAmBhuB,OAAOC,UAM/B9/B,KAAK8tD,aAAe,KAWpB9tD,KAAK+tD,yBAML/tD,KAAK+qC,QAAS,EAMd/qC,KAAKwR,OAAQ,EAKbxR,KAAKY,SAAW,IAAIY,EAAOX,MAK3Bb,KAAKguD,aAAe,IAAIxsD,EAAOX,MAK/Bb,KAAKiuD,WAAa,IAAIzsD,EAAOX,MAO7Bb,KAAKyhD,OAAS,IAAIjgD,EAAOmzB,OAAO,EAAG,EAAG,IAOtC30B,KAAKkuD,kBAAoB,KAQzBluD,KAAKmuD,wBAA0B,MAQnC3sD,EAAO4iD,QAAQ0D,UAAY,EAO3BtmD,EAAO4iD,QAAQ2D,YAAc,EAO7BvmD,EAAO4iD,QAAQ6D,aAAe,EAO9BzmD,EAAO4iD,QAAQ4D,cAAgB,EAQ/BxmD,EAAO4iD,QAAQ8D,YAAc,EAQ7B1mD,EAAO4iD,QAAQ+D,eAAiB,GAOhC3mD,EAAO4iD,QAAQuI,cAAgB,GAE/BnrD,EAAO4iD,QAAQ9hD,WAQX0mD,aAAc,WAEVhpD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EAERtrD,KAAK0tD,UAEL1tD,KAAKqsD,WAAWjmB,QAChBpmC,KAAKssD,aAAalmB,QAClBpmC,KAAKusD,YAAYnmB,QACjBpmC,KAAKwsD,WAAWpmB,QAChBpmC,KAAKysD,cAAcrmB,QACnBpmC,KAAK0sD,aAAatmB,UAY1BgoB,mBAAoB,SAAUhC,EAAQ1b,GAElC,OAAQ0b,GAEJ,KAAM5qD,EAAOgjD,MAAiB,YAC1BxkD,KAAKqsD,WAAW//C,MAAMokC,GACtB,MAEJ,KAAMlvC,EAAOgjD,MAAkB,aAC3BxkD,KAAKusD,YAAYjgD,MAAMokC,GACvB,MAEJ,KAAMlvC,EAAOgjD,MAAmB,cAC5BxkD,KAAKssD,aAAahgD,MAAMokC,GACxB,MAEJ,KAAMlvC,EAAOgjD,MAAiB,YAC1BxkD,KAAKwsD,WAAWlgD,MAAMokC,GACtB,MAEJ,KAAMlvC,EAAOgjD,MAAoB,eAC7BxkD,KAAKysD,cAAcngD,MAAMokC,KAarC2d,iBAAkB,SAAUjC,EAAQ1b,GAEhC,OAAQ0b,GAEJ,KAAM5qD,EAAOgjD,MAAiB,YAC1BxkD,KAAKqsD,WAAWlgD,KAAKukC,GACrB,MAEJ,KAAMlvC,EAAOgjD,MAAkB,aAC3BxkD,KAAKusD,YAAYpgD,KAAKukC,GACtB,MAEJ,KAAMlvC,EAAOgjD,MAAmB,cAC5BxkD,KAAKssD,aAAangD,KAAKukC,GACvB,MAEJ,KAAMlvC,EAAOgjD,MAAiB,YAC1BxkD,KAAKwsD,WAAWrgD,KAAKukC,GACrB,MAEJ,KAAMlvC,EAAOgjD,MAAoB,eAC7BxkD,KAAKysD,cAActgD,KAAKukC,KAapC4d,qBAAsB,SAAUC,EAAS7d,GAErC,IAAIl9B,EAAOk9B,EAAMl9B,KAAKg7C,cAAc3lC,QAAQ,GACxC4lC,EAAiB,SAATj7C,EACR0yC,EAAiB,SAAT1yC,OAEIjN,IAAZgoD,GAGIE,GAAoB,IAAZF,GAAiB7d,EAAMkb,UAE/B2C,EAAU,GAIdvuD,KAAKqsD,WAAWP,UAAUtqD,EAAO4iD,QAAQ2D,YAAcwG,EAAS7d,GAChE1wC,KAAKusD,YAAYT,UAAUtqD,EAAO4iD,QAAQ6D,aAAesG,EAAS7d,GAClE1wC,KAAKssD,aAAaR,UAAUtqD,EAAO4iD,QAAQ4D,cAAgBuG,EAAS7d,GACpE1wC,KAAKwsD,WAAWV,UAAUtqD,EAAO4iD,QAAQ8D,YAAcqG,EAAS7d,GAChE1wC,KAAKysD,cAAcX,UAAUtqD,EAAO4iD,QAAQ+D,eAAiBoG,EAAS7d,GACtE1wC,KAAK0sD,aAAaZ,UAAUtqD,EAAO4iD,QAAQuI,cAAgB4B,EAAS7d,SAQ/CnqC,IAAjBmqC,EAAM0b,OAGFqC,GAAQ/d,EAAMkb,SAA4B,IAAjBlb,EAAM0b,OAE/BpsD,KAAKusD,YAAYjgD,MAAMokC,GAGvB+d,EAEAzuD,KAAKouD,mBAAmB1d,EAAM0b,OAAQ1b,GAEhCwV,GAENlmD,KAAKquD,iBAAiB3d,EAAM0b,OAAQ1b,GAIxC+d,EAGI/d,EAAMkb,QAEN5rD,KAAKusD,YAAYjgD,MAAMokC,GAIvB1wC,KAAKqsD,WAAW//C,MAAMokC,IAK1B1wC,KAAKqsD,WAAWlgD,KAAKukC,GACrB1wC,KAAKusD,YAAYpgD,KAAKukC,KAalCuY,cAAe,SAAUvY,GAErB1wC,KAAKosD,OAAS1b,EAAM0b,OACpBpsD,KAAKsuD,qBAAqB5d,EAAM6d,QAAS7d,GAEzC1wC,KAAKsrD,MAAO,EACZtrD,KAAKqrD,QAAS,GAEVrrD,KAAKqsD,WAAWhB,QAAUrrD,KAAKusD,YAAYlB,QAAUrrD,KAAKssD,aAAajB,QAAUrrD,KAAKwsD,WAAWnB,QAAUrrD,KAAKysD,cAAcpB,QAAUrrD,KAAK0sD,aAAarB,UAE1JrrD,KAAKsrD,MAAO,EACZtrD,KAAKqrD,QAAS,IAStB/+C,MAAO,SAAUokC,GAEb,IAAIlK,EAAQxmC,KAAK+C,KAAKyjC,MA2DtB,OAzDIkK,EAAM8V,YAENxmD,KAAKwmD,UAAY9V,EAAM8V,WAG3BxmD,KAAKimD,WAAavV,EAAMuV,WACxBjmD,KAAKgI,OAAS0oC,EAAM1oC,OAEhBhI,KAAK0tD,QAEL1tD,KAAKipD,cAAcvY,IAInB1wC,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,GAGhBtrD,KAAK+qC,QAAS,EACd/qC,KAAK+oD,YAAa,EAClB/oD,KAAKwR,OAAQ,EAEbxR,KAAK6sD,YACL7sD,KAAKkuD,kBAAoB,KACzBluD,KAAKmuD,wBAA0B,KAG/BnuD,KAAK6tD,iBAAmB7tD,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKurD,SACnDvrD,KAAKurD,SAAWvrD,KAAK+C,KAAKwiC,KAAKA,KAC/BvlC,KAAK4sD,WAAY,EAGjB5sD,KAAKkmD,KAAKxV,GAAO,GAGjB1wC,KAAKguD,aAAa54B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,IAEjCwiC,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuB9/C,EAAOo8C,MAAM2D,qBACzC/a,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,uBAE1EloB,EAAMziC,EAAI/D,KAAK+D,EACfyiC,EAAMxiC,EAAIhE,KAAKgE,EACfwiC,EAAM5lC,SAASw0B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,GAClCwiC,EAAM8c,OAAO7d,SAASzlC,KAAM0wC,GAC5BlK,EAAMqf,WAAW7lD,KAAK+D,EAAG/D,KAAKgE,IAGlChE,KAAK+sD,aAAc,EAEnB/sD,KAAK4tD,eAEqB,OAAtB5tD,KAAK8tD,cAEL9tD,KAAK8tD,aAAaa,gBAAgB3uD,MAG/BA,MAOXmlC,OAAQ,WAEJ,IAAIqB,EAAQxmC,KAAK+C,KAAKyjC,MAElBxmC,KAAK+qC,SAGD/qC,KAAKwR,QAEDg1B,EAAMmd,iBAAiB3K,MAAQ,GAE/Bh5C,KAAK4uD,2BAA0B,GAGnC5uD,KAAKwR,OAAQ,IAGM,IAAnBxR,KAAK4sD,WAAuB5sD,KAAK6iC,UAAY2D,EAAMqb,YAE/Crb,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuB9/C,EAAOo8C,MAAM2D,qBACzC/a,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,sBAE1EloB,EAAMid,OAAOhe,SAASzlC,MAG1BA,KAAK4sD,WAAY,GAIjBpmB,EAAMwb,sBAAwBhiD,KAAK+C,KAAKwiC,KAAKA,MAAQvlC,KAAK8sD,YAE1D9sD,KAAK8sD,UAAY9sD,KAAK+C,KAAKwiC,KAAKA,KAAOiB,EAAMyb,WAE7CjiD,KAAK6sD,SAAS/kD,MACV/D,EAAG/D,KAAKY,SAASmD,EACjBC,EAAGhE,KAAKY,SAASoD,IAGjBhE,KAAK6sD,SAASlqD,OAAS6jC,EAAM0b,aAE7BliD,KAAK6sD,SAASgC,WAa9B3I,KAAM,SAAUxV,EAAOoe,GAEnB,IAAItoB,EAAQxmC,KAAK+C,KAAKyjC,MAEtB,IAAIA,EAAMuoB,WAAV,MAKkBxoD,IAAduoD,IAA2BA,GAAY,QAEtBvoD,IAAjBmqC,EAAM0b,SAENpsD,KAAKosD,OAAS1b,EAAM0b,QAGpBpsD,KAAK0tD,SAEL1tD,KAAKipD,cAAcvY,GAGvB1wC,KAAKgtD,QAAUtc,EAAMsc,QACrBhtD,KAAKitD,QAAUvc,EAAMuc,QAErBjtD,KAAKktD,MAAQxc,EAAMwc,MACnBltD,KAAKmtD,MAAQzc,EAAMyc,MAEnBntD,KAAKotD,QAAU1c,EAAM0c,QACrBptD,KAAKqtD,QAAU3c,EAAM2c,QAEjBrtD,KAAK0tD,SAAWlnB,EAAMqe,YAAYmK,SAAWF,IAE7C9uD,KAAKstD,aAAe5c,EAAM8c,WAAa9c,EAAMue,cAAgBve,EAAMwe,iBAAmB,EACtFlvD,KAAKutD,aAAe7c,EAAM+c,WAAa/c,EAAMye,cAAgBze,EAAM0e,iBAAmB,EAEtFpvD,KAAKwtD,WAAaxtD,KAAKstD,aACvBttD,KAAKytD,WAAaztD,KAAKutD,cAG3BvtD,KAAK+D,GAAK/D,KAAKktD,MAAQltD,KAAK+C,KAAKjC,MAAM2W,OAAO1T,GAAKyiC,EAAM1lC,MAAMiD,EAC/D/D,KAAKgE,GAAKhE,KAAKmtD,MAAQntD,KAAK+C,KAAKjC,MAAM2W,OAAOzT,GAAKwiC,EAAM1lC,MAAMkD,EAE/DhE,KAAKY,SAASw0B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,GACjChE,KAAKyhD,OAAO19C,EAAI/D,KAAK+D,EACrB/D,KAAKyhD,OAAOz9C,EAAIhE,KAAKgE,GAEjBwiC,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuB9/C,EAAOo8C,MAAM2D,qBACzC/a,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,uBAE1EloB,EAAMuc,cAAgB/iD,KACtBwmC,EAAMziC,EAAI/D,KAAK+D,EACfyiC,EAAMxiC,EAAIhE,KAAKgE,EACfwiC,EAAM5lC,SAASw0B,MAAMoR,EAAMziC,EAAGyiC,EAAMxiC,GACpCwiC,EAAMib,OAAO19C,EAAIyiC,EAAMziC,EACvByiC,EAAMib,OAAOz9C,EAAIwiC,EAAMxiC,GAG3BhE,KAAK+oD,WAAa/oD,KAAK+C,KAAKjC,MAAMgE,OAAOwF,SAAStK,KAAKktD,MAAOltD,KAAKmtD,OAInE,IAFA,IAAIzqD,EAAI8jC,EAAMya,cAAct+C,OAErBD,KAEH8jC,EAAMya,cAAcv+C,GAAGsyC,SAASxwC,KAAKgiC,EAAMya,cAAcv+C,GAAGoL,QAAS9N,KAAMA,KAAK+D,EAAG/D,KAAKgE,EAAG8qD,EAAWpe,GAgB1G,OAZ0B,OAAtB1wC,KAAK8tD,cAA2B9tD,KAAK+C,KAAKqkC,SAAUpnC,KAAK8tD,aAAauB,UAA4C,IAAhCrvD,KAAK8tD,aAAawB,UAO/F9oB,EAAMmd,iBAAiB3K,MAAQ,GAEpCh5C,KAAK4uD,0BAA0BE,IAPQ,IAAnC9uD,KAAK8tD,aAAa3oB,OAAOnlC,QAEzBA,KAAK8tD,aAAe,MAQrB9tD,OAWX4uD,0BAA2B,SAAUE,GAGjC,IAAIS,EAAuB,EACvBC,GAA0B,EAC1BC,EAAkB,KAOlBC,EAAc1vD,KAAK+C,KAAKyjC,MAAMmd,iBAAiBgM,MAInD,IAFA3vD,KAAK+tD,yBAEE2B,GAGHA,EAAYE,SAAU,GAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,IAAYvvD,KAAK+C,KAAKqkC,SAAUsoB,EAAYpsC,OAAO+rC,UAG3HK,EAAYE,SAAU,GAEjBd,GAAaY,EAAYI,iBAAiB9vD,MAAM,KAC/C8uD,GAAaY,EAAYK,iBAAiB/vD,MAAM,MAElDuvD,EAAuBG,EAAYpsC,OAAO60B,cAC1CqX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClB1vD,KAAK+tD,sBAAsBjmD,KAAK4nD,KAIxCA,EAAc1vD,KAAK+C,KAAKyjC,MAAMmd,iBAAiBnO,KAWnD,IAFAka,EAAc1vD,KAAK+C,KAAKyjC,MAAMmd,iBAAiBgM,MAExCD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnET,GAAaY,EAAYI,iBAAiB9vD,MAAM,KAC/C8uD,GAAaY,EAAYK,iBAAiB/vD,MAAM,MAElDuvD,EAAuBG,EAAYpsC,OAAO60B,cAC1CqX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClB1vD,KAAK+tD,sBAAsBjmD,KAAK4nD,IAIxCA,EAAc1vD,KAAK+C,KAAKyjC,MAAMmd,iBAAiBnO,KAUnD,OAPIx1C,KAAK+C,KAAKyjC,MAAM0a,yBAEhBuO,EAAkBzvD,KAAK+C,KAAKyjC,MAAM0a,uBAAuB18C,KAAKxE,KAAK+C,KAAKyjC,MAAM2a,8BAA+BnhD,KAAMA,KAAK+tD,sBAAuB0B,IAGnJzvD,KAAKiwD,WAAWR,GAAiB,GAEH,OAAtBzvD,KAAK8tD,cAejBmC,WAAY,SAAUC,EAAWhe,QAEd3rC,IAAX2rC,IAAwBA,GAAS,GAGnB,OAAdge,EAGIlwD,KAAK8tD,eAEL9tD,KAAK8tD,aAAaqC,mBAAmBnwD,KAAMkyC,GAC3ClyC,KAAK8tD,aAAe,MAIF,OAAtB9tD,KAAK8tD,cAGL9tD,KAAK8tD,aAAeoC,EACpBA,EAAUE,oBAAoBpwD,KAAMkyC,IAKhClyC,KAAK8tD,eAAiBoC,GAGS,IAA3BA,EAAU/qB,OAAOnlC,QAEjBA,KAAK8tD,aAAe,OAMxB9tD,KAAK8tD,aAAaqC,mBAAmBnwD,KAAMkyC,GAG3ClyC,KAAK8tD,aAAeoC,EACpBlwD,KAAK8tD,aAAasC,oBAAoBpwD,KAAMkyC,KAWxDme,MAAO,SAAU3f,GAEb1wC,KAAK+oD,YAAa,EAClB/oD,KAAKkmD,KAAKxV,GAAO,IASrBvkC,KAAM,SAAUukC,GAEZ,IAAIlK,EAAQxmC,KAAK+C,KAAKyjC,MAEtB,CAAA,IAAIxmC,KAAK+sD,cAAe/sD,KAAK+oD,WAA7B,CAQA,GAFA/oD,KAAKwrD,OAASxrD,KAAK+C,KAAKwiC,KAAKA,MAEzBiB,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMqG,uBAC1Czd,EAAM8a,qBAAuB9/C,EAAOo8C,MAAM2D,qBACzC/a,EAAM8a,qBAAuB9/C,EAAOo8C,MAAMsG,uBAAuD,IAA9B1d,EAAMkoB,uBAE1EloB,EAAM+c,KAAK9d,SAASzlC,KAAM0wC,GAGtB1wC,KAAK6iC,UAAY,GAAK7iC,KAAK6iC,UAAY2D,EAAMmb,SACjD,CAEI,IAAI2O,EAAatwD,KAAKwrD,OAASxrD,KAAK2tD,gBAAkBnnB,EAAMob,cAE5Dpb,EAAMgd,MAAM/d,SAASzlC,KAAMswD,EAAW5f,GAEtC1wC,KAAK2tD,gBAAkB3tD,KAAKwrD,OAwCpC,OApCIxrD,KAAK0tD,QAEL1tD,KAAKipD,cAAcvY,IAInB1wC,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,GAIZtrD,KAAKkU,GAAK,IAEVlU,KAAK+qC,QAAS,GAGlB/qC,KAAK+oD,WAAa/oD,KAAK+C,KAAKjC,MAAMgE,OAAOwF,SAASomC,EAAMwc,MAAOxc,EAAMyc,OACrEntD,KAAKwmD,UAAY,KACjBxmD,KAAKimD,WAAa,KAElBjmD,KAAKiuD,WAAW74B,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,IAEd,IAAjBhE,KAAK0tD,SAELlnB,EAAM+pB,kBAGV/pB,EAAMuR,QAAQ,mBAAoB/3C,MAE9BA,KAAKkuD,oBAELluD,KAAKmuD,wBAA0BnuD,KAAK8tD,cAGxC9tD,KAAK8tD,aAAe,KAEb9tD,KA5DH0wC,EAAMgP,mBAuEduM,YAAa,SAAUppB,GAInB,OAFAA,EAAWA,GAAY7iC,KAAK+C,KAAKyjC,MAAMsb,iBAEf,IAAhB9hD,KAAKqrD,QAAoBrrD,KAAKurD,SAAW1oB,EAAY7iC,KAAK+C,KAAKwiC,KAAKA,MAWhF2mB,aAAc,SAAUrpB,GAIpB,OAFAA,EAAWA,GAAY7iC,KAAK+C,KAAKyjC,MAAMub,iBAE/B/hD,KAAKsrD,MAAStrD,KAAKwrD,OAAS3oB,EAAY7iC,KAAK+C,KAAKwiC,KAAKA,MAoBnEirB,mBAAoB,SAAUx+B,EAAMgjB,EAAU1L,EAAiBmnB,GAE3D,GAAKzwD,KAAKqrD,OAAV,CAOA,IAAK,IAFDqF,EAAe1wD,KAAKkuD,kBAAoBluD,KAAKkuD,sBAExCxrD,EAAI,EAAGA,EAAIguD,EAAY/tD,OAAQD,IAEpC,GAAIguD,EAAYhuD,GAAGsvB,OAASA,EAC5B,CACI0+B,EAAY5nD,OAAOpG,EAAG,GACtB,MAIRguD,EAAY5oD,MACRkqB,KAAMA,EACN87B,aAAc9tD,KAAK8tD,aACnB9Y,SAAUA,EACV1L,gBAAiBA,EACjBmnB,aAAcA,MAStBxJ,wBAAyB,WAErB,IAAIyJ,EAAc1wD,KAAKkuD,kBAEvB,GAAKwC,EAAL,CAKA,IAAK,IAAIhuD,EAAI,EAAGA,EAAIguD,EAAY/tD,OAAQD,IACxC,CACI,IAAIiuD,EAAaD,EAAYhuD,GAEzBiuD,EAAW7C,eAAiB9tD,KAAKmuD,yBAEjCwC,EAAW3b,SAASzvC,MAAMorD,EAAWrnB,gBAAiBqnB,EAAWF,cAIzEzwD,KAAKkuD,kBAAoB,KACzBluD,KAAKmuD,wBAA0B,OAOnC/nB,MAAO,YAEkB,IAAjBpmC,KAAK0tD,UAEL1tD,KAAK+qC,QAAS,GAGlB/qC,KAAKwmD,UAAY,KACjBxmD,KAAKimD,WAAa,KAClBjmD,KAAKwR,OAAQ,EACbxR,KAAK4tD,aAAe,EACpB5tD,KAAK4sD,WAAY,EACjB5sD,KAAK6sD,SAASlqD,OAAS,EACvB3C,KAAK+sD,aAAc,EAEnB/sD,KAAKgpD,eAEDhpD,KAAK8tD,cAEL9tD,KAAK8tD,aAAa8C,iBAAiB5wD,MAGvCA,KAAK8tD,aAAe,MAOxB+C,cAAe,WAEX7wD,KAAKwtD,UAAY,EACjBxtD,KAAKytD,UAAY,IAKzBjsD,EAAO4iD,QAAQ9hD,UAAUC,YAAcf,EAAO4iD,QAW9Cp9C,OAAOyF,eAAejL,EAAO4iD,QAAQ9hD,UAAW,YAE5C4E,IAAK,WAED,OAAIlH,KAAKsrD,MAEG,EAGLtrD,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKurD,YAW1CvkD,OAAOyF,eAAejL,EAAO4iD,QAAQ9hD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO/W,EAAI/D,KAAK+D,KAW/CiD,OAAOyF,eAAejL,EAAO4iD,QAAQ9hD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO9W,EAAIhE,KAAKgE,KAe/CxC,EAAO6iD,aASHC,OAAQ,EAMRqB,QAAS,GAIbnkD,EAAOsvD,gBAEPtvD,EAAOsvD,aAAatvD,EAAO6iD,YAAYC,QAAU,SAEjD9iD,EAAOsvD,aAAatvD,EAAO6iD,YAAYsB,SAAW,UAiBlDnkD,EAAOijD,MAAQ,SAAU1hD,GAKrB/C,KAAK+C,KAAOA,EAOZ/C,KAAK+qC,QAAS,EAOd/qC,KAAKqhD,SAAU,EAKfrhD,KAAKspC,gBAAkBtpC,KAAK+C,KAK5B/C,KAAK+wD,mBAAqB,KAK1B/wD,KAAKgxD,kBAAoB,KAKzBhxD,KAAKixD,iBAAmB,KAKxBjxD,KAAKkxD,mBAAqB,KAK1BlxD,KAAKmxD,mBAAqB,KAK1BnxD,KAAKoxD,oBAAsB,KAM3BpxD,KAAK0/C,gBAAiB,EAMtB1/C,KAAK0wC,MAAQ,KAMb1wC,KAAKqxD,cAAgB,KAMrBrxD,KAAKsxD,aAAe,KAMpBtxD,KAAKuxD,YAAc,KAMnBvxD,KAAKwxD,cAAgB,KAMrBxxD,KAAKyxD,cAAgB,KAMrBzxD,KAAK0xD,eAAiB,KAMtB1xD,KAAKsxD,aAAe,MAGxB9vD,EAAOijD,MAAMniD,WAMTgK,MAAO,WAEH,IAAKtM,KAAK+C,KAAKknB,OAAOi5B,MAElB,OAAO,EAGX,GAA2B,OAAvBljD,KAAKqxD,cAGL,OAAO,EAGX,IAAI3kB,EAAQ1sC,KA6CZ,OA3CAA,KAAKqxD,cAAgB,SAAU3gB,GAE3B,OAAOhE,EAAMilB,aAAajhB,IAG9B1wC,KAAKsxD,aAAe,SAAU5gB,GAE1B,OAAOhE,EAAMklB,YAAYlhB,IAG7B1wC,KAAKuxD,YAAc,SAAU7gB,GAEzB,OAAOhE,EAAMmlB,WAAWnhB,IAG5B1wC,KAAKwxD,cAAgB,SAAU9gB,GAE3B,OAAOhE,EAAMolB,aAAaphB,IAG9B1wC,KAAKyxD,cAAgB,SAAU/gB,GAE3B,OAAOhE,EAAMqlB,aAAarhB,IAG9B1wC,KAAK0xD,eAAiB,SAAUhhB,GAE5B,OAAOhE,EAAMslB,cAActhB,IAG/B1wC,KAAK+C,KAAKmU,OAAO85B,iBAAiB,aAAchxC,KAAKqxD,eAAe,GACpErxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,YAAahxC,KAAKsxD,cAAc,GAClEtxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,WAAYhxC,KAAKuxD,aAAa,GAChEvxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,cAAehxC,KAAK0xD,gBAAgB,GAEjE1xD,KAAK+C,KAAKknB,OAAOs1B,WAElBv/C,KAAK+C,KAAKmU,OAAO85B,iBAAiB,aAAchxC,KAAKwxD,eAAe,GACpExxD,KAAK+C,KAAKmU,OAAO85B,iBAAiB,aAAchxC,KAAKyxD,eAAe,IAGxEzxD,KAAK+qC,QAAS,GAEP,GAOXknB,uBAAwB,WAEpBjyD,KAAKkyD,mBAAqB,SAAUxhB,GAEhCA,EAAMgP,kBAGVrP,SAASW,iBAAiB,YAAahxC,KAAKkyD,oBAAoB,IAQpEP,aAAc,SAAUjhB,GAMpB,GAJA1wC,KAAK+C,KAAKyjC,MAAMgf,2BAA0B,EAAO9U,GAEjD1wC,KAAK0wC,MAAQA,EAER1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,QAAtC,CAKIrhD,KAAK+wD,oBAEL/wD,KAAK+wD,mBAAmBvsD,KAAKxE,KAAKspC,gBAAiBoH,GAGnD1wC,KAAK0/C,gBAELhP,EAAMgP,iBAQV,IAAK,IAAIh9C,EAAI,EAAGA,EAAIguC,EAAMyhB,eAAexvD,OAAQD,IAE7C1C,KAAK+C,KAAKyjC,MAAMsf,aAAapV,EAAMyhB,eAAezvD,MAU1DsvD,cAAe,SAAUthB,GASrB,GAPA1wC,KAAK0wC,MAAQA,EAET1wC,KAAKoxD,qBAELpxD,KAAKoxD,oBAAoB5sD,KAAKxE,KAAKspC,gBAAiBoH,GAGnD1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,QAAtC,CAKIrhD,KAAK0/C,gBAELhP,EAAMgP,iBAOV,IAAK,IAAIh9C,EAAI,EAAGA,EAAIguC,EAAMyhB,eAAexvD,OAAQD,IAE7C1C,KAAK+C,KAAKyjC,MAAM2f,YAAYzV,EAAMyhB,eAAezvD,MAUzDovD,aAAc,SAAUphB,GAEpB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKkxD,oBAELlxD,KAAKkxD,mBAAmB1sD,KAAKxE,KAAKspC,gBAAiBoH,GAGlD1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,SAKlCrhD,KAAK0/C,gBAELhP,EAAMgP,kBAUdqS,aAAc,SAAUrhB,GAEpB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKmxD,oBAELnxD,KAAKmxD,mBAAmB3sD,KAAKxE,KAAKspC,gBAAiBoH,GAGnD1wC,KAAK0/C,gBAELhP,EAAMgP,kBASdkS,YAAa,SAAUlhB,GAEnB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKgxD,mBAELhxD,KAAKgxD,kBAAkBxsD,KAAKxE,KAAKspC,gBAAiBoH,GAGlD1wC,KAAK0/C,gBAELhP,EAAMgP,iBAGV,IAAK,IAAIh9C,EAAI,EAAGA,EAAIguC,EAAMyhB,eAAexvD,OAAQD,IAE7C1C,KAAK+C,KAAKyjC,MAAMwf,cAActV,EAAMyhB,eAAezvD,KAS3DmvD,WAAY,SAAUnhB,GAElB1wC,KAAK+C,KAAKyjC,MAAMgf,2BAA0B,EAAM9U,GAEhD1wC,KAAK0wC,MAAQA,EAET1wC,KAAKixD,kBAELjxD,KAAKixD,iBAAiBzsD,KAAKxE,KAAKspC,gBAAiBoH,GAGjD1wC,KAAK0/C,gBAELhP,EAAMgP,iBAQV,IAAK,IAAIh9C,EAAI,EAAGA,EAAIguC,EAAMyhB,eAAexvD,OAAQD,IAE7C1C,KAAK+C,KAAKyjC,MAAM2f,YAAYzV,EAAMyhB,eAAezvD,KAQzDyJ,KAAM,WAEGnM,KAAK+C,KAAKknB,OAAOi5B,QAKtBljD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,aAAcjyC,KAAKqxD,eACxDrxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,YAAajyC,KAAKsxD,cACvDtxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,WAAYjyC,KAAKuxD,aACtDvxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,aAAcjyC,KAAKwxD,eACxDxxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,aAAcjyC,KAAKyxD,eACxDzxD,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,cAAejyC,KAAK0xD,gBAEzD1xD,KAAK+qC,QAAS,KAKtBvpC,EAAOijD,MAAMniD,UAAUC,YAAcf,EAAOijD,MAe5CjjD,EAAO4wD,aAAe,SAAU9uC,GAK5BtjB,KAAKsjB,OAASA,EAKdtjB,KAAK+C,KAAOugB,EAAOvgB,KAMnB/C,KAAKqhD,SAAU,EAMfrhD,KAAK4vD,SAAU,EASf5vD,KAAKgwD,WAAa,EAMlBhwD,KAAKqyD,eAAgB,EAMrBryD,KAAKsyD,gBAAiB,EAMtBtyD,KAAKsvD,WAAY,EAMjBtvD,KAAKuyD,qBAAsB,EAM3BvyD,KAAKwyD,mBAAoB,EAMzBxyD,KAAK41C,YAAa,EAMlB51C,KAAKyyD,WAAa,KAMlBzyD,KAAK0yD,YAAa,EAMlB1yD,KAAK2yD,eAAgB,EAMrB3yD,KAAK4yD,MAAQ,EAMb5yD,KAAK6yD,MAAQ,EAMb7yD,KAAK8yD,YAAc,EAMnB9yD,KAAK+yD,YAAc,EAUnB/yD,KAAKgzD,kBAAmB,EAUxBhzD,KAAKizD,mBAAoB,EAMzBjzD,KAAKkzD,kBAAoB,IAMzBlzD,KAAKmzD,WAAY,EAMjBnzD,KAAKozD,WAAa,KAMlBpzD,KAAKqzD,aAAe,KAKpBrzD,KAAKszD,YAAa,EAKlBtzD,KAAKuzD,WAAa,IAAI/xD,EAAOX,MAK7Bb,KAAKwzD,gBAAiB,EAKtBxzD,KAAKyzD,uBAAwB,EAK7BzzD,KAAK0zD,eAAiB,IAAIlyD,EAAOX,MAKjCb,KAAK2zD,sBAAwB,EAK7B3zD,KAAK4zD,kBAAoB,EAKzB5zD,KAAK6zD,UAAY,IAAIryD,EAAOX,MAK5Bb,KAAK8zD,UAAY,IAAItyD,EAAOX,MAM5Bb,KAAK+zD,WAAa,IAAIvyD,EAAOX,MAM7Bb,KAAKg0D,YAAa,EAMlBh0D,KAAKi0D,cAAe,EAMpBj0D,KAAKk0D,eAAgB,EAMrBl0D,KAAKm0D,mBAAoB,EAMzBn0D,KAAKo0D,aAAc,EAMnBp0D,KAAKq0D,WAAa,IAAI7yD,EAAOX,MAM7Bb,KAAKs0D,gBAELt0D,KAAKs0D,aAAaxsD,MACdoM,GAAI,EACJnQ,EAAG,EACHC,EAAG,EACHuwD,KAAM,EACNC,KAAM,EACNnJ,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,KAInB9tD,EAAO4wD,aAAa9vD,WAUhBgK,MAAO,SAAUi/B,EAAU8mB,GAMvB,GAJA9mB,EAAWA,GAAY,OACDhlC,IAAlB8rD,IAA+BA,GAAgB,IAG9B,IAAjBryD,KAAKqhD,QACT,CAEIrhD,KAAK+C,KAAKyjC,MAAMmd,iBAAiB1qB,IAAIj5B,MACrCA,KAAKqyD,cAAgBA,EACrBryD,KAAKgwD,WAAazkB,EAElB,IAAK,IAAI7oC,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKs0D,aAAa5xD,IACdwR,GAAIxR,EACJqB,EAAG,EACHC,EAAG,EACHqnD,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,GAInBtvD,KAAKyyD,WAAa,IAAIjxD,EAAOX,MAC7Bb,KAAKqhD,SAAU,EACfrhD,KAAKo0D,aAAc,EAMvB,OAHAp0D,KAAKsjB,OAAOkxB,OAAOsgB,eAAe77B,IAAIj5B,KAAK+0D,aAAc/0D,MACzDA,KAAKsjB,OAAOkxB,OAAOwgB,mBAAmB/7B,IAAIj5B,KAAKi1D,iBAAkBj1D,MAE1DA,KAAKsjB,QAShByxC,aAAc,WAEN/0D,KAAKg0D,YAKLh0D,KAAKo0D,cAAgBp0D,KAAKqhD,SAE1BrhD,KAAKsM,SAUb2oD,iBAAkB,WAEVj1D,KAAKg0D,aAKLh0D,KAAKqhD,SAELrhD,KAAKo0D,aAAc,EACnBp0D,KAAKmM,QAILnM,KAAKo0D,aAAc,IAQ3BhuB,MAAO,WAEHpmC,KAAKqhD,SAAU,EAEf,IAAK,IAAI3+C,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKs0D,aAAa5xD,IACdwR,GAAIxR,EACJqB,EAAG,EACHC,EAAG,EACHqnD,QAAQ,EACRC,MAAM,EACNmJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTrJ,SAAU,EACVC,OAAQ,EACRqJ,aAAc,EACdvF,WAAW,IASvBnjD,KAAM,YAGmB,IAAjBnM,KAAKqhD,UAOLrhD,KAAKqhD,SAAU,EACfrhD,KAAK+C,KAAKyjC,MAAMmd,iBAAiBxnC,OAAOnc,QAQhDwC,QAAS,WAEDxC,KAAKsjB,SAEDtjB,KAAKsyD,iBAELtyD,KAAK+C,KAAKmU,OAAOoE,MAAM23B,OAAS,GAChCjzC,KAAKsyD,gBAAiB,GAG1BtyD,KAAKqhD,SAAU,EAEfrhD,KAAK+C,KAAKyjC,MAAMmd,iBAAiBxnC,OAAOnc,MAExCA,KAAKs0D,aAAa3xD,OAAS,EAC3B3C,KAAKozD,WAAa,KAClBpzD,KAAKqzD,aAAe,KACpBrzD,KAAKsjB,OAAS,OAetBusC,cAAe,SAAUqF,EAAWC,EAAiBC,GAIjD,YAF4B7uD,IAAxB6uD,IAAqCA,GAAsB,MAE1Dp1D,KAAKqhD,SACkB,IAAxBrhD,KAAKsjB,OAAOxiB,MAAMiD,GACM,IAAxB/D,KAAKsjB,OAAOxiB,MAAMkD,GAClBhE,KAAKgwD,WAAahwD,KAAK+C,KAAKyjC,MAAMkd,eACjC1jD,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAOkH,uBAMzC6sD,IAAwBp1D,KAAKizD,mBAAqBjzD,KAAKgzD,qBAKxDhzD,KAAKgwD,WAAakF,GAAcl1D,KAAKgwD,aAAekF,GAAal1D,KAAKsjB,OAAO60B,cAAgBgd,KAcrGE,eAAgB,WAEZ,OAAQr1D,KAAKizD,mBAAqBjzD,KAAKgzD,kBAW3CsC,SAAU,SAAU9O,GAIhB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAWziD,GAWxCwxD,SAAU,SAAU/O,GAIhB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAWxiD,GAWxCwxD,YAAa,SAAUhP,GAInB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAW6E,QAWxCoK,UAAW,SAAUjP,GAIjB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAW8E,MAUxCoK,gBAAiB,SAAUlP,GAIvB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAW+E,UAUxCoK,cAAe,SAAUnP,GAIrB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAWgF,QAUxCoK,YAAa,SAAUpP,GAEnB,IAAKxmD,KAAKqhD,QAEN,OAAO,EAGX,QAAkB96C,IAAdigD,EACJ,CACI,IAAK,IAAI9jD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAKs0D,aAAa5xD,GAAG+xD,OAErB,OAAO,EAIf,OAAO,EAIP,OAAOz0D,KAAKs0D,aAAa9N,GAAWiO,QAW5CoB,WAAY,SAAUrP,GAElB,IAAKxmD,KAAKqhD,QAEN,OAAO,EAGX,QAAkB96C,IAAdigD,EAYA,OAAOxmD,KAAKs0D,aAAa9N,GAAWkO,MAVpC,IAAK,IAAIhyD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAKs0D,aAAa5xD,GAAGgyD,MAErB,OAAO,GAiBvBoB,gBAAiB,SAAUtP,GAIvB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAWmO,UAUxCoB,eAAgB,SAAUvP,GAItB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAWoO,SAUxCoB,eAAgB,SAAUxP,GAItB,OAFAA,EAAYA,GAAa,EAElBxmD,KAAKs0D,aAAa9N,GAAW8I,WAYxCQ,iBAAkB,SAAUzhB,EAAS4nB,GAEjC,SAAK5nB,EAAQgd,QACRrrD,KAAKqhD,SACLrhD,KAAKsjB,QACLtjB,KAAKsjB,OAAOjiB,QACZrB,KAAKsjB,OAAOpiB,SACZlB,KAAKsjB,OAAOjiB,OAAOH,SACS,IAA7BlB,KAAKsjB,OAAO3hB,WAAWoC,GACM,IAA7B/D,KAAKsjB,OAAO3hB,WAAWqC,OAMvBhE,KAAK+C,KAAKyjC,MAAMkgB,QAAQ1mD,KAAKsjB,OAAQ+qB,EAASruC,KAAKq0D,mBAElC9tD,IAAb0vD,IAEAA,GAAW,MAGVA,GAAYj2D,KAAKizD,oBAEXjzD,KAAKk2D,WAAWl2D,KAAKq0D,WAAWtwD,EAAG/D,KAAKq0D,WAAWrwD,MAoBtE+rD,iBAAkB,SAAU1hB,EAAS4nB,GAEjC,SAAKj2D,KAAKqhD,SACLrhD,KAAKsjB,QACLtjB,KAAKsjB,OAAOjiB,QACZrB,KAAKsjB,OAAOpiB,SACZlB,KAAKsjB,OAAOjiB,OAAOH,SACS,IAA7BlB,KAAKsjB,OAAO3hB,WAAWoC,GACM,IAA7B/D,KAAKsjB,OAAO3hB,WAAWqC,OAMvBhE,KAAK+C,KAAKyjC,MAAMkgB,QAAQ1mD,KAAKsjB,OAAQ+qB,EAASruC,KAAKq0D,mBAElC9tD,IAAb0vD,IAEAA,GAAW,MAGVA,GAAYj2D,KAAKgzD,mBAEXhzD,KAAKk2D,WAAWl2D,KAAKq0D,WAAWtwD,EAAG/D,KAAKq0D,WAAWrwD,MAqBtEkyD,WAAY,SAAUnyD,EAAGC,EAAGqqC,GAGxB,GAAIruC,KAAKsjB,OAAOvlB,QAAQqI,YAAYgJ,OACpC,CACI,GAAU,OAANrL,GAAoB,OAANC,EAClB,CAEIhE,KAAK+C,KAAKyjC,MAAMigB,iBAAiBzmD,KAAKsjB,OAAQ+qB,EAASruC,KAAKq0D,YAE5D,IAAItwD,EAAI/D,KAAKq0D,WAAWtwD,EACpBC,EAAIhE,KAAKq0D,WAAWrwD,EAgB5B,GAb6B,IAAzBhE,KAAKsjB,OAAO3c,OAAO5C,IAEnBA,IAAM/D,KAAKsjB,OAAOvlB,QAAQsP,MAAMzP,MAAQoC,KAAKsjB,OAAO3c,OAAO5C,GAGlC,IAAzB/D,KAAKsjB,OAAO3c,OAAO3C,IAEnBA,IAAMhE,KAAKsjB,OAAOvlB,QAAQsP,MAAMxP,OAASmC,KAAKsjB,OAAO3c,OAAO3C,GAGhED,GAAK/D,KAAKsjB,OAAOvlB,QAAQsP,MAAMtJ,EAC/BC,GAAKhE,KAAKsjB,OAAOvlB,QAAQsP,MAAMrJ,EAE3BhE,KAAKsjB,OAAOvlB,QAAQqQ,OAEpBrK,GAAK/D,KAAKsjB,OAAOvlB,QAAQqQ,KAAKrK,EAC9BC,GAAKhE,KAAKsjB,OAAOvlB,QAAQqQ,KAAKpK,EAG1BD,EAAI/D,KAAKsjB,OAAOvlB,QAAQ6P,KAAK7J,GAAKA,EAAI/D,KAAKsjB,OAAOvlB,QAAQ6P,KAAK8lB,OAAS1vB,EAAIhE,KAAKsjB,OAAOvlB,QAAQ6P,KAAK5J,GAAKA,EAAIhE,KAAKsjB,OAAOvlB,QAAQ6P,KAAK0oB,QAIvI,OAFAt2B,KAAKm2D,IAAMpyD,EACX/D,KAAKo2D,IAAMpyD,GACJ,EAYf,GARAhE,KAAKm2D,IAAMpyD,EACX/D,KAAKo2D,IAAMpyD,EAEXhE,KAAK+C,KAAKyjC,MAAMwa,WAAWh5B,UAAU,EAAG,EAAG,EAAG,GAC9ChoB,KAAK+C,KAAKyjC,MAAMwa,WAAW/xC,UAAUjP,KAAKsjB,OAAOvlB,QAAQqI,YAAYgJ,OAAQrL,EAAGC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAExFhE,KAAK+C,KAAKyjC,MAAMwa,WAAW93B,aAAa,EAAG,EAAG,EAAG,GAEnD9U,KAAK,IAAMpU,KAAKkzD,kBAEpB,OAAO,EAIf,OAAO,GAYX/tB,OAAQ,SAAUkJ,GAEd,GAAoB,OAAhBruC,KAAKsjB,aAA0C/c,IAAvBvG,KAAKsjB,OAAOjiB,OAMxC,OAAKrB,KAAKqhD,SAAYrhD,KAAKsjB,OAAOpiB,SAAYlB,KAAKsjB,OAAOjiB,OAAOH,QAM7DlB,KAAKi0D,cAEAj0D,KAAKm0D,oBAENn0D,KAAKm0D,kBAAqB3yD,EAAOkC,KAAK8xB,SAAS6Y,EAAQtqC,EAAGsqC,EAAQrqC,EAAGhE,KAAK6zD,UAAU9vD,EAAG/D,KAAK6zD,UAAU7vD,IAAMhE,KAAK2zD,uBAGjH3zD,KAAKm0D,mBAAqBn0D,KAAKk0D,eAE/Bl0D,KAAKq2D,UAAUhoB,IAGZ,GAEFruC,KAAKmzD,WAAanzD,KAAKs2D,oBAAsBjoB,EAAQn6B,GAEnDlU,KAAKu2D,WAAWloB,GAAS,GAE3BruC,KAAKs0D,aAAajmB,EAAQn6B,IAAIugD,OAE/Bz0D,KAAK+vD,iBAAiB1hB,IAEtBruC,KAAKs0D,aAAajmB,EAAQn6B,IAAInQ,EAAIsqC,EAAQtqC,EAAI/D,KAAKsjB,OAAOvf,EAC1D/D,KAAKs0D,aAAajmB,EAAQn6B,IAAIlQ,EAAIqqC,EAAQrqC,EAAIhE,KAAKsjB,OAAOtf,GACnD,IAIPhE,KAAKmwD,mBAAmB9hB,IACjB,QAXV,GAtBDruC,KAAKmwD,mBAAmB9hB,IACjB,IA6Cf+hB,oBAAqB,SAAU/hB,EAAS6D,GAEpC,GAAoB,OAAhBlyC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKs0D,aAAajmB,EAAQn6B,IAErC,IAAoB,IAAhBE,EAAKqgD,QAAoBpmB,EAAQ78B,MACrC,CACI,IAAIglD,GAA6B,IAAhBpiD,EAAKqgD,OAEtBrgD,EAAKqgD,QAAS,EACdrgD,EAAKsgD,OAAQ,EACbtgD,EAAKugD,SAAW30D,KAAK+C,KAAKwiC,KAAKA,KAC/BnxB,EAAKrQ,EAAIsqC,EAAQtqC,EAAI/D,KAAKsjB,OAAOvf,EACjCqQ,EAAKpQ,EAAIqqC,EAAQrqC,EAAIhE,KAAKsjB,OAAOtf,EAE7BhE,KAAKqyD,gBAAoC,IAAnBj+C,EAAKk7C,YAE3BtvD,KAAK+C,KAAKmU,OAAOoE,MAAM23B,OAAS,UAChCjzC,KAAKsyD,gBAAiB,IAGrBpgB,GAAUskB,GAAax2D,KAAKsjB,QAAUtjB,KAAKsjB,OAAOkxB,QAEnDx0C,KAAKsjB,OAAOkxB,OAAOiiB,qBAAqBz2D,KAAKsjB,OAAQ+qB,GAGrDruC,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAOiyC,kBAEzCtzC,KAAKsjB,OAAOjiB,OAAOiyC,iBAAiB7N,SAASzlC,KAAKsjB,OAAQ+qB,MAatE8hB,mBAAoB,SAAU9hB,EAAS6D,GAEnC,GAAoB,OAAhBlyC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKs0D,aAAajmB,EAAQn6B,IAErCE,EAAKqgD,QAAS,EACdrgD,EAAKsgD,OAAQ,EACbtgD,EAAKwgD,QAAU50D,KAAK+C,KAAKwiC,KAAKA,KAE1BvlC,KAAKqyD,gBAAoC,IAAnBj+C,EAAKk7C,YAE3BtvD,KAAK+C,KAAKmU,OAAOoE,MAAM23B,OAAS,GAChCjzC,KAAKsyD,gBAAiB,IAGrBpgB,GAAUlyC,KAAKsjB,QAAUtjB,KAAKsjB,OAAOkxB,SAEtCx0C,KAAKsjB,OAAOkxB,OAAOkiB,oBAAoB12D,KAAKsjB,OAAQ+qB,GAEhDruC,KAAKsjB,QAAUtjB,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAOkyC,iBAExDvzC,KAAKsjB,OAAOjiB,OAAOkyC,gBAAgB9N,SAASzlC,KAAKsjB,OAAQ+qB,MAYrEsgB,gBAAiB,SAAUtgB,GAEvB,GAAoB,OAAhBruC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKs0D,aAAajmB,EAAQn6B,IAErC,IAAKE,EAAKi3C,QAAUj3C,EAAKqgD,OACzB,CACI,GAAIz0D,KAAKizD,oBAAsBjzD,KAAKk2D,WAAW,KAAM,KAAM7nB,GAEvD,OAYJ,GATAj6B,EAAKi3C,QAAS,EACdj3C,EAAKk3C,MAAO,EACZl3C,EAAKm3C,SAAWvrD,KAAK+C,KAAKwiC,KAAKA,KAE/BvlC,KAAK6zD,UAAU1sD,IAAIknC,EAAQtqC,EAAGsqC,EAAQrqC,GAGtCqqC,EAAQ78B,OAAQ,EAEZxR,KAAKsjB,QAAUtjB,KAAKsjB,OAAOkxB,SAE3Bx0C,KAAKsjB,OAAOkxB,OAAOmiB,qBAAqB32D,KAAKsjB,OAAQ+qB,GAGjDruC,KAAKsjB,QAAUtjB,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAO+xC,kBAExDpzC,KAAKsjB,OAAOjiB,OAAO+xC,iBAAiB3N,SAASzlC,KAAKsjB,OAAQ+qB,GAI1C,OAAhBruC,KAAKsjB,QAEL,OAKJtjB,KAAKmzD,YAAgC,IAAnBnzD,KAAKsvD,YAEQ,IAA3BtvD,KAAK4zD,mBAA0D,IAA/B5zD,KAAK2zD,sBAErC3zD,KAAKq2D,UAAUhoB,IAIfruC,KAAKi0D,cAAe,EAEpBj0D,KAAKm0D,kBAAoD,IAA/Bn0D,KAAK2zD,sBAE3B3zD,KAAK4zD,kBAAoB,GAEzB5zD,KAAKk0D,eAAgB,EACrBl0D,KAAK+C,KAAKwiC,KAAKiP,OAAOvb,IAAIj5B,KAAK4zD,kBAAmB5zD,KAAK42D,gBAAiB52D,KAAMquC,IAI9EruC,KAAKk0D,eAAgB,IAK7Bl0D,KAAK41C,YAEL51C,KAAKsjB,OAAOsyB,gBAYxBghB,gBAAiB,SAAUvoB,GAEvBruC,KAAKk0D,eAAgB,EAEjBl0D,KAAKi0D,cAAgBj0D,KAAKsjB,QAEtBtjB,KAAKm0D,mBAELn0D,KAAKq2D,UAAUhoB,IAW3BuiB,iBAAkB,SAAUviB,GAExB,GAAoB,OAAhBruC,KAAKsjB,OAAT,CAMA,IAAIlP,EAAOpU,KAAKs0D,aAAajmB,EAAQn6B,IAGrC,GAAIE,EAAKi3C,QAAUhd,EAAQid,KAC3B,CACIl3C,EAAKi3C,QAAS,EACdj3C,EAAKk3C,MAAO,EACZl3C,EAAKo3C,OAASxrD,KAAK+C,KAAKwiC,KAAKA,KAC7BnxB,EAAKygD,aAAezgD,EAAKo3C,OAASp3C,EAAKm3C,SAGvC,IAAIkJ,EAASz0D,KAAK+vD,iBAAiB1hB,GAE/BruC,KAAKsjB,QAAUtjB,KAAKsjB,OAAOkxB,SAEtBx0C,KAAKyzD,yBACNzzD,KAAKyzD,uBAA2BzzD,KAAKmzD,WAAanzD,KAAKsvD,WAAatvD,KAAKs2D,oBAAsBjoB,EAAQn6B,KAEvGlU,KAAKsjB,OAAOkxB,OAAOqiB,mBAAmB72D,KAAKsjB,OAAQ+qB,EAASomB,GAG5Dz0D,KAAKsjB,QAAUtjB,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,OAAOgyC,gBAExDrzC,KAAKsjB,OAAOjiB,OAAOgyC,eAAe5N,SAASzlC,KAAKsjB,OAAQ+qB,EAASomB,GAIjEA,IAEAA,EAASz0D,KAAK+vD,iBAAiB1hB,KAIvCj6B,EAAKqgD,OAASA,GAETA,GAAUz0D,KAAKqyD,gBAEhBryD,KAAK+C,KAAKmU,OAAOoE,MAAM23B,OAAS,UAChCjzC,KAAKsyD,gBAAiB,GAI1BjkB,EAAQ78B,OAAQ,EAEhBxR,KAAKi0D,cAAe,EAGhBj0D,KAAKmzD,WAAanzD,KAAKsvD,WAAatvD,KAAKs2D,oBAAsBjoB,EAAQn6B,IAEvElU,KAAK82D,SAASzoB,MAc1BkoB,WAAY,SAAUloB,EAAS0oB,GAE3B,IAAIj8C,EAAS9a,KAAK+C,KAAK+X,OACnBy4C,EAAavzD,KAAKuzD,WAClByD,EAAYh3D,KAAK+zD,WACjBkD,EAAcj3D,KAAKs0D,aAAajmB,EAAQn6B,IACxC4/C,EAAY9zD,KAAK8zD,UACjBxwC,EAAStjB,KAAKsjB,OAIlB,QAFkB/c,IAAdwwD,IAA2BA,GAAY,GAEvC1oB,EAAQid,KAGR,OADAtrD,KAAK82D,SAASzoB,IACP,EAGX,IAAI6oB,EAAoBl3D,KAAKm3D,cAAc9oB,GAE3C,GAAI/qB,EAAOswB,cAEP,IAAI1gB,EAAKpY,EAAOha,MAAMiD,EAAImzD,EAAkBnzD,EAAIizD,EAAUjzD,EAAIwvD,EAAWxvD,EACrEqzD,EAAKt8C,EAAOha,MAAMkD,EAAIkzD,EAAkBlzD,EAAIgzD,EAAUhzD,EAAIuvD,EAAWvvD,OAIzE,IAAIkvB,EAAKgkC,EAAkBnzD,EAAIizD,EAAUjzD,EAAIwvD,EAAWxvD,EACpDqzD,EAAKF,EAAkBlzD,EAAIgzD,EAAUhzD,EAAIuvD,EAAWvvD,EAG5D,GAAIsf,EAAOswB,cACX,CACI,IAAIC,EAAevwB,EAAOuwB,aACtBwjB,EAAQxjB,EAAa9vC,EACrBuzD,EAAQzjB,EAAa7vC,EAErBhE,KAAKuyD,sBAEL1e,EAAa9vC,EAAImvB,EAAKpY,EAAO/W,GAG7B/D,KAAKwyD,oBAEL3e,EAAa7vC,EAAIozD,EAAKt8C,EAAO9W,GAG7BhE,KAAKozD,YAELpzD,KAAKu3D,kBAGLv3D,KAAKqzD,cAELrzD,KAAKw3D,oBAGLx3D,KAAK0yD,aAEL7e,EAAa9vC,EAAIL,KAAK+xB,OAAOoe,EAAa9vC,EAAK/D,KAAK8yD,YAAc9yD,KAAK4yD,OAAU5yD,KAAK4yD,OAAS5yD,KAAK4yD,MAAS5yD,KAAK8yD,YAAc9yD,KAAK4yD,MACrI/e,EAAa7vC,EAAIN,KAAK+xB,OAAOoe,EAAa7vC,EAAKhE,KAAK+yD,YAAc/yD,KAAK6yD,OAAU7yD,KAAK6yD,OAAS7yD,KAAK6yD,MAAS7yD,KAAK+yD,YAAc/yD,KAAK6yD,MACrIiB,EAAU3sD,IAAI0sC,EAAa9vC,EAAG8vC,EAAa7vC,IAG/C,IAAImK,EAAK0lC,EAAa9vC,EAAIszD,EACtBhpD,EAAKwlC,EAAa7vC,EAAIszD,MAG9B,CACI,IAAIpoD,EAAK4L,EAAO/W,EAAIkzD,EAAY1C,KAC5BplD,EAAK2L,EAAO9W,EAAIizD,EAAYzC,KAC5B6C,EAAQ/zC,EAAOvf,EACfuzD,EAAQh0C,EAAOtf,EAEfhE,KAAKuyD,sBAELjvC,EAAOvf,EAAImvB,EAAKhkB,GAGhBlP,KAAKwyD,oBAELlvC,EAAOtf,EAAIozD,EAAKjoD,GAGhBnP,KAAKozD,YAELpzD,KAAKu3D,kBAGLv3D,KAAKqzD,cAELrzD,KAAKw3D,oBAGLx3D,KAAK0yD,aAELpvC,EAAOvf,EAAIL,KAAK+xB,OAAOnS,EAAOvf,EAAK/D,KAAK8yD,YAAc9yD,KAAK4yD,OAAU5yD,KAAK4yD,OAAS5yD,KAAK4yD,MAAS5yD,KAAK8yD,YAAc9yD,KAAK4yD,MACzHtvC,EAAOtf,EAAIN,KAAK+xB,OAAOnS,EAAOtf,EAAKhE,KAAK+yD,YAAc/yD,KAAK6yD,OAAU7yD,KAAK6yD,OAAS7yD,KAAK6yD,MAAS7yD,KAAK+yD,YAAc/yD,KAAK6yD,MACzHiB,EAAU3sD,IAAImc,EAAOvf,EAAGuf,EAAOtf,IAGnC,IAAImK,EAAKmV,EAAOvf,EAAIszD,EAChBhpD,EAAKiV,EAAOtf,EAAIszD,EAKxB,OAFAt3D,KAAKsjB,OAAOkxB,OAAOijB,aAAahyB,SAASniB,EAAQ+qB,EAASnb,EAAIkkC,EAAItD,EAAWiD,EAAW5oD,EAAIE,IAErF,GAWXqpD,SAAU,SAAUlR,EAAWmR,GAK3B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAET33D,KAAKs0D,aAAa9N,GAAWiO,QAAUz0D,KAAK43D,aAAapR,GAAamR,GAWlFE,QAAS,SAAUrR,EAAWmR,GAK1B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAET33D,KAAKs0D,aAAa9N,GAAWkO,OAAU10D,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKs0D,aAAa9N,GAAWoO,QAAU+C,GAWhH1L,YAAa,SAAUzF,EAAWmR,GAK9B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAET33D,KAAKs0D,aAAa9N,GAAW6E,QAAUrrD,KAAK60D,aAAarO,GAAamR,GAWlFzL,aAAc,SAAU1F,EAAWmR,GAK/B,OAHAnR,EAAYA,GAAa,EACzBmR,EAAQA,GAAS,IAET33D,KAAKs0D,aAAa9N,GAAW8E,MAAStrD,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKs0D,aAAa9N,GAAWgF,OAASmM,GAU9GC,aAAc,SAAUpR,GAIpB,OAFAA,EAAYA,GAAa,EAErBxmD,KAAKs0D,aAAa9N,GAAWiO,OAEtBz0D,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKs0D,aAAa9N,GAAWmO,UAGtD,GAUZE,aAAc,SAAUrO,GAIpB,OAFAA,EAAYA,GAAa,EAErBxmD,KAAKs0D,aAAa9N,GAAW6E,OAEtBrrD,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKs0D,aAAa9N,GAAW+E,UAGtD,GA+BZuM,WAAY,SAAUC,EAAYniB,EAAYoiB,EAAcC,EAAgB7E,EAAYC,QAEjE9sD,IAAfwxD,IAA4BA,GAAa,QAC1BxxD,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjByxD,IAA8BA,GAAe,QAC1BzxD,IAAnB0xD,IAAgCA,EAAiB,UAClC1xD,IAAf6sD,IAA4BA,EAAa,WACxB7sD,IAAjB8sD,IAA8BA,EAAe,MAEjDrzD,KAAK+zD,WAAa,IAAIvyD,EAAOX,MAC7Bb,KAAKmzD,WAAY,EACjBnzD,KAAK41C,WAAaA,EAClB51C,KAAKuzD,WAAa,IAAI/xD,EAAOX,MAC7Bb,KAAKwzD,eAAiBuE,EAEtB/3D,KAAKizD,kBAAoB+E,EACzBh4D,KAAKkzD,kBAAoB+E,EAErB7E,IAEApzD,KAAKozD,WAAaA,GAGlBC,IAEArzD,KAAKqzD,aAAeA,IAU5B6E,YAAa,WAET,GAAIl4D,KAAKs0D,aAEL,IAAK,IAAI5xD,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAKs0D,aAAa5xD,GAAG4sD,WAAY,EAIzCtvD,KAAKmzD,WAAY,EACjBnzD,KAAKsvD,WAAY,EACjBtvD,KAAKs2D,mBAAqB,EAC1Bt2D,KAAKi0D,cAAe,GASxBoC,UAAW,SAAUhoB,GAEjB,IAAItqC,EAAI/D,KAAKsjB,OAAOvf,EAChBC,EAAIhE,KAAKsjB,OAAOtf,EAChBkzD,EAAoBl3D,KAAKm3D,cAAc9oB,GAU3C,GARAruC,KAAKsvD,WAAY,EACjBtvD,KAAKs2D,kBAAoBjoB,EAAQn6B,GAEjClU,KAAKs0D,aAAajmB,EAAQn6B,IAAIqgD,KAAOv0D,KAAK+C,KAAK+X,OAAO/W,EACtD/D,KAAKs0D,aAAajmB,EAAQn6B,IAAIsgD,KAAOx0D,KAAK+C,KAAK+X,OAAO9W,EAEtDhE,KAAKs0D,aAAajmB,EAAQn6B,IAAIo7C,WAAY,EAEtCtvD,KAAKsjB,OAAOswB,cAChB,CACI,GAAI5zC,KAAKwzD,eACT,CACI,IAAI1uD,EAAS9E,KAAKsjB,OAAOpZ,YACrBiuD,EAAyBn4D,KAAKm3D,cAAc,IAAI31D,EAAOX,MAAMiE,EAAO+yB,QAAS/yB,EAAOgzB,UAExF93B,KAAKsjB,OAAOuwB,aAAa9vC,EAAImzD,EAAkBnzD,GAAK/D,KAAKsjB,OAAOuwB,aAAa9vC,EAAIo0D,EAAuBp0D,GACxG/D,KAAKsjB,OAAOuwB,aAAa7vC,EAAIkzD,EAAkBlzD,GAAKhE,KAAKsjB,OAAOuwB,aAAa7vC,EAAIm0D,EAAuBn0D,GAG5GhE,KAAK+zD,WAAW3+B,MAAMp1B,KAAKsjB,OAAOuwB,aAAa9vC,EAAIsqC,EAAQtqC,EAAG/D,KAAKsjB,OAAOuwB,aAAa7vC,EAAIqqC,EAAQrqC,OAGvG,CACI,GAAIhE,KAAKwzD,eACT,CACI,IAAI1uD,EAAS9E,KAAKsjB,OAAOpZ,YACrBiuD,EAAyBn4D,KAAKm3D,cAAc,IAAI31D,EAAOX,MAAMiE,EAAO+yB,QAAS/yB,EAAOgzB,UAExF93B,KAAKsjB,OAAOvf,EAAImzD,EAAkBnzD,GAAK/D,KAAKsjB,OAAOvf,EAAIo0D,EAAuBp0D,GAC9E/D,KAAKsjB,OAAOtf,EAAIkzD,EAAkBlzD,GAAKhE,KAAKsjB,OAAOtf,EAAIm0D,EAAuBn0D,GAGlFhE,KAAK+zD,WAAW3+B,MAAMp1B,KAAKsjB,OAAOvf,EAAImzD,EAAkBnzD,EAAG/D,KAAKsjB,OAAOtf,EAAIkzD,EAAkBlzD,GAGjGhE,KAAKu2D,WAAWloB,GAAS,GAErBruC,KAAK41C,aAEL51C,KAAKg0D,YAAa,EAClBh0D,KAAKsjB,OAAOsyB,cAGhB51C,KAAK0zD,eAAevsD,IAAIpD,EAAGC,GAE3BhE,KAAKsjB,OAAOkxB,OAAO4jB,qBAAqBp4D,KAAKsjB,OAAQ+qB,EAAStqC,EAAGC,GAEjEhE,KAAKi0D,cAAe,GASxBoE,eAAgB,SAAUt0D,GAQtB,OANI/D,KAAKszD,aAELvvD,GAAK/D,KAAK+C,KAAKjC,MAAMw3D,KAAKC,YAAYx0D,EACtCA,GAAK/D,KAAK+C,KAAKjC,MAAMw3D,KAAKE,mBAAmBz0D,GAG1CA,GASX00D,eAAgB,SAAUz0D,GAQtB,OANIhE,KAAKszD,aAELtvD,GAAKhE,KAAK+C,KAAKjC,MAAMw3D,KAAKC,YAAYv0D,EACtCA,GAAKhE,KAAK+C,KAAKjC,MAAMw3D,KAAKE,mBAAmBx0D,GAG1CA,GAUXmzD,cAAe,SAAUuB,GAErB,OAAI14D,KAAKsjB,OAAOjiB,OAELrB,KAAK+C,KAAKyjC,MAAMigB,iBAAiBzmD,KAAKsjB,OAAOjiB,QAAS0C,EAAG20D,EAAY30D,EAAGC,EAAG00D,EAAY10D,IAIvF00D,GAUf5B,SAAU,SAAUzoB,GAEhBruC,KAAKsvD,WAAY,EACjBtvD,KAAKs2D,mBAAqB,EAC1Bt2D,KAAKs0D,aAAajmB,EAAQn6B,IAAIo7C,WAAY,EAC1CtvD,KAAKg0D,YAAa,EAClBh0D,KAAKi0D,cAAe,EAEhBj0D,KAAK2yD,gBAED3yD,KAAKsjB,OAAOswB,eAEZ5zC,KAAKsjB,OAAOuwB,aAAa9vC,EAAIL,KAAK+xB,OAAOz1B,KAAKsjB,OAAOuwB,aAAa9vC,EAAK/D,KAAK8yD,YAAc9yD,KAAK4yD,OAAU5yD,KAAK4yD,OAAS5yD,KAAK4yD,MAAS5yD,KAAK8yD,YAAc9yD,KAAK4yD,MAC7J5yD,KAAKsjB,OAAOuwB,aAAa7vC,EAAIN,KAAK+xB,OAAOz1B,KAAKsjB,OAAOuwB,aAAa7vC,EAAKhE,KAAK+yD,YAAc/yD,KAAK6yD,OAAU7yD,KAAK6yD,OAAS7yD,KAAK6yD,MAAS7yD,KAAK+yD,YAAc/yD,KAAK6yD,QAI7J7yD,KAAKsjB,OAAOvf,EAAIL,KAAK+xB,OAAOz1B,KAAKsjB,OAAOvf,EAAK/D,KAAK8yD,YAAc9yD,KAAK4yD,OAAU5yD,KAAK4yD,OAAS5yD,KAAK4yD,MAAS5yD,KAAK8yD,YAAc9yD,KAAK4yD,MACnI5yD,KAAKsjB,OAAOtf,EAAIN,KAAK+xB,OAAOz1B,KAAKsjB,OAAOtf,EAAKhE,KAAK+yD,YAAc/yD,KAAK6yD,OAAU7yD,KAAK6yD,OAAS7yD,KAAK6yD,MAAS7yD,KAAK+yD,YAAc/yD,KAAK6yD,QAI3I7yD,KAAKsjB,OAAOkxB,OAAOmkB,oBAAoB34D,KAAKsjB,OAAQ+qB,IAEb,IAAnCruC,KAAK+vD,iBAAiB1hB,IAEtBruC,KAAKmwD,mBAAmB9hB,IAWhCuqB,YAAa,SAAUC,EAAiBC,QAEZvyD,IAApBsyD,IAAiCA,GAAkB,QACjCtyD,IAAlBuyD,IAA+BA,GAAgB,GAEnD94D,KAAKuyD,oBAAsBsG,EAC3B74D,KAAKwyD,kBAAoBsG,GAe7BC,WAAY,SAAUnG,EAAOC,EAAOmG,EAAQC,EAAWnG,EAAaC,QAEjDxsD,IAAXyyD,IAAwBA,GAAS,QACnBzyD,IAAd0yD,IAA2BA,GAAY,QACvB1yD,IAAhBusD,IAA6BA,EAAc,QAC3BvsD,IAAhBwsD,IAA6BA,EAAc,GAE/C/yD,KAAK4yD,MAAQA,EACb5yD,KAAK6yD,MAAQA,EACb7yD,KAAK8yD,YAAcA,EACnB9yD,KAAK+yD,YAAcA,EACnB/yD,KAAK0yD,WAAasG,EAClBh5D,KAAK2yD,cAAgBsG,GAQzBC,YAAa,WAETl5D,KAAK0yD,YAAa,EAClB1yD,KAAK2yD,eAAgB,GAQzB4E,gBAAiB,WAETv3D,KAAKsjB,OAAOswB,eAER5zC,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKozD,WAAWz/B,KAE7C3zB,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKozD,WAAWz/B,KAEvC3zB,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKsjB,OAAO1lB,MAASoC,KAAKozD,WAAW1/B,QAExE1zB,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKozD,WAAW1/B,MAAQ1zB,KAAKsjB,OAAO1lB,OAGjEoC,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKozD,WAAW/8B,IAE7Cr2B,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKozD,WAAW/8B,IAEvCr2B,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKsjB,OAAOzlB,OAAUmC,KAAKozD,WAAW98B,SAEzEt2B,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKozD,WAAW98B,OAASt2B,KAAKsjB,OAAOzlB,UAKlEmC,KAAKsjB,OAAOqQ,KAAO3zB,KAAKozD,WAAWz/B,KAEnC3zB,KAAKsjB,OAAOvf,EAAI/D,KAAKozD,WAAWrvD,EAAI/D,KAAKsjB,OAAOoB,QAE3C1kB,KAAKsjB,OAAOoQ,MAAQ1zB,KAAKozD,WAAW1/B,QAEzC1zB,KAAKsjB,OAAOvf,EAAI/D,KAAKozD,WAAW1/B,OAAS1zB,KAAKsjB,OAAO1lB,MAAQoC,KAAKsjB,OAAOoB,UAGzE1kB,KAAKsjB,OAAO+S,IAAMr2B,KAAKozD,WAAW/8B,IAElCr2B,KAAKsjB,OAAOtf,EAAIhE,KAAKozD,WAAW/8B,IAAMr2B,KAAKsjB,OAAOqB,QAE7C3kB,KAAKsjB,OAAOgT,OAASt2B,KAAKozD,WAAW98B,SAE1Ct2B,KAAKsjB,OAAOtf,EAAIhE,KAAKozD,WAAW98B,QAAUt2B,KAAKsjB,OAAOzlB,OAASmC,KAAKsjB,OAAOqB,YAUvF6yC,kBAAmB,WAEXx3D,KAAKsjB,OAAOswB,eAAiB5zC,KAAKqzD,aAAazf,eAE3C5zC,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKqzD,aAAaxf,aAAa9vC,EAE5D/D,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKqzD,aAAaxf,aAAa9vC,EAEtD/D,KAAKsjB,OAAOuwB,aAAa9vC,EAAI/D,KAAKsjB,OAAO1lB,MAAUoC,KAAKqzD,aAAaxf,aAAa9vC,EAAI/D,KAAKqzD,aAAaz1D,QAE9GoC,KAAKsjB,OAAOuwB,aAAa9vC,EAAK/D,KAAKqzD,aAAaxf,aAAa9vC,EAAI/D,KAAKqzD,aAAaz1D,MAASoC,KAAKsjB,OAAO1lB,OAGxGoC,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKqzD,aAAaxf,aAAa7vC,EAE5DhE,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKqzD,aAAaxf,aAAa7vC,EAEtDhE,KAAKsjB,OAAOuwB,aAAa7vC,EAAIhE,KAAKsjB,OAAOzlB,OAAWmC,KAAKqzD,aAAaxf,aAAa7vC,EAAIhE,KAAKqzD,aAAax1D,SAE/GmC,KAAKsjB,OAAOuwB,aAAa7vC,EAAKhE,KAAKqzD,aAAaxf,aAAa7vC,EAAIhE,KAAKqzD,aAAax1D,OAAUmC,KAAKsjB,OAAOzlB,UAKzGmC,KAAKsjB,OAAOqQ,KAAO3zB,KAAKqzD,aAAa1/B,KAErC3zB,KAAKsjB,OAAOvf,EAAI/D,KAAKqzD,aAAa1/B,KAAO3zB,KAAKsjB,OAAOoB,QAEhD1kB,KAAKsjB,OAAOoQ,MAAQ1zB,KAAKqzD,aAAa3/B,QAE3C1zB,KAAKsjB,OAAOvf,EAAI/D,KAAKqzD,aAAa3/B,OAAS1zB,KAAKsjB,OAAO1lB,MAAQoC,KAAKsjB,OAAOoB,UAG3E1kB,KAAKsjB,OAAO+S,IAAMr2B,KAAKqzD,aAAah9B,IAEpCr2B,KAAKsjB,OAAOtf,EAAIhE,KAAKqzD,aAAah9B,IAAMr2B,KAAKsjB,OAAOqB,QAE/C3kB,KAAKsjB,OAAOgT,OAASt2B,KAAKqzD,aAAa/8B,SAE5Ct2B,KAAKsjB,OAAOtf,EAAIhE,KAAKqzD,aAAa/8B,QAAUt2B,KAAKsjB,OAAOzlB,OAASmC,KAAKsjB,OAAOqB,aAO7FnjB,EAAO4wD,aAAa9vD,UAAUC,YAAcf,EAAO4wD,aAQnD5wD,EAAOsjD,YAAc,SAAU/hD,GAM3B/C,KAAK+C,KAAOA,EAMZ/C,KAAKwmC,MAAQzjC,EAAKyjC,MAMlBxmC,KAAKkpD,QAAUnmD,EAAKmU,OAOpBlX,KAAK+qC,QAAS,EAMd/qC,KAAKgvD,QAAS,EAOdhvD,KAAKm5D,SAAW,IAAI33D,EAAO6gC,OAO3BriC,KAAKo5D,QAAU,IAAI53D,EAAO6gC,OAO1BriC,KAAKq5D,qBAAuBr5D,KAAKs5D,gBAAgBvpC,KAAK/vB,MAOtDA,KAAKu5D,oBAAsBv5D,KAAKw5D,eAAezpC,KAAK/vB,MAEpD,IAAIiqB,EAASlnB,EAAKknB,OAOlBjqB,KAAKy5D,mBAAqBxvC,EAAOwvC,mBAOjCz5D,KAAK05D,kBAAoBzvC,EAAOyvC,kBAOhC15D,KAAK25D,iBAAmB1vC,EAAO0vC,kBAQnCn4D,EAAOsjD,YAAYxiD,UAAUgK,MAAQ,WAEjC,SAAKtM,KAAK+C,KAAKknB,OAAO46B,aAAe7kD,KAAK+qC,UAKrC/qC,KAAKkpD,QAAQ0Q,qBAEd55D,KAAKkpD,QAAQ0Q,mBAAqB55D,KAAKkpD,QAAQ2Q,uBAAyB75D,KAAKkpD,QAAQ4Q,0BAGpFzpB,SAAS0pB,kBAEV1pB,SAAS0pB,gBAAkB1pB,SAAS2pB,oBAAsB3pB,SAAS4pB,uBAGvE5pB,SAASW,iBAAiBhxC,KAAK05D,kBAAmB15D,KAAKq5D,sBAAsB,GAC7EhpB,SAASW,iBAAiBhxC,KAAK25D,iBAAkB35D,KAAKu5D,qBAAqB,GAE3Ev5D,KAAK+qC,QAAS,GAEP,IAOXvpC,EAAOsjD,YAAYxiD,UAAU6J,KAAO,WAE5BnM,KAAK+qC,SAELsF,SAAS4B,oBAAoBjyC,KAAK05D,kBAAmB15D,KAAKq5D,sBAAsB,GAChFhpB,SAAS4B,oBAAoBjyC,KAAK25D,iBAAkB35D,KAAKu5D,qBAAqB,GAE9Ev5D,KAAK+qC,QAAS,IAStBvpC,EAAOsjD,YAAYxiD,UAAU43D,QAAU,WAE9Bl6D,KAAK+qC,SAAU/qC,KAAKgvD,QAKzBhvD,KAAKkpD,QAAQ0Q,sBAQjBp4D,EAAOsjD,YAAYxiD,UAAU63D,KAAO,WAEhC9pB,SAAS0pB,mBAUbv4D,EAAOsjD,YAAYxiD,UAAUg3D,gBAAkB,SAAU5oB,GAErD1wC,KAAKgvD,OAAU3e,SAASrwC,KAAKy5D,sBAAwBz5D,KAAKkpD,QAE1DlpD,KAAKm5D,SAAS1zB,SAASzlC,KAAKgvD,OAAQte,IAUxClvC,EAAOsjD,YAAYxiD,UAAUk3D,eAAiB,SAAU9oB,GAEpD1wC,KAAKo5D,QAAQ3zB,SAASiL,IAuB1BlvC,EAAOwjD,QAAU,SAAUjiD,GAKvB/C,KAAK+C,KAAOA,EAMZ/C,KAAKo6D,oBAMLp6D,KAAKq6D,YAOLr6D,KAAKs6D,SAAU,EAOft6D,KAAKqhD,SAAU,EAOfrhD,KAAKu6D,2BAA6B5wC,UAAU6wC,qBAAuB7wC,UAAU8wC,iBAAgE,IAA7C9wC,UAAU+wC,UAAUrxD,QAAQ,eAAyBsgB,UAAUgxC,YAQ/J36D,KAAK46D,wBAQL56D,KAAK66D,mBAKL76D,KAAKspC,gBAAkBtpC,KAKvBA,KAAK86D,kBAAoB,KAKzB96D,KAAK+6D,qBAAuB,KAK5B/6D,KAAKg7D,eAAiB,KAKtBh7D,KAAKi7D,aAAe,KAKpBj7D,KAAKk7D,eAAiB,KAKtBl7D,KAAKm7D,gBAAkB,KAMvBn7D,KAAKo7D,oBAAsB,KAM3Bp7D,KAAKq7D,qBAAuB,KAM5Br7D,KAAKs7D,WACD,IAAI95D,EAAO+5D,UAAUx4D,EAAM/C,MAC3B,IAAIwB,EAAO+5D,UAAUx4D,EAAM/C,MAC3B,IAAIwB,EAAO+5D,UAAUx4D,EAAM/C,MAC3B,IAAIwB,EAAO+5D,UAAUx4D,EAAM/C,QAInCwB,EAAOwjD,QAAQ1iD,WAUXk5D,aAAc,SAAU1tD,EAAS2tD,QAEJ,IAAdA,IAEPz7D,KAAK86D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAY17D,KAAK86D,kBAClG96D,KAAK+6D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAe37D,KAAK+6D,qBAC3G/6D,KAAKg7D,eAA8C,mBAArBS,EAAUnY,OAAyBmY,EAAUnY,OAAStjD,KAAKg7D,eACzFh7D,KAAKi7D,aAA0C,mBAAnBQ,EAAUlY,KAAuBkY,EAAUlY,KAAOvjD,KAAKi7D,aACnFj7D,KAAKk7D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAAS57D,KAAKk7D,eACzFl7D,KAAKm7D,gBAAgD,mBAAtBM,EAAU5P,QAA0B4P,EAAU5P,QAAU7rD,KAAKm7D,gBAC5Fn7D,KAAKspC,gBAAkBx7B,IAU/BxB,MAAO,WAEH,IAAItM,KAAKs6D,QAAT,CAMAt6D,KAAKs6D,SAAU,EAEf,IAAI5tB,EAAQ1sC,KAEZA,KAAK67D,oBAAsB,SAAUnrB,GAEjC,OAAOhE,EAAMovB,mBAAmBprB,IAGpC1wC,KAAK+7D,uBAAyB,SAAUrrB,GAEpC,OAAOhE,EAAMsvB,sBAAsBtrB,IAGvCtgC,OAAO4gC,iBAAiB,mBAAoBhxC,KAAK67D,qBAAqB,GACtEzrD,OAAO4gC,iBAAiB,sBAAuBhxC,KAAK+7D,wBAAwB,KAUhFD,mBAAoB,SAAUprB,GAE1B,IAAIurB,EAASvrB,EAAM0S,QACnBpjD,KAAKq6D,SAASvyD,KAAKm0D,GACnBj8D,KAAKs7D,UAAUW,EAAOrzD,OAAOszD,QAAQD,IAUzCD,sBAAuB,SAAUtrB,GAE7B,IAAIyrB,EAAazrB,EAAM0S,QAEvB,IAAK,IAAI1gD,KAAK1C,KAAKq6D,SAEXr6D,KAAKq6D,SAAS33D,GAAGkG,QAAUuzD,EAAWvzD,OAEtC5I,KAAKq6D,SAASvxD,OAAOpG,EAAE,GAI/B1C,KAAKs7D,UAAUa,EAAWvzD,OAAOwzD,cAQrCj3B,OAAQ,WAEJnlC,KAAKq8D,gBAELr8D,KAAKs8D,KAAKC,aACVv8D,KAAKw8D,KAAKD,aACVv8D,KAAKy8D,KAAKF,aACVv8D,KAAK08D,KAAKH,cASdF,cAAe,WAEX,GAAKr8D,KAAKs6D,QAAV,CAKA,GAAI3wC,UAAUgxC,YAENgC,EAAchzC,UAAUgxC,mBAE3B,GAAIhxC,UAAU6wC,kBAEXmC,EAAchzC,UAAU6wC,yBAE3B,GAAI7wC,UAAU8wC,eAEf,IAAIkC,EAAchzC,UAAU8wC,iBAGhC,GAAIkC,EACJ,CACI38D,KAAKq6D,YAIL,IAAK,IAFDuC,GAAkB,EAEbl6D,EAAI,EAAGA,EAAIi6D,EAAYh6D,gBAEjBg6D,EAAYj6D,KAAO1C,KAAK46D,qBAAqBl4D,KAEpDk6D,GAAkB,EAClB58D,KAAK46D,qBAAqBl4D,UAAYi6D,EAAYj6D,IAGlDi6D,EAAYj6D,IAEZ1C,KAAKq6D,SAASvyD,KAAK60D,EAAYj6D,IAIzB,IAANA,GAdgCA,KAoBxC,IAAK,IAAIiY,EAAI,EAAGA,EAAI3a,KAAKs7D,UAAU34D,OAAQgY,IAEvC3a,KAAKs7D,UAAU3gD,GAAGkiD,QAAU78D,KAAKq6D,SAAS1/C,GAG9C,GAAIiiD,EACJ,CAII,IAAK,IAFDE,EADAC,GAAqBC,cAAgBC,eAGhCp1D,EAAI,EAAGA,EAAI7H,KAAKs7D,UAAU34D,OAAQkF,IAIvC,IAFAi1D,EAAY98D,KAAKs7D,UAAUzzD,IAEbq1D,UAEV,IAAK,IAAI/lC,EAAI,EAAGA,EAAIn3B,KAAKq6D,SAAS13D,OAAQw0B,IAElCn3B,KAAKq6D,SAASljC,GAAGvuB,QAAUk0D,EAAUl0D,QAErCm0D,EAAiBC,WAAWF,EAAUl0D,QAAS,EAC/Cm0D,EAAiBE,WAAWp1D,IAAK,GAMjD,IAAK,IAAIovB,EAAI,EAAGA,EAAIj3B,KAAKs7D,UAAU34D,OAAQs0B,IAIvC,GAFA6lC,EAAY98D,KAAKs7D,UAAUrkC,IAEvB8lC,EAAiBE,WAAWhmC,GAAhC,CAKIj3B,KAAKq6D,SAAS13D,OAAS,GAEvBm6D,EAAUV,aAGd,IAAK,IAAIhlC,EAAI,EAAGA,EAAIp3B,KAAKq6D,SAAS13D,SAE1Bo6D,EAAiBE,WAAWhmC,GAFMG,IAC1C,CAMI,IAAI+lC,EAASn9D,KAAKq6D,SAASjjC,GAE3B,GAAI+lC,EACJ,CACI,GAAIJ,EAAiBC,WAAWG,EAAOv0D,OACvC,CACIk0D,EAAUV,aACV,SAIAU,EAAUZ,QAAQiB,GAClBJ,EAAiBC,WAAWG,EAAOv0D,QAAS,EAC5Cm0D,EAAiBE,WAAWhmC,IAAK,OAKrC6lC,EAAUV,mBAYlCgB,aAAc,SAAUh2D,GAEpB,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKs7D,UAAU34D,OAAQD,IAEvC1C,KAAKs7D,UAAU54D,GAAG26D,SAAWj2D,GASrC+E,KAAM,WAEFnM,KAAKs6D,SAAU,EAEflqD,OAAO6hC,oBAAoB,mBAAoBjyC,KAAK67D,qBACpDzrD,OAAO6hC,oBAAoB,sBAAuBjyC,KAAK+7D,yBAO3D31B,MAAO,WAEHpmC,KAAKmlC,SAEL,IAAK,IAAIziC,EAAI,EAAGA,EAAI1C,KAAKs7D,UAAU34D,OAAQD,IAEvC1C,KAAKs7D,UAAU54D,GAAG0jC,SAW1B6lB,YAAa,SAAUb,EAAYvoB,GAE/B,IAAK,IAAIngC,EAAI,EAAGA,EAAI1C,KAAKs7D,UAAU34D,OAAQD,IAEvC,IAA4D,IAAxD1C,KAAKs7D,UAAU54D,GAAGupD,YAAYb,EAAYvoB,GAE1C,OAAO,EAIf,OAAO,GAUXqpB,aAAc,SAAUd,EAAYvoB,GAEhC,IAAK,IAAIngC,EAAI,EAAGA,EAAI1C,KAAKs7D,UAAU34D,OAAQD,IAEvC,IAA6D,IAAzD1C,KAAKs7D,UAAU54D,GAAGwpD,aAAad,EAAYvoB,GAE3C,OAAO,EAIf,OAAO,GASXwoB,OAAQ,SAAUD,GAEd,IAAK,IAAI1oD,EAAI,EAAGA,EAAI1C,KAAKs7D,UAAU34D,OAAQD,IAEvC,IAA6C,IAAzC1C,KAAKs7D,UAAU54D,GAAG2oD,OAAOD,GAEzB,OAAO,EAIf,OAAO,GAQX5oD,QAAS,WAELxC,KAAKmM,OAEL,IAAK,IAAIzJ,EAAI,EAAGA,EAAI1C,KAAKs7D,UAAU34D,OAAQD,IAEvC1C,KAAKs7D,UAAU54D,GAAGF,YAM9BhB,EAAOwjD,QAAQ1iD,UAAUC,YAAcf,EAAOwjD,QAQ9Ch+C,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,UAE5C4E,IAAK,WAED,OAAOlH,KAAKs6D,WAWpBtzD,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,aAE5C4E,IAAK,WAED,OAAOlH,KAAKu6D,4BAWpBvzD,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,iBAE5C4E,IAAK,WAED,OAAOlH,KAAKq6D,SAAS13D,UAW7BqE,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKs7D,UAAU,MAW9Bt0D,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKs7D,UAAU,MAW9Bt0D,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKs7D,UAAU,MAW9Bt0D,OAAOyF,eAAejL,EAAOwjD,QAAQ1iD,UAAW,QAE5C4E,IAAK,WAED,OAAOlH,KAAKs7D,UAAU,MAK9B95D,EAAOwjD,QAAQsY,SAAW,EAC1B97D,EAAOwjD,QAAQuY,SAAW,EAC1B/7D,EAAOwjD,QAAQwY,SAAW,EAC1Bh8D,EAAOwjD,QAAQyY,SAAW,EAC1Bj8D,EAAOwjD,QAAQ0Y,SAAW,EAC1Bl8D,EAAOwjD,QAAQ2Y,SAAW,EAC1Bn8D,EAAOwjD,QAAQ4Y,SAAW,EAC1Bp8D,EAAOwjD,QAAQ6Y,SAAW,EAC1Br8D,EAAOwjD,QAAQ8Y,SAAW,EAC1Bt8D,EAAOwjD,QAAQ+Y,SAAW,EAC1Bv8D,EAAOwjD,QAAQgZ,UAAY,GAC3Bx8D,EAAOwjD,QAAQiZ,UAAY,GAC3Bz8D,EAAOwjD,QAAQkZ,UAAY,GAC3B18D,EAAOwjD,QAAQmZ,UAAY,GAC3B38D,EAAOwjD,QAAQoZ,UAAY,GAC3B58D,EAAOwjD,QAAQqZ,UAAY,GAE3B78D,EAAOwjD,QAAQsZ,OAAS,EACxB98D,EAAOwjD,QAAQuZ,OAAS,EACxB/8D,EAAOwjD,QAAQwZ,OAAS,EACxBh9D,EAAOwjD,QAAQyZ,OAAS,EACxBj9D,EAAOwjD,QAAQ0Z,OAAS,EACxBl9D,EAAOwjD,QAAQ2Z,OAAS,EACxBn9D,EAAOwjD,QAAQ4Z,OAAS,EACxBp9D,EAAOwjD,QAAQ6Z,OAAS,EACxBr9D,EAAOwjD,QAAQ8Z,OAAS,EACxBt9D,EAAOwjD,QAAQ+Z,OAAS,EAQxBv9D,EAAOwjD,QAAQga,UAAY,EAC3Bx9D,EAAOwjD,QAAQia,UAAY,EAC3Bz9D,EAAOwjD,QAAQka,UAAY,EAC3B19D,EAAOwjD,QAAQma,UAAY,EAC3B39D,EAAOwjD,QAAQoa,oBAAsB,EACrC59D,EAAOwjD,QAAQqa,qBAAuB,EACtC79D,EAAOwjD,QAAQsa,qBAAuB,EACtC99D,EAAOwjD,QAAQua,sBAAwB,EACvC/9D,EAAOwjD,QAAQwa,aAAe,EAC9Bh+D,EAAOwjD,QAAQya,cAAgB,EAC/Bj+D,EAAOwjD,QAAQ0a,0BAA4B,GAC3Cl+D,EAAOwjD,QAAQ2a,2BAA6B,GAE5Cn+D,EAAOwjD,QAAQ4a,kBAAoB,GACnCp+D,EAAOwjD,QAAQ6a,mBAAqB,GACpCr+D,EAAOwjD,QAAQ8a,gBAAkB,GACjCt+D,EAAOwjD,QAAQ+a,kBAAoB,GAGnCv+D,EAAOwjD,QAAQgb,qBAAuB,EACtCx+D,EAAOwjD,QAAQib,qBAAuB,EACtCz+D,EAAOwjD,QAAQkb,sBAAwB,EACvC1+D,EAAOwjD,QAAQmb,sBAAwB,EAIvC3+D,EAAOwjD,QAAQob,QAAU,EACzB5+D,EAAOwjD,QAAQqb,aAAe,EAC9B7+D,EAAOwjD,QAAQsb,aAAe,EAC9B9+D,EAAOwjD,QAAQub,eAAiB,EAChC/+D,EAAOwjD,QAAQwb,SAAW,EAC1Bh/D,EAAOwjD,QAAQyb,SAAW,EAC1Bj/D,EAAOwjD,QAAQ0b,SAAW,EAC1Bl/D,EAAOwjD,QAAQ2b,SAAW,EAC1Bn/D,EAAOwjD,QAAQ4b,aAAe,EAC9Bp/D,EAAOwjD,QAAQ6b,YAAc,EAC7Br/D,EAAOwjD,QAAQ8b,wBAA0B,GACzCt/D,EAAOwjD,QAAQ+b,yBAA2B,GAC1Cv/D,EAAOwjD,QAAQgc,cAAgB,GAC/Bx/D,EAAOwjD,QAAQic,gBAAkB,GACjCz/D,EAAOwjD,QAAQkc,gBAAkB,GACjC1/D,EAAOwjD,QAAQmc,iBAAmB,GAClC3/D,EAAOwjD,QAAQoc,mBAAqB,EACpC5/D,EAAOwjD,QAAQqc,mBAAqB,EACpC7/D,EAAOwjD,QAAQsc,oBAAsB,EACrC9/D,EAAOwjD,QAAQuc,oBAAsB,EAiBrC//D,EAAO+5D,UAAY,SAAUx4D,EAAMy+D,GAK/BxhE,KAAK+C,KAAOA,EAMZ/C,KAAK4I,MAAQ,KAMb5I,KAAKk9D,WAAY,EAKjBl9D,KAAKspC,gBAAkBtpC,KAKvBA,KAAK86D,kBAAoB,KAKzB96D,KAAK+6D,qBAAuB,KAK5B/6D,KAAKg7D,eAAiB,KAKtBh7D,KAAKi7D,aAAe,KAKpBj7D,KAAKk7D,eAAiB,KAKtBl7D,KAAKm7D,gBAAkB,KAKvBn7D,KAAKq9D,SAAW,IAMhBr9D,KAAKyhE,WAAaD,EAMlBxhE,KAAK68D,QAAU,KAMf78D,KAAK0hE,eAAiB,KAMtB1hE,KAAK2hE,YAML3hE,KAAK4hE,YAAc,EAMnB5hE,KAAK6hE,SAML7hE,KAAK8hE,SAAW,GAGpBtgE,EAAO+5D,UAAUj5D,WAUbk5D,aAAc,SAAU1tD,EAAS2tD,QAEJ,IAAdA,IAEPz7D,KAAK86D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAY17D,KAAK86D,kBAClG96D,KAAK+6D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAe37D,KAAK+6D,qBAC3G/6D,KAAKg7D,eAA8C,mBAArBS,EAAUnY,OAAyBmY,EAAUnY,OAAStjD,KAAKg7D,eACzFh7D,KAAKi7D,aAA0C,mBAAnBQ,EAAUlY,KAAuBkY,EAAUlY,KAAOvjD,KAAKi7D,aACnFj7D,KAAKk7D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAAS57D,KAAKk7D,eACzFl7D,KAAKm7D,gBAAgD,mBAAtBM,EAAU5P,QAA0B4P,EAAU5P,QAAU7rD,KAAKm7D,gBAE5Fn7D,KAAKspC,gBAAkBx7B,IAY/Bi0D,UAAW,SAAU3W,GAEjB,OAAIprD,KAAK2hE,SAASvW,GAEPprD,KAAK2hE,SAASvW,GAId,MASfmR,WAAY,WAER,GAAKv8D,KAAKk9D,WAAcl9D,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAK+C,KAAKyjC,MAAM4c,QAAQ/B,SAAYrhD,KAAK68D,WAAW78D,KAAK68D,QAAQmF,WAAahiE,KAAK68D,QAAQmF,YAAchiE,KAAK0hE,gBAAlK,CAKA,IAAK,IAAIh/D,EAAI,EAAGA,EAAI1C,KAAK4hE,YAAal/D,IACtC,CACI,IAAIu/D,EAAeC,MAAMliE,KAAK68D,QAAQtO,QAAQ7rD,IAAM1C,KAAK68D,QAAQtO,QAAQ7rD,GAAG0E,MAAQpH,KAAK68D,QAAQtO,QAAQ7rD,GAErGu/D,IAAiBjiE,KAAK2hE,SAASj/D,GAAG0E,QAEb,IAAjB66D,EAEAjiE,KAAKmiE,kBAAkBz/D,EAAGu/D,GAEJ,IAAjBA,EAELjiE,KAAKoiE,gBAAgB1/D,EAAGu/D,GAIxBjiE,KAAKqiE,mBAAmB3/D,EAAGu/D,IAKvC,IAAK,IAAIr5D,EAAQ,EAAGA,EAAQ5I,KAAK8hE,SAAUl5D,IAC3C,CACI,IAAIxB,EAAQpH,KAAK68D,QAAQyF,KAAK15D,GAEzBxB,EAAQ,GAAKA,EAAQpH,KAAKq9D,UAAcj2D,EAAQ,GAAKA,GAASpH,KAAKq9D,SAEpEr9D,KAAKuiE,kBAAkB35D,EAAOxB,GAI9BpH,KAAKuiE,kBAAkB35D,EAAO,GAItC5I,KAAK0hE,eAAiB1hE,KAAK68D,QAAQmF,YASvC9F,QAAS,SAAUiB,GAEf,IAAIqF,GAAmBxiE,KAAKk9D,UAE5Bl9D,KAAKk9D,WAAY,EACjBl9D,KAAK4I,MAAQu0D,EAAOv0D,MAEpB5I,KAAK68D,QAAUM,EAEfn9D,KAAK2hE,YACL3hE,KAAK4hE,YAAczE,EAAO5O,QAAQ5rD,OAElC3C,KAAK6hE,SACL7hE,KAAK8hE,SAAW3E,EAAOmF,KAAK3/D,OAE5B,IAAK,IAAIO,EAAI,EAAGA,EAAIlD,KAAK8hE,SAAU5+D,IAE/BlD,KAAK6hE,MAAM3+D,GAAKi6D,EAAOmF,KAAKp/D,GAGhC,IAAK,IAAIkoD,KAAc+R,EAAO5O,QAE1BnD,EAAaj4B,SAASi4B,EAAY,IAClCprD,KAAK2hE,SAASvW,GAAc,IAAI5pD,EAAO2pD,aAAanrD,KAAMorD,GAG1DoX,GAAmBxiE,KAAKyhE,WAAW3G,mBAEnC96D,KAAKyhE,WAAW3G,kBAAkBt2D,KAAKxE,KAAKyhE,WAAWn4B,gBAAiBtpC,KAAK4I,OAG7E45D,GAAmBxiE,KAAK86D,mBAExB96D,KAAK86D,kBAAkBt2D,KAAKxE,KAAKspC,kBASzC8yB,WAAY,WAER,IAAIoG,EAAkBxiE,KAAKk9D,UACvBuF,EAAqBziE,KAAK4I,MAE9B5I,KAAKk9D,WAAY,EACjBl9D,KAAK4I,MAAQ,KAEb5I,KAAK68D,aAAUt2D,EAEf,IAAK,IAAI7D,EAAI,EAAGA,EAAI1C,KAAK4hE,YAAal/D,IAElC1C,KAAK2hE,SAASj/D,GAAGF,UAGrBxC,KAAK2hE,YACL3hE,KAAK4hE,YAAc,EAEnB5hE,KAAK6hE,SACL7hE,KAAK8hE,SAAW,EAEZU,GAAmBxiE,KAAKyhE,WAAW1G,sBAEnC/6D,KAAKyhE,WAAW1G,qBAAqBv2D,KAAKxE,KAAKyhE,WAAWn4B,gBAAiBm5B,GAG3ED,GAAmBxiE,KAAK+6D,sBAExB/6D,KAAK+6D,qBAAqBv2D,KAAKxE,KAAKspC,kBAS5C9mC,QAAS,WAELxC,KAAK68D,aAAUt2D,EAEf,IAAK,IAAI7D,EAAI,EAAGA,EAAI1C,KAAK4hE,YAAal/D,IAElC1C,KAAK2hE,SAASj/D,GAAGF,UAGrBxC,KAAK2hE,YACL3hE,KAAK4hE,YAAc,EAEnB5hE,KAAK6hE,SACL7hE,KAAK8hE,SAAW,EAEhB9hE,KAAK86D,kBAAoB,KACzB96D,KAAK+6D,qBAAuB,KAC5B/6D,KAAKg7D,eAAiB,KACtBh7D,KAAKi7D,aAAe,KACpBj7D,KAAKk7D,eAAiB,KACtBl7D,KAAKm7D,gBAAkB,MAS3BoH,kBAAmB,SAAU35D,EAAOxB,GAE5BpH,KAAK6hE,MAAMj5D,KAAWxB,IAK1BpH,KAAK6hE,MAAMj5D,GAASxB,EAEhBpH,KAAKyhE,WAAWvG,gBAEhBl7D,KAAKyhE,WAAWvG,eAAe12D,KAAKxE,KAAKyhE,WAAWn4B,gBAAiBtpC,KAAM4I,EAAOxB,GAGlFpH,KAAKk7D,gBAELl7D,KAAKk7D,eAAe12D,KAAKxE,KAAKspC,gBAAiBtpC,KAAM4I,EAAOxB,KAWpE+6D,kBAAmB,SAAU/W,EAAYhkD,GAEjCpH,KAAK2hE,SAASvW,IAEdprD,KAAK2hE,SAASvW,GAAY9+C,MAAM,KAAMlF,GAGtCpH,KAAKyhE,WAAWzG,gBAEhBh7D,KAAKyhE,WAAWzG,eAAex2D,KAAKxE,KAAKyhE,WAAWn4B,gBAAiB8hB,EAAYhkD,EAAOpH,KAAK4I,OAG7F5I,KAAKg7D,gBAELh7D,KAAKg7D,eAAex2D,KAAKxE,KAAKspC,gBAAiB8hB,EAAYhkD,IAWnEg7D,gBAAiB,SAAUhX,EAAYhkD,GAE/BpH,KAAKyhE,WAAWxG,cAEhBj7D,KAAKyhE,WAAWxG,aAAaz2D,KAAKxE,KAAKyhE,WAAWn4B,gBAAiB8hB,EAAYhkD,EAAOpH,KAAK4I,OAG3F5I,KAAKi7D,cAELj7D,KAAKi7D,aAAaz2D,KAAKxE,KAAKspC,gBAAiB8hB,EAAYhkD,GAGzDpH,KAAK2hE,SAASvW,IAEdprD,KAAK2hE,SAASvW,GAAYj/C,KAAK,KAAM/E,IAW7Ci7D,mBAAoB,SAAUjX,EAAYhkD,GAElCpH,KAAKyhE,WAAWtG,iBAEhBn7D,KAAKyhE,WAAWtG,gBAAgB32D,KAAKxE,KAAKyhE,WAAWn4B,gBAAiB8hB,EAAYhkD,EAAOpH,KAAK4I,OAG9F5I,KAAKm7D,iBAELn7D,KAAKm7D,gBAAgB32D,KAAKxE,KAAKspC,gBAAiB8hB,EAAYhkD,GAG5DpH,KAAK2hE,SAASvW,IAEdprD,KAAK2hE,SAASvW,GAAYY,SAAS5kD,IAW3Cs7D,KAAM,SAAUC,GAEZ,QAAI3iE,KAAK6hE,MAAMc,IAEJ3iE,KAAK6hE,MAAMc,IAa1BtX,OAAQ,SAAUD,GAEd,QAAIprD,KAAK2hE,SAASvW,IAEPprD,KAAK2hE,SAASvW,GAAYC,QAazCC,KAAM,SAAUF,GAEZ,QAAIprD,KAAK2hE,SAASvW,IAEPprD,KAAK2hE,SAASvW,GAAYE,MAczCY,aAAc,SAAUd,EAAYvoB,GAEhC,GAAI7iC,KAAK2hE,SAASvW,GAEd,OAAOprD,KAAK2hE,SAASvW,GAAYc,aAAarpB,IAYtDopB,YAAa,SAAUb,EAAYvoB,GAE/B,GAAI7iC,KAAK2hE,SAASvW,GAEd,OAAOprD,KAAK2hE,SAASvW,GAAYa,YAAYppB,IAYrD+/B,YAAa,SAAUxX,GAEnB,OAAIprD,KAAK2hE,SAASvW,GAEPprD,KAAK2hE,SAASvW,GAAYhkD,MAG9B,MAQXg/B,MAAO,WAEH,IAAK,IAAIv+B,EAAI,EAAGA,EAAI7H,KAAK6hE,MAAMl/D,OAAQkF,IAEnC7H,KAAK6hE,MAAMh6D,GAAK,IAM5BrG,EAAO+5D,UAAUj5D,UAAUC,YAAcf,EAAO+5D,UAgBhD/5D,EAAOqhE,IAAM,SAAU9/D,EAAM+/D,GAKzB9iE,KAAK+C,KAAOA,EAOZ/C,KAAK+iE,UAAW,EAMhB/iE,KAAK0wC,MAAQ,KAMb1wC,KAAKqrD,QAAS,EAMdrrD,KAAKsrD,MAAO,EAMZtrD,KAAK0rD,QAAS,EAMd1rD,KAAK4rD,SAAU,EAMf5rD,KAAK2rD,UAAW,EAKhB3rD,KAAKurD,SAAW,EAQhBvrD,KAAK6iC,SAAW,EAMhB7iC,KAAKwrD,QAAU,KAQfxrD,KAAKgjE,YAAc,KAMnBhjE,KAAKyrD,QAAU,EAKfzrD,KAAKijE,QAAUH,EAKf9iE,KAAKsjD,OAAS,IAAI9hD,EAAO6gC,OAKzBriC,KAAKkjE,eAAiB,KAKtBljE,KAAKmjE,cAAgB,KAKrBnjE,KAAKujD,KAAO,IAAI/hD,EAAO6gC,OAMvBriC,KAAKojE,WAAY,EAMjBpjE,KAAKqjE,SAAU,GAGnB7hE,EAAOqhE,IAAIvgE,WAQP6iC,OAAQ,WAECnlC,KAAK+iE,WAEN/iE,KAAKqrD,QAELrrD,KAAK6iC,SAAW7iC,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKurD,SAC3CvrD,KAAKyrD,UAEDzrD,KAAKkjE,gBAELljE,KAAKkjE,eAAe1+D,KAAKxE,KAAKmjE,cAAenjE,OAKjDA,KAAKgjE,WAAahjE,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKwrD,SAWrD8X,eAAgB,SAAU5yB,GAEjB1wC,KAAK+iE,WAEV/iE,KAAK0wC,MAAQA,EAGT1wC,KAAKqrD,SAKTrrD,KAAK0rD,OAAShb,EAAMgb,OACpB1rD,KAAK4rD,QAAUlb,EAAMkb,QACrB5rD,KAAK2rD,SAAWjb,EAAMib,SAEtB3rD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EACZtrD,KAAKurD,SAAWvrD,KAAK+C,KAAKwiC,KAAKA,KAC/BvlC,KAAK6iC,SAAW,EAChB7iC,KAAKgjE,WAAahjE,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKwrD,OAC7CxrD,KAAKyrD,QAAU,EAMfzrD,KAAKojE,WAAY,EAEjBpjE,KAAKsjD,OAAO7d,SAASzlC,SAUzBujE,aAAc,SAAU7yB,GAEf1wC,KAAK+iE,WAEV/iE,KAAK0wC,MAAQA,EAET1wC,KAAKsrD,OAKTtrD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EACZtrD,KAAKwrD,OAASxrD,KAAK+C,KAAKwiC,KAAKA,KAC7BvlC,KAAK6iC,SAAW7iC,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKurD,SAC3CvrD,KAAKgjE,WAAa,EAMlBhjE,KAAKqjE,SAAU,EAEfrjE,KAAKujD,KAAK9d,SAASzlC,SAYvBomC,MAAO,SAAUwf,QAEAr/C,IAATq/C,IAAsBA,GAAO,GAEjC5lD,KAAKqrD,QAAS,EACdrrD,KAAKsrD,MAAO,EACZtrD,KAAKwrD,OAASxrD,KAAK+C,KAAKwiC,KAAKA,KAC7BvlC,KAAK6iC,SAAW,EAChB7iC,KAAKgjE,YAAc,KACnBhjE,KAAK+iE,UAAW,EAChB/iE,KAAKojE,WAAY,EACjBpjE,KAAKqjE,SAAU,EAEXzd,IAEA5lD,KAAKsjD,OAAOrZ,YACZjqC,KAAKujD,KAAKtZ,YACVjqC,KAAKkjE,eAAiB,KACtBljE,KAAKmjE,cAAgB,OAY7BtO,aAAc,SAAUhyB,GAIpB,YAFiBt8B,IAAbs8B,IAA0BA,EAAW,IAEjC7iC,KAAKqrD,QAAUrrD,KAAK6iC,SAAWA,GAW3C2gC,WAAY,SAAU3gC,GAIlB,YAFiBt8B,IAAbs8B,IAA0BA,EAAW,KAEhC7iC,KAAKqrD,QAAYrrD,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKwrD,OAAU3oB,GAUnEopB,YAAa,WAET,OAAQjsD,KAAKqrD,QAA4B,IAAlBrrD,KAAK6iC,UAUhCqpB,aAAc,WAEV,OAASlsD,KAAKqrD,QAA8B,IAApBrrD,KAAKgjE,aAgBrCh8D,OAAOyF,eAAejL,EAAOqhE,IAAIvgE,UAAW,YAExC4E,IAAK,WAED,IAAI8gC,EAAUhoC,KAAKojE,UAEnB,OADApjE,KAAKojE,WAAY,EACVp7B,KAgBfhhC,OAAOyF,eAAejL,EAAOqhE,IAAIvgE,UAAW,UAExC4E,IAAK,WAED,IAAI8gC,EAAUhoC,KAAKqjE,QAEnB,OADArjE,KAAKqjE,SAAU,EACRr7B,KAafhhC,OAAOyF,eAAejL,EAAOqhE,IAAIvgE,UAAW,WAExC4E,IAAK,WAED,OAAOlH,KAAK+iE,UAGhB57D,IAAK,SAAUC,IAEXA,IAAUA,KAEIpH,KAAK+iE,WAEV37D,GAEDpH,KAAKomC,OAAM,GAGfpmC,KAAK+iE,SAAW37D,MAM5B5F,EAAOqhE,IAAIvgE,UAAUC,YAAcf,EAAOqhE,IAsB1CrhE,EAAOujD,SAAW,SAAUhiD,GAKxB/C,KAAK+C,KAAOA,EAOZ/C,KAAK+qC,QAAS,EAOd/qC,KAAKqhD,SAAU,EAKfrhD,KAAK0wC,MAAQ,KAKb1wC,KAAKyjE,WAAa,KAKlBzjE,KAAKspC,gBAAkBtpC,KAKvBA,KAAKg7D,eAAiB,KAKtBh7D,KAAK0jE,gBAAkB,KAKvB1jE,KAAKi7D,aAAe,KAMpBj7D,KAAK2jE,SAML3jE,KAAK4jE,YAOL5jE,KAAK6jE,WAAa,KAOlB7jE,KAAK8jE,YAAc,KAOnB9jE,KAAK+jE,SAAW,KAMhB/jE,KAAKsvC,GAAK,EAMVtvC,KAAKgkE,GAAK,GAGdxiE,EAAOujD,SAASziD,WAWZk5D,aAAc,SAAU1tD,EAASw1C,EAAQC,EAAM0gB,GAE3CjkE,KAAKspC,gBAAkBx7B,OAERvH,IAAX+8C,GAAmC,OAAXA,IAExBtjD,KAAKg7D,eAAiB1X,QAGb/8C,IAATg9C,GAA+B,OAATA,IAEtBvjD,KAAKi7D,aAAe1X,QAGRh9C,IAAZ09D,GAAqC,OAAZA,IAEzBjkE,KAAK0jE,gBAAkBO,IAS/BC,gBAAiB,WAEblkE,KAAKspC,gBAAkBtpC,KACvBA,KAAKg7D,eAAiB,KACtBh7D,KAAKi7D,aAAe,KACpBj7D,KAAK0jE,gBAAkB,MAW3BS,OAAQ,SAAUrB,GASd,OAPK9iE,KAAK2jE,MAAMb,KAEZ9iE,KAAK2jE,MAAMb,GAAW,IAAIthE,EAAOqhE,IAAI7iE,KAAK+C,KAAM+/D,GAEhD9iE,KAAKokE,cAActB,IAGhB9iE,KAAK2jE,MAAMb,IAgBtBuB,QAAS,SAAU3yC,GAEf,IAAIgE,KAEJ,IAAK,IAAI1iB,KAAO0e,EAEZgE,EAAO1iB,GAAOhT,KAAKmkE,OAAOzyC,EAAK1e,IAGnC,OAAO0iB,GASX4uC,UAAW,SAAUxB,GAEb9iE,KAAK2jE,MAAMb,KAEX9iE,KAAK2jE,MAAMb,GAAW,KAEtB9iE,KAAKukE,iBAAiBzB,KAU9B0B,iBAAkB,WAEd,OAAOxkE,KAAKqkE,SAAUI,GAAIjjE,EAAOkjE,QAAQ14C,GAAIyiC,KAAMjtD,EAAOkjE,QAAQz4C,KAAM0H,KAAMnyB,EAAOkjE,QAAQ54C,KAAM4H,MAAOlyB,EAAOkjE,QAAQ34C,SAW7Hzf,MAAO,WAEH,GAAItM,KAAK+C,KAAKknB,OAAOs1B,SAEjB,OAAO,EAGX,GAAIv/C,KAAK+qC,OAGL,OAAO,EAGX,IAAI2B,EAAQ1sC,KAuBZ,OArBAA,KAAK6jE,WAAa,SAAUnzB,GAExB,OAAOhE,EAAM42B,eAAe5yB,IAGhC1wC,KAAK+jE,SAAW,SAAUrzB,GAEtB,OAAOhE,EAAM62B,aAAa7yB,IAG9B1wC,KAAK8jE,YAAc,SAAUpzB,GAEzB,OAAOhE,EAAMi4B,gBAAgBj0B,IAGjCtgC,OAAO4gC,iBAAiB,UAAWhxC,KAAK6jE,YAAY,GACpDzzD,OAAO4gC,iBAAiB,QAAShxC,KAAK+jE,UAAU,GAChD3zD,OAAO4gC,iBAAiB,WAAYhxC,KAAK8jE,aAAa,GAEtD9jE,KAAK+qC,QAAS,GAEP,GAQX5+B,KAAM,WAEFiE,OAAO6hC,oBAAoB,UAAWjyC,KAAK6jE,YAC3CzzD,OAAO6hC,oBAAoB,QAASjyC,KAAK+jE,UACzC3zD,OAAO6hC,oBAAoB,WAAYjyC,KAAK8jE,aAE5C9jE,KAAK6jE,WAAa,KAClB7jE,KAAK+jE,SAAW,KAChB/jE,KAAK8jE,YAAc,KAEnB9jE,KAAK+qC,QAAS,GASlBvoC,QAAS,WAELxC,KAAKmM,OAELnM,KAAK4kE,gBAEL5kE,KAAK2jE,MAAMhhE,OAAS,EACpB3C,KAAKsvC,GAAK,GAed80B,cAAe,SAAUtB,GAErB,GAAuB,iBAAZA,EAEP,IAAK,IAAI9vD,KAAO8vD,EAEZ9iE,KAAK4jE,SAASd,EAAQ9vD,KAAQ,OAKlChT,KAAK4jE,SAASd,IAAW,GAUjCyB,iBAAkB,SAAUzB,UAEjB9iE,KAAK4jE,SAASd,IAQzB8B,cAAe,WAEX5kE,KAAK4jE,aAQTz+B,OAAQ,WAIJ,IAFAnlC,KAAKsvC,GAAKtvC,KAAK2jE,MAAMhhE,OAEd3C,KAAKsvC,MAEJtvC,KAAK2jE,MAAM3jE,KAAKsvC,KAEhBtvC,KAAK2jE,MAAM3jE,KAAKsvC,IAAInK,UAYhCm+B,eAAgB,SAAU5yB,GAItB,GAFA1wC,KAAK0wC,MAAQA,EAER1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,QAAtC,CAKA,IAAIruC,EAAM09B,EAAMuyB,QAGZjjE,KAAK4jE,SAAS5wD,IAEd09B,EAAMgP,iBAGL1/C,KAAK2jE,MAAM3wD,KAEZhT,KAAK2jE,MAAM3wD,GAAO,IAAIxR,EAAOqhE,IAAI7iE,KAAK+C,KAAMiQ,IAGhDhT,KAAK2jE,MAAM3wD,GAAKswD,eAAe5yB,GAE/B1wC,KAAKgkE,GAAKhxD,EAENhT,KAAKg7D,gBAELh7D,KAAKg7D,eAAex2D,KAAKxE,KAAKspC,gBAAiBoH,KAWvDi0B,gBAAiB,SAAUj0B,GAEvB1wC,KAAKyjE,WAAa/yB,EAEb1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,SAKlCrhD,KAAK0jE,iBAEL1jE,KAAK0jE,gBAAgBl/D,KAAKxE,KAAKspC,gBAAiBu7B,OAAOC,aAAap0B,EAAMq0B,UAAWr0B,IAW7F6yB,aAAc,SAAU7yB,GAIpB,GAFA1wC,KAAK0wC,MAAQA,EAER1wC,KAAK+C,KAAKyjC,MAAM6a,SAAYrhD,KAAKqhD,QAAtC,CAKA,IAAIruC,EAAM09B,EAAMuyB,QAEZjjE,KAAK4jE,SAAS5wD,IAEd09B,EAAMgP,iBAGL1/C,KAAK2jE,MAAM3wD,KAEZhT,KAAK2jE,MAAM3wD,GAAO,IAAIxR,EAAOqhE,IAAI7iE,KAAK+C,KAAMiQ,IAGhDhT,KAAK2jE,MAAM3wD,GAAKuwD,aAAa7yB,GAEzB1wC,KAAKi7D,cAELj7D,KAAKi7D,aAAaz2D,KAAKxE,KAAKspC,gBAAiBoH,KAUrDtK,MAAO,SAAUwf,QAEAr/C,IAATq/C,IAAsBA,GAAO,GAEjC5lD,KAAK0wC,MAAQ,KAIb,IAFA,IAAIhuC,EAAI1C,KAAK2jE,MAAMhhE,OAEZD,KAEC1C,KAAK2jE,MAAMjhE,IAEX1C,KAAK2jE,MAAMjhE,GAAG0jC,MAAMwf,IAchCiP,aAAc,SAAUiO,EAASjgC,GAE7B,OAAI7iC,KAAK2jE,MAAMb,GAEJ9iE,KAAK2jE,MAAMb,GAASjO,aAAahyB,GAIjC,MAaf2gC,WAAY,SAAUV,EAASjgC,GAE3B,OAAI7iC,KAAK2jE,MAAMb,GAEJ9iE,KAAK2jE,MAAMb,GAASU,WAAW3gC,GAI/B,MAIfopB,YAAa,SAAU6W,GAEnB,OAAI9iE,KAAK2jE,MAAMb,GAEJ9iE,KAAK2jE,MAAMb,GAAS7W,cAIpB,MAIfC,aAAc,SAAU4W,GAEpB,OAAI9iE,KAAK2jE,MAAMb,GAEJ9iE,KAAK2jE,MAAMb,GAAS5W,eAIpB,MAWfb,OAAQ,SAAUyX,GAEd,OAAI9iE,KAAK2jE,MAAMb,GAEJ9iE,KAAK2jE,MAAMb,GAASzX,OAIpB,OAYnBrkD,OAAOyF,eAAejL,EAAOujD,SAASziD,UAAW,YAE7C4E,IAAK,WAED,OAAIlH,KAAK0wC,OAAiC,KAAxB1wC,KAAK0wC,MAAMq0B,SAElB,GAEF/kE,KAAKyjE,WAEHoB,OAAOC,aAAa9kE,KAAKyjE,WAAWsB,UAIpC,QAYnB/9D,OAAOyF,eAAejL,EAAOujD,SAASziD,UAAW,WAE7C4E,IAAK,WAED,OAAOlH,KAAK2jE,MAAM3jE,KAAKgkE,OAK/BxiE,EAAOujD,SAASziD,UAAUC,YAAcf,EAAOujD,SAiB/CvjD,EAAOkjE,SAEHM,EAAG,IAAIC,WAAW,GAGlBC,EAAG,IAAID,WAAW,GAGlBE,EAAG,IAAIF,WAAW,GAGlBG,EAAG,IAAIH,WAAW,GAGlBI,EAAG,IAAIJ,WAAW,GAGlBz0C,EAAG,IAAIy0C,WAAW,GAGlBK,EAAG,IAAIL,WAAW,GAGlBM,EAAG,IAAIN,WAAW,GAGlBO,EAAG,IAAIP,WAAW,GAGlBQ,EAAG,IAAIR,WAAW,GAGlBS,EAAG,IAAIT,WAAW,GAGlBU,EAAG,IAAIV,WAAW,GAGlBW,EAAG,IAAIX,WAAW,GAGlBY,EAAG,IAAIZ,WAAW,GAGlBa,EAAG,IAAIb,WAAW,GAGlBc,EAAG,IAAId,WAAW,GAGlBe,EAAG,IAAIf,WAAW,GAGlBgB,EAAG,IAAIhB,WAAW,GAGlBiB,EAAG,IAAIjB,WAAW,GAGlBkB,EAAG,IAAIlB,WAAW,GAGlBmB,EAAG,IAAInB,WAAW,GAGlBoB,EAAG,IAAIpB,WAAW,GAGlBqB,EAAG,IAAIrB,WAAW,GAGlBsB,EAAG,IAAItB,WAAW,GAGlBuB,EAAG,IAAIvB,WAAW,GAGlBwB,EAAG,IAAIxB,WAAW,GAGlByB,KAAM,IAAIzB,WAAW,GAGrB3oD,IAAK,IAAI2oD,WAAW,GAGpB0B,IAAK,IAAI1B,WAAW,GAGpB2B,MAAO,IAAI3B,WAAW,GAGtB4B,KAAM,IAAI5B,WAAW,GAGrB6B,KAAM,IAAI7B,WAAW,GAGrB8B,IAAK,IAAI9B,WAAW,GAGpB+B,MAAO,IAAI/B,WAAW,GAGtBgC,MAAO,IAAIhC,WAAW,GAGtBiC,KAAM,IAAIjC,WAAW,GAGrBkC,SAAU,GAGVC,SAAU,GAGVC,SAAU,GAGVC,SAAU,GAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,SAAU,IAGVC,gBAAiB,IAGjBC,WAAY,IAGZC,aAAc,IAGdC,gBAAiB,IAGjBC,eAAgB,IAGhBC,cAAe,IAGfC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,GAAI,IAGJC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,IAAK,IAGLC,MAAO,IAGPC,OAAQ,IAGRC,MAAO,IAGPC,WAAY,IAGZC,OAAQ,IAGRC,cAAe,IAGfC,MAAO,IAGPC,aAAc,IAGdC,eAAgB,IAGhBC,eAAgB,IAGhBC,OAAQ,IAGRC,UAAW,EAGXC,IAAK,EAGLC,MAAO,GAGPC,MAAO,GAGPC,MAAO,GAGPC,QAAS,GAGTC,IAAK,GAGLC,UAAW,GAGXC,IAAK,GAGLC,SAAU,GAGVC,QAAS,GAGTC,UAAW,GAGXC,IAAK,GAGLC,KAAM,GAGN5+C,KAAM,GAGNE,GAAI,GAGJD,MAAO,GAGPE,KAAM,GAGN0+C,KAAM,GAGNC,MAAO,GAGPC,OAAQ,GAGRC,OAAQ,GAGRC,KAAM,GAGNC,SAAU,KAId,IAAK,IAAIh4D,KAAOxR,EAAOkjE,QAEfljE,EAAOkjE,QAAQrzC,eAAere,KAASA,EAAIi4D,MAAM,WAEjDzpE,EAAOujD,SAAS/xC,GAAOxR,EAAOkjE,QAAQ1xD,IAU9CxR,EAAO0pE,UAAY,aAanB1pE,EAAO0pE,UAAUC,MAAQ,aAEzB3pE,EAAO0pE,UAAUC,MAAM7oE,WAenBszB,OAEI1uB,IAAK,WAED,OAAO1F,EAAOkC,KAAK0nE,UAAU5pE,EAAOkC,KAAKs5B,SAASh9B,KAAKgB,YAG3DmG,IAAK,SAAUC,GAEXpH,KAAKgB,SAAWQ,EAAOkC,KAAK+yB,SAASj1B,EAAOkC,KAAK0nE,UAAUhkE,OAkBvE5F,EAAO0pE,UAAUG,UAAY,aAE7B7pE,EAAO0pE,UAAUG,UAAU/oE,WAiBvBgpE,KAAM,SAAUt5C,EAAMu5C,EAAWC,EAAMC,GAEnC,GAAIzrE,KAAK0rE,WAEL,OAAO1rE,KAAK0rE,WAAWJ,KAAKt5C,EAAMu5C,EAAWC,EAAMC,KAkB/DjqE,EAAO0pE,UAAUS,SAAW,aAE5BnqE,EAAO0pE,UAAUS,SAASrpE,WAatBspE,UAAU,EASVC,UAEI3kE,IAAK,WASD,OAPKlH,KAAK4rE,UAAa5rE,KAAK8rE,mBAExB9rE,KAAKgC,QAAQqzB,SAASr1B,KAAKkK,aAC3BlK,KAAKgC,QAAQ+B,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EACxC/D,KAAKgC,QAAQgC,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,GAGrChE,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKuf,WAAWx2B,KAAKgC,YAkB/DR,EAAO0pE,UAAUa,OAAS,aAE1BvqE,EAAO0pE,UAAUa,OAAOzpE,WAUpBoiB,SAEIxd,IAAK,WAED,OAAOlH,KAAK2G,OAAO5C,EAAI/D,KAAKpC,QAapC+mB,SAEIzd,IAAK,WAED,OAAOlH,KAAK2G,OAAO3C,EAAIhE,KAAKnC,SAWpCg6B,SAEI3wB,IAAK,WAED,OAAQlH,KAAK+D,EAAI/D,KAAK0kB,QAAyB,GAAb1kB,KAAKpC,OAG3CuJ,IAAK,SAAUC,GAEXpH,KAAK+D,EAAKqD,EAAQpH,KAAK0kB,QAAyB,GAAb1kB,KAAKpC,QAWhDk6B,SAEI5wB,IAAK,WAED,OAAQlH,KAAKgE,EAAIhE,KAAK2kB,QAA0B,GAAd3kB,KAAKnC,QAG3CsJ,IAAK,SAAUC,GAEXpH,KAAKgE,EAAKoD,EAAQpH,KAAK2kB,QAA0B,GAAd3kB,KAAKnC,SAWhD81B,MAEIzsB,IAAK,WAED,OAAOlH,KAAK+D,EAAI/D,KAAK0kB,SAGzBvd,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAAQpH,KAAK0kB,UAW9BgP,OAEIxsB,IAAK,WAED,OAAQlH,KAAK+D,EAAI/D,KAAKpC,MAASoC,KAAK0kB,SAGxCvd,IAAK,SAAUC,GAEXpH,KAAK+D,EAAIqD,EAASpH,KAAU,MAAIA,KAAK0kB,UAW7C2R,KAEInvB,IAAK,WAED,OAAOlH,KAAKgE,EAAIhE,KAAK2kB,SAGzBxd,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAAQpH,KAAK2kB,UAW9B2R,QAEIpvB,IAAK,WAED,OAAQlH,KAAKgE,EAAIhE,KAAKnC,OAAUmC,KAAK2kB,SAGzCxd,IAAK,SAAUC,GAEXpH,KAAKgE,EAAIoD,EAASpH,KAAW,OAAIA,KAAK2kB,UA4C9C2wB,QAAS,SAAU02B,EAAWprE,EAAU8jB,EAASC,GAK7C,YAHgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAE/B/jB,GAEJ,QACA,KAAKY,EAAOotB,SACR5uB,KAAK2zB,KAAOq4C,EAAUr4C,KAAOjP,EAC7B1kB,KAAKq2B,IAAM21C,EAAU31C,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOqtB,WACR7uB,KAAK63B,QAAUm0C,EAAUn0C,QAAUnT,EACnC1kB,KAAKq2B,IAAM21C,EAAU31C,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOstB,UACR9uB,KAAK0zB,MAAQs4C,EAAUt4C,MAAQhP,EAC/B1kB,KAAKq2B,IAAM21C,EAAU31C,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOwtB,YACRhvB,KAAK2zB,KAAOq4C,EAAUr4C,KAAOjP,EAC7B1kB,KAAK83B,QAAUk0C,EAAUl0C,QAAUnT,EACnC,MAEJ,KAAKnjB,EAAO0tB,OACRlvB,KAAK63B,QAAUm0C,EAAUn0C,QAAUnT,EACnC1kB,KAAK83B,QAAUk0C,EAAUl0C,QAAUnT,EACnC,MAEJ,KAAKnjB,EAAO4tB,aACRpvB,KAAK0zB,MAAQs4C,EAAUt4C,MAAQhP,EAC/B1kB,KAAK83B,QAAUk0C,EAAUl0C,QAAUnT,EACnC,MAEJ,KAAKnjB,EAAO8tB,YACRtvB,KAAK2zB,KAAOq4C,EAAUr4C,KAAOjP,EAC7B1kB,KAAKs2B,OAAS01C,EAAU11C,OAAS3R,EACjC,MAEJ,KAAKnjB,EAAO+tB,cACRvvB,KAAK63B,QAAUm0C,EAAUn0C,QAAUnT,EACnC1kB,KAAKs2B,OAAS01C,EAAU11C,OAAS3R,EACjC,MAEJ,KAAKnjB,EAAOguB,aACRxvB,KAAK0zB,MAAQs4C,EAAUt4C,MAAQhP,EAC/B1kB,KAAKs2B,OAAS01C,EAAU11C,OAAS3R,EAIzC,OAAO3kB,MA2CXisE,QAAS,SAAU5qE,EAAQT,EAAU8jB,EAASC,GAK1C,YAHgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAE/B/jB,GAEJ,QACA,KAAKY,EAAOotB,SACR5uB,KAAK2zB,KAAOtyB,EAAOsyB,KAAOjP,EAC1B1kB,KAAKs2B,OAASj1B,EAAOg1B,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOqtB,WACR7uB,KAAK63B,QAAUx2B,EAAOw2B,QAAUnT,EAChC1kB,KAAKs2B,OAASj1B,EAAOg1B,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOstB,UACR9uB,KAAK0zB,MAAQryB,EAAOqyB,MAAQhP,EAC5B1kB,KAAKs2B,OAASj1B,EAAOg1B,IAAM1R,EAC3B,MAEJ,KAAKnjB,EAAOutB,SACR/uB,KAAK0zB,MAAQryB,EAAOsyB,KAAOjP,EAC3B1kB,KAAKq2B,IAAMh1B,EAAOg1B,IAAM1R,EACxB,MAEJ,KAAKnjB,EAAOwtB,YACRhvB,KAAK0zB,MAAQryB,EAAOsyB,KAAOjP,EAC3B1kB,KAAK83B,QAAUz2B,EAAOy2B,QAAUnT,EAChC,MAEJ,KAAKnjB,EAAOytB,YACRjvB,KAAK0zB,MAAQryB,EAAOsyB,KAAOjP,EAC3B1kB,KAAKs2B,OAASj1B,EAAOi1B,OAAS3R,EAC9B,MAEJ,KAAKnjB,EAAO2tB,UACRnvB,KAAK2zB,KAAOtyB,EAAOqyB,MAAQhP,EAC3B1kB,KAAKq2B,IAAMh1B,EAAOg1B,IAAM1R,EACxB,MAEJ,KAAKnjB,EAAO4tB,aACRpvB,KAAK2zB,KAAOtyB,EAAOqyB,MAAQhP,EAC3B1kB,KAAK83B,QAAUz2B,EAAOy2B,QAAUnT,EAChC,MAEJ,KAAKnjB,EAAO6tB,aACRrvB,KAAK2zB,KAAOtyB,EAAOqyB,MAAQhP,EAC3B1kB,KAAKs2B,OAASj1B,EAAOi1B,OAAS3R,EAC9B,MAEJ,KAAKnjB,EAAO8tB,YACRtvB,KAAK2zB,KAAOtyB,EAAOsyB,KAAOjP,EAC1B1kB,KAAKq2B,IAAMh1B,EAAOi1B,OAAS3R,EAC3B,MAEJ,KAAKnjB,EAAO+tB,cACRvvB,KAAK63B,QAAUx2B,EAAOw2B,QAAUnT,EAChC1kB,KAAKq2B,IAAMh1B,EAAOi1B,OAAS3R,EAC3B,MAEJ,KAAKnjB,EAAOguB,aACRxvB,KAAK0zB,MAAQryB,EAAOqyB,MAAQhP,EAC5B1kB,KAAKq2B,IAAMh1B,EAAOi1B,OAAS3R,EAInC,OAAO3kB,OAOfwB,EAAO8wC,MAAMhwC,UAAUgzC,QAAU9zC,EAAO0pE,UAAUa,OAAOzpE,UAAUgzC,QACnE9zC,EAAO8wC,MAAMhwC,UAAU2pE,QAAUzqE,EAAO0pE,UAAUa,OAAOzpE,UAAU2pE,QAanEzqE,EAAO0pE,UAAUgB,WAAa,aAY9B1qE,EAAO0pE,UAAUgB,WAAW5pE,UAAUszC,WAAa,WAO/C,OALI51C,KAAKqB,QAAUrB,KAAKqB,OAAOqI,iBAE3B1J,KAAKqB,OAAOqI,gBAAgB1J,MAGzBA,MAaXwB,EAAO0pE,UAAUgB,WAAW5pE,UAAUwzC,WAAa,WAO/C,OALI91C,KAAKqB,QAAUrB,KAAKqB,OAAOsI,iBAE3B3J,KAAKqB,OAAOsI,gBAAgB3J,MAGzBA,MAaXwB,EAAO0pE,UAAUgB,WAAW5pE,UAAUyzC,OAAS,WAO3C,OALI/1C,KAAKqB,QAELrB,KAAKqB,OAAO00C,OAAO/1C,MAGhBA,MAaXwB,EAAO0pE,UAAUgB,WAAW5pE,UAAU0zC,SAAW,WAO7C,OALIh2C,KAAKqB,QAELrB,KAAKqB,OAAO20C,SAASh2C,MAGlBA,MAcXwB,EAAO0pE,UAAUiB,KAAO,aAUxB3qE,EAAO0pE,UAAUiB,KAAKC,QAAU,SAAUC,GAGtC7qE,EAAOgwB,MAAM4C,eAAep0B,KAAMwB,EAAO0pE,UAAUiB,KAAK7pE,WAExDtC,KAAKqsE,cAEL,IAAK,IAAI3pE,EAAI,EAAGA,EAAI2pE,EAAW1pE,OAAQD,IACvC,CACI,IAAIwR,EAAKm4D,EAAW3pE,GAChB4xB,GAAU,EAEH,YAAPpgB,IAEAogB,GAAU,GAGd9yB,EAAOgwB,MAAM4C,eAAep0B,KAAMwB,EAAO0pE,UAAUh3D,GAAI5R,UAAWgyB,GAElEt0B,KAAKqsE,WAAWn4D,IAAM,IAY9B1S,EAAO0pE,UAAUiB,KAAKz6D,KAAO,SAAU3O,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEpDrN,KAAK+C,KAAOA,EACZ/C,KAAKgT,IAAMA,EACXhT,KAAKoU,QAELpU,KAAKY,SAASuG,IAAIpD,EAAGC,GACrBhE,KAAKiD,MAAQ,IAAIzB,EAAOX,MAAMkD,EAAGC,GACjChE,KAAKssE,iBAAmB,IAAI9qE,EAAOX,MAAMkD,EAAGC,GAE5ChE,KAAKw0C,OAAS,IAAIhzC,EAAO+qE,OAAOvsE,MAEhCA,KAAKgC,QAAU,IAAIR,EAAOS,UAEtBjC,KAAKqsE,WAAWG,cAIhBxsE,KAAKmyC,KAAOnyC,KAAKmyC,MAGjBnyC,KAAKqsE,WAAWhB,YAEhBrrE,KAAK0rE,WAAa,IAAIlqE,EAAOirE,iBAAiBzsE,OAG9CA,KAAKqsE,WAAWK,aAAuB,OAAR15D,GAE/BhT,KAAKq5C,YAAYrmC,EAAK3F,GAGtBrN,KAAKqsE,WAAWM,gBAEhB3sE,KAAK6zC,aAAe,IAAIryC,EAAOX,MAAMkD,EAAGC,KAIhDxC,EAAO0pE,UAAUiB,KAAKznE,UAAY,WAE9B,OAAI1E,KAAK+yC,gBAEL/yC,KAAKwC,WACE,IAGXxC,KAAKssE,iBAAiBnlE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAK4sE,iBAAmB5sE,KAAKgB,SAExBhB,KAAKkN,QAAWlN,KAAKqB,OAAO6L,QAMjClN,KAAKiD,MAAMmyB,MAAMp1B,KAAK+C,KAAK+X,OAAO/W,EAAI/D,KAAKuB,eAAe+B,GAAItD,KAAK+C,KAAK+X,OAAO9W,EAAIhE,KAAKuB,eAAegC,IAEnGvD,KAAKkB,UAELlB,KAAKm4C,cAAgBn4C,KAAK+C,KAAKuX,MAAMo1B,wBAGrC1vC,KAAK0rE,YAEL1rE,KAAK0rE,WAAWvmC,SAGhBnlC,KAAKmyC,MAELnyC,KAAKmyC,KAAKztC,YAGd1E,KAAK6sE,qBAEE,IAvBH7sE,KAAKm4C,eAAiB,GACf,KAyBf32C,EAAO0pE,UAAUiB,KAAK7pE,WAMlBS,KAAM,KAQNivB,KAAM,GAUN5d,QAOAi4D,cAUAj3D,EAAG,EAQHo/B,YAAQjuC,EAQRmlE,gBAAYnlE,EAUZyM,IAAK,GAQL/P,MAAO,KAOPinC,OAAO,EAOPoiC,iBAAkB,KAOlBM,iBAAkB,EAQlBz0B,cAAe,EAQf20B,OAAO,EAWP/5B,gBAAgB,EAMhB/wC,QAAS,KAMT+qE,SAAS,EAaT7/D,QAEIhG,IAAK,WAED,OAAOlH,KAAK+sE,SAGhB5lE,IAAK,SAAUC,GAEPA,GAEApH,KAAK+sE,SAAU,EAEX/sE,KAAKmyC,MAAQnyC,KAAKmyC,KAAK3+B,OAAShS,EAAOkxC,QAAQs6B,MAE/ChtE,KAAKmyC,KAAK3D,aAGdxuC,KAAKkB,SAAU,IAIflB,KAAK+sE,SAAU,EAEX/sE,KAAKmyC,MAAQnyC,KAAKmyC,KAAK3+B,OAAShS,EAAOkxC,QAAQs6B,MAE/ChtE,KAAKmyC,KAAK86B,kBAGdjtE,KAAKkB,SAAU,KAY3B2rE,kBAAmB,WAKf,IAFA,IAAInqE,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI+F,EAAQ1I,KAAKyC,SAASC,GAE1BgG,EAAMhE,YAEF1E,OAAS0I,EAAMrH,QAEfqB,MAYZyiC,OAAQ,aAWR+B,WAAY,WAEJlnC,KAAKktE,cAELltE,KAAKgT,IAAI7N,SAGTnF,KAAKqsE,WAAWG,aAEhBhrE,EAAO0pE,UAAUsB,YAAYtlC,WAAW1iC,KAAKxE,MAG7CA,KAAKqsE,WAAWM,eAEhBnrE,EAAO0pE,UAAUyB,cAAczlC,WAAW1iC,KAAKxE,MAGnD,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGwkC,eAkB7B1lC,EAAO0pE,UAAUiC,KAAO,aAExB3rE,EAAO0pE,UAAUiC,KAAK7qE,WASlB8qE,SAAU,KAMVC,MAAO,KAmBPz/D,KAAM,SAAUgtB,EAAM5G,QAELztB,IAATytB,IAAsBA,GAAO,GAE7B4G,GAEI5G,GAA0B,OAAlBh0B,KAAKotE,SAEbptE,KAAKotE,SAASh4C,MAAMwF,EAAK72B,EAAG62B,EAAK52B,EAAG42B,EAAKh9B,MAAOg9B,EAAK/8B,QAEhDm2B,GAA0B,OAAlBh0B,KAAKotE,SAElBptE,KAAKotE,SAAW,IAAI5rE,EAAOS,UAAU24B,EAAK72B,EAAG62B,EAAK52B,EAAG42B,EAAKh9B,MAAOg9B,EAAK/8B,QAItEmC,KAAKotE,SAAWxyC,EAGpB56B,KAAKstE,eAILttE,KAAKqtE,MAAQ,KACbrtE,KAAKotE,SAAW,KAEhBptE,KAAKutE,eAUbD,WAAY,WAER,GAAKttE,KAAKotE,SAAV,CAKA,IAAII,EAAOxtE,KAAKjC,QAAQ6P,KAAK7J,EACzB0pE,EAAOztE,KAAKjC,QAAQ6P,KAAK5J,EACzB0pE,EAAO1tE,KAAKjC,QAAQ6P,KAAKhQ,MACzB+vE,EAAO3tE,KAAKjC,QAAQ6P,KAAK/P,OAE7BmC,KAAKqtE,MAAQ7rE,EAAOS,UAAUiyB,MAAMl0B,KAAKotE,SAAUptE,KAAKqtE,OACxDrtE,KAAKqtE,MAAMtpE,GAAK/D,KAAK4tE,OAAO7pE,EAC5B/D,KAAKqtE,MAAMrpE,GAAKhE,KAAK4tE,OAAO5pE,EAE5B,IAAIkL,EAAKxL,KAAKuC,IAAIjG,KAAK4tE,OAAO7pE,EAAG/D,KAAKqtE,MAAMtpE,GACxCoL,EAAKzL,KAAKuC,IAAIjG,KAAK4tE,OAAO5pE,EAAGhE,KAAKqtE,MAAMrpE,GACxCwK,EAAK9K,KAAK41B,IAAIt5B,KAAK4tE,OAAOl6C,MAAO1zB,KAAKqtE,MAAM35C,OAASxkB,EACrDT,EAAK/K,KAAK41B,IAAIt5B,KAAK4tE,OAAOt3C,OAAQt2B,KAAKqtE,MAAM/2C,QAAUnnB,EAE3DnP,KAAKjC,QAAQ6P,KAAK7J,EAAImL,EACtBlP,KAAKjC,QAAQ6P,KAAK5J,EAAImL,EACtBnP,KAAKjC,QAAQ6P,KAAKhQ,MAAQ4Q,EAC1BxO,KAAKjC,QAAQ6P,KAAK/P,OAAS4Q,EAE3BzO,KAAKjC,QAAQsP,MAAMzP,MAAQ8F,KAAK41B,IAAI9qB,EAAIxO,KAAKotE,SAASxvE,OACtDoC,KAAKjC,QAAQsP,MAAMxP,OAAS6F,KAAK41B,IAAI7qB,EAAIzO,KAAKotE,SAASvvE,QAEvDmC,KAAKjC,QAAQH,MAAQoC,KAAKjC,QAAQsP,MAAMzP,MACxCoC,KAAKjC,QAAQF,OAASmC,KAAKjC,QAAQsP,MAAMxP,OAEzCmC,KAAKjC,QAAQktB,aAEK,WAAdjrB,KAAK+M,MAAsBygE,IAASt+D,GAAMu+D,IAASt+D,GAAMu+D,IAASl/D,GAAMm/D,IAASl/D,IAEjFzO,KAAKjC,QAAQ+Q,gBAAiB,MAiB1CtN,EAAO0pE,UAAU2C,MAAQ,aAEzBrsE,EAAO0pE,UAAU2C,MAAMvrE,WAUnBwrE,QAEI5mE,IAAK,WAED,OAAOlH,KAAKiD,MAAMc,EAAI/D,KAAKssE,iBAAiBvoE,IAapD4lD,QAEIziD,IAAK,WAED,OAAOlH,KAAKiD,MAAMe,EAAIhE,KAAKssE,iBAAiBtoE,IAWpD+pE,QAEI7mE,IAAK,WAED,OAAOlH,KAAKgB,SAAWhB,KAAK4sE,oBAkBxCprE,EAAO0pE,UAAU8C,QAAU,aAE3BxsE,EAAO0pE,UAAU8C,QAAQ1rE,WAQrB+3C,cAAc,EAed73C,QAAS,SAAUo4C,EAAiBJ,GAEhC,GAAkB,OAAdx6C,KAAK+C,OAAiB/C,KAAKq6C,aAA/B,MAEwB9zC,IAApBq0C,IAAiCA,GAAkB,QAChCr0C,IAAnBi0C,IAAgCA,GAAiB,GAErDx6C,KAAKq6C,cAAe,EAEhBr6C,KAAKw0C,QAELx0C,KAAKw0C,OAAOy5B,mBAAmBjuE,MAG/BA,KAAKqB,SAEDrB,KAAKqB,kBAAkBG,EAAO8wC,MAE9BtyC,KAAKqB,OAAO8a,OAAOnc,MAInBA,KAAKqB,OAAOwH,YAAY7I,OAI5BA,KAAKwmC,OAELxmC,KAAKwmC,MAAMhkC,UAGXxC,KAAK0rE,YAEL1rE,KAAK0rE,WAAWlpE,UAGhBxC,KAAKmyC,MAELnyC,KAAKmyC,KAAK3vC,UAGVxC,KAAKw0C,QAELx0C,KAAKw0C,OAAOhyC,UAGhBxC,KAAK+C,KAAK6jC,OAAOsnC,WAAWluE,MAE5B,IAAI0C,EAAI1C,KAAKyC,SAASE,OAEtB,GAAIi4C,EAEA,KAAOl4C,KAEH1C,KAAKyC,SAASC,GAAGF,QAAQo4C,QAK7B,KAAOl4C,KAEH1C,KAAK6I,YAAY7I,KAAKyC,SAASC,IAInC1C,KAAKqtE,QAELrtE,KAAKqtE,MAAQ,KACbrtE,KAAKotE,SAAW,MAGhBptE,KAAK4tE,SAEL5tE,KAAK4tE,OAAS,MAGdpsE,EAAO2sE,OAASnuE,KAAKgT,eAAexR,EAAO2sE,OAE3CnuE,KAAKgT,IAAIo7D,eAAejyD,OAAOnc,KAAKquE,YAAaruE,MAGjDwB,EAAO8sE,YAActuE,KAAKuuE,UAE1BvuE,KAAKuuE,YAGTvuE,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEflB,KAAK0G,QAAU,KACf1G,KAAKuH,KAAO,KACZvH,KAAK+C,KAAO,KAEZ/C,KAAKoU,QAGLpU,KAAKoB,YAAa,EAEdpB,KAAKuE,oBAELvE,KAAKuE,kBAAoB,KACzBvE,KAAKyE,yBAA2B,MAIpCzE,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKsa,MAAQ,KACbta,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,uBACL5C,KAAK6C,wBAGD23C,GAEAx6C,KAAKjC,QAAQyE,SAAQ,GAGzBxC,KAAKq6C,cAAe,EACpBr6C,KAAK+yC,gBAAiB,KAkC9BvxC,EAAO+qE,OAAS,SAAUjpD,GAKtBtjB,KAAKqB,OAASiiB,GAKlB9hB,EAAO+qE,OAAOjqE,WAOVE,QAAS,WAELxC,KAAKwuE,QAAU,KAEXxuE,KAAKyuE,YAAczuE,KAAKyuE,WAAWhiC,UACnCzsC,KAAK0uE,iBAAmB1uE,KAAK0uE,gBAAgBjiC,UAC7CzsC,KAAK2uE,qBAAuB3uE,KAAK2uE,oBAAoBliC,UACrDzsC,KAAK4uE,WAAa5uE,KAAK4uE,UAAUniC,UACjCzsC,KAAK6uE,YAAc7uE,KAAK6uE,WAAWpiC,UACnCzsC,KAAK8uE,gBAAkB9uE,KAAK8uE,eAAeriC,UAC3CzsC,KAAK+uE,gBAAkB/uE,KAAK+uE,eAAetiC,UAE3CzsC,KAAKgvE,cAAgBhvE,KAAKgvE,aAAaviC,UACvCzsC,KAAKivE,aAAejvE,KAAKivE,YAAYxiC,UACrCzsC,KAAKkvE,cAAgBlvE,KAAKkvE,aAAaziC,UACvCzsC,KAAKmvE,YAAcnvE,KAAKmvE,WAAW1iC,UACnCzsC,KAAKovE,cAAgBpvE,KAAKovE,aAAa3iC,UACvCzsC,KAAKqvE,eAAiBrvE,KAAKqvE,cAAc5iC,UACzCzsC,KAAKsvE,aAAetvE,KAAKsvE,YAAY7iC,UAErCzsC,KAAKuvE,mBAAqBvvE,KAAKuvE,kBAAkB9iC,UACjDzsC,KAAKwvE,sBAAwBxvE,KAAKwvE,qBAAqB/iC,UACvDzsC,KAAKyvE,kBAAoBzvE,KAAKyvE,iBAAiBhjC,WAcvDqoB,eAAgB,KAWhBE,mBAAoB,KAWpBthB,UAAW,KAYXg8B,SAAU,KAWVC,UAAW,KAWXC,cAAe,KAWfC,cAAe,KAYfC,YAAa,KAYbC,WAAY,KAaZC,YAAa,KAcbC,UAAW,KAeXC,YAAa,KAiBbzY,aAAc,KAYd0Y,WAAY,KAaZC,iBAAkB,KAalBC,oBAAqB,KAarBC,gBAAiB,MAIrB9uE,EAAO+qE,OAAOjqE,UAAUC,YAAcf,EAAO+qE,OAO7C,IAAK,IAAIgE,KAAQ/uE,EAAO+qE,OAAOjqE,UAEtBd,EAAO+qE,OAAOjqE,UAAU+uB,eAAek/C,IACjB,IAAvBA,EAAKlnE,QAAQ,OACqB,OAAlC7H,EAAO+qE,OAAOjqE,UAAUiuE,IAK5B,SAAWA,EAAMC,GAEb,aAGAxpE,OAAOyF,eAAejL,EAAO+qE,OAAOjqE,UAAWiuE,GAC3CrpE,IAAK,WAED,OAAOlH,KAAKwwE,KAAaxwE,KAAKwwE,GAAW,IAAIhvE,EAAO6gC,WAK5D7gC,EAAO+qE,OAAOjqE,UAAUiuE,EAAO,aAAe,WAE1C,OAAOvwE,KAAKwwE,GAAWxwE,KAAKwwE,GAAS/qC,SAASlgC,MAAMvF,KAAKwwE,GAAUlgD,WAAa,MAfxF,CAiBGigD,EAAM,IAAMA,GAenB/uE,EAAO0pE,UAAUyB,cAAgB,aAQjCnrE,EAAO0pE,UAAUyB,cAAczlC,WAAa,WAEpClnC,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,IAInGxC,EAAO0pE,UAAUyB,cAAcrqE,WAM3BmuE,gBAAgB,EAkBhB78B,eAEI1sC,IAAK,WAED,OAAOlH,KAAKywE,gBAGhBtpE,IAAK,SAAUC,GAEPA,GAEApH,KAAKywE,gBAAiB,EACtBzwE,KAAK6zC,aAAa1sC,IAAInH,KAAK+D,EAAG/D,KAAKgE,IAInChE,KAAKywE,gBAAiB,IAYlC58B,aAAc,IAAIryC,EAAOX,OAiB7BW,EAAO0pE,UAAUwF,OAAS,aAE1BlvE,EAAO0pE,UAAUwF,OAAOpuE,WAUpBquE,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAAU55B,GAYd,OAVIj3C,KAAK6yC,QAEL7yC,KAAK2wE,QAAU15B,EAEXj3C,KAAK2wE,QAAU,GAEf3wE,KAAKq3C,QAINr3C,MAWX8wE,UAAW,SAAU75B,GASjB,OAPAj3C,KAAK2wE,OAAS15B,EAEVj3C,KAAK2wE,OAAS3wE,KAAK4wE,YAEnB5wE,KAAK2wE,OAAS3wE,KAAK4wE,WAGhB5wE,MAUX+wE,KAAM,SAAU95B,GAYZ,OAVIj3C,KAAK6yC,QAEL7yC,KAAK2wE,QAAU15B,EAEXj3C,KAAK2wE,OAAS3wE,KAAK4wE,YAEnB5wE,KAAK2wE,OAAS3wE,KAAK4wE,YAIpB5wE,OAgBfwB,EAAO0pE,UAAU8F,SAAW,aAE5BxvE,EAAO0pE,UAAU8F,SAAS1uE,WAYtBupE,UAEI3kE,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKuf,WAAWx2B,KAAKgC,YAkB/DR,EAAO0pE,UAAU+F,aAAe,aAEhCzvE,EAAO0pE,UAAU+F,aAAa3uE,WAU1BkkC,MAAO,KAkBP+N,cAEIrtC,IAAK,WAED,OAAQlH,KAAKwmC,OAASxmC,KAAKwmC,MAAM6a,SAGrCl6C,IAAK,SAAUC,GAEPA,EAEmB,OAAfpH,KAAKwmC,OAELxmC,KAAKwmC,MAAQ,IAAIhlC,EAAO4wD,aAAapyD,MACrCA,KAAKwmC,MAAMl6B,SAENtM,KAAKwmC,QAAUxmC,KAAKwmC,MAAM6a,SAE/BrhD,KAAKwmC,MAAMl6B,QAIftM,KAAKwmC,OAASxmC,KAAKwmC,MAAM6a,SAEzBrhD,KAAKwmC,MAAMr6B,UAqB3B3K,EAAO0pE,UAAUgG,QAAU,aAQ3B1vE,EAAO0pE,UAAUgG,QAAQxsE,UAAY,WAEjC,GAAI1E,KAAK+yC,eAGL,OADA/yC,KAAKwC,WACE,EAIX,GAAIxC,KAAK4rE,UAAY5rE,KAAK8rE,iBAC1B,CAMI,GALA9rE,KAAKgC,QAAQqzB,SAASr1B,KAAKkK,aAE3BlK,KAAKgC,QAAQ+B,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EACxC/D,KAAKgC,QAAQgC,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAEpChE,KAAK4rE,SAGL,GAAI5rE,KAAK+C,KAAKE,MAAM6X,OAAO7D,KAAKuf,WAAWx2B,KAAKgC,SAE5ChC,KAAKoB,YAAa,EAClBpB,KAAK+C,KAAKE,MAAM6X,OAAOonB,mBAMvB,GAFAliC,KAAKoB,YAAa,EAEdpB,KAAKmxE,sBAGL,OADAnxE,KAAKq3C,QACE,EAKnB,GAAIr3C,KAAK8rE,iBAGL,GAAI9rE,KAAKoxE,mBAAqBpxE,KAAK+C,KAAKE,MAAM6B,OAAO0xB,WAAWx2B,KAAKgC,SAEjEhC,KAAKoxE,mBAAoB,EACzBpxE,KAAKw0C,OAAO68B,uBAAuBrxE,WAElC,IAAKA,KAAKoxE,oBAAsBpxE,KAAK+C,KAAKE,MAAM6B,OAAO0xB,WAAWx2B,KAAKgC,WAGxEhC,KAAKoxE,mBAAoB,EACzBpxE,KAAKw0C,OAAO88B,uBAAuBtxE,MAE/BA,KAAKuxE,iBAGL,OADAvxE,KAAKq3C,QACE,EAMvB,OAAO,GAGX71C,EAAO0pE,UAAUgG,QAAQ5uE,WAmBrBwpE,kBAAkB,EAQlByF,iBAAiB,EASjBJ,uBAAuB,EAMvBC,mBAAmB,EAQnBI,SAEItqE,IAAK,WAED,OAAOlH,KAAK+C,KAAKE,MAAM6B,OAAO0xB,WAAWx2B,KAAKkK,gBAkB1D1I,EAAO0pE,UAAUuG,SAAW,aAQ5BjwE,EAAO0pE,UAAUuG,SAAS/sE,UAAY,WAElC,OAAI1E,KAAK+yC,gBAEL/yC,KAAKwC,WACE,KAGPxC,KAAK0xE,SAAW,IAEhB1xE,KAAK0xE,UAAY1xE,KAAK+C,KAAKwiC,KAAKosC,iBAE5B3xE,KAAK0xE,UAAY,MAEjB1xE,KAAKq3C,QACE,IAOnB71C,EAAO0pE,UAAUuG,SAASnvE,WAatBuwC,OAAO,EAeP6+B,SAAU,EAaVl6B,OAAQ,SAAUm5B,GAkBd,YAhBepqE,IAAXoqE,IAAwBA,EAAS,KAErC3wE,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEe,mBAAnBlB,KAAK8wE,WAEZ9wE,KAAK8wE,UAAUH,GAGf3wE,KAAKw0C,QAELx0C,KAAKw0C,OAAOo9B,mBAAmB5xE,MAG5BA,MAgBXq3C,KAAM,WAWF,OATAr3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEXlB,KAAKw0C,QAELx0C,KAAKw0C,OAAOq9B,kBAAkB7xE,MAG3BA,OAgBfwB,EAAO0pE,UAAUwB,YAAc,aAE/BlrE,EAAO0pE,UAAUwB,YAAYpqE,WAMzB4qE,cAAc,EAMdU,OAAQ,KAyBRv0B,YAAa,SAAUrmC,EAAK3F,EAAOykE,GAE3B9+D,IAAQxR,EAAOusB,eAEf/a,EAAM3F,EACNA,EAAQ,GAIRA,EAAQA,GAAS,GAGhBykE,QAAmCvrE,IAAlBurE,IAAgC9xE,KAAK0rE,YAEvD1rE,KAAK0rE,WAAWv/D,OAGpBnM,KAAKgT,IAAMA,EACXhT,KAAKktE,cAAe,EACpB,IAAIlzD,EAAQha,KAAK+C,KAAKiX,MAElB+Q,GAAW,EACXy0B,EAAWx/C,KAAKjC,QAAQqI,YAAYtI,YAAcU,KAAKC,WAAWC,OAEtE,GAAI8C,EAAOyD,eAAiB+N,aAAexR,EAAOyD,cAE9CjF,KAAKgT,IAAMA,EAAIA,IACfhT,KAAKsN,WAAW0F,QAEf,GAAIxR,EAAOuwE,YAAc/+D,aAAexR,EAAOuwE,WAEhD/xE,KAAKktE,cAAe,EAEpBltE,KAAKsN,WAAW0F,EAAIjV,SAIhBgtB,EAFA/Q,EAAMg4D,aAAah/D,EAAIA,IAAKxR,EAAOmtC,MAAM5hB,aAE7B/sB,KAAK0rE,WAAWuG,cAAcj4D,EAAMk4D,aAAal/D,EAAIA,IAAKxR,EAAOmtC,MAAM5hB,YAAa1f,IAIpFrN,KAAK0rE,WAAWuG,cAAcj/D,EAAIm/D,UAAW,QAG5D,GAAI3wE,EAAO2sE,OAASn7D,aAAexR,EAAO2sE,MAC/C,CACInuE,KAAKktE,cAAe,EAGpB,IAAIz/D,EAAQuF,EAAIjV,QAAQ0P,MACxBzN,KAAKsN,WAAW0F,EAAIjV,SACpBiC,KAAK+qB,SAAS/X,EAAIjV,QAAQsP,MAAM6mB,SAChClhB,EAAIo7D,eAAen1C,IAAIj5B,KAAKquE,YAAaruE,MACzCA,KAAKjC,QAAQ0P,MAAQA,OAEpB,GAAIjM,EAAO4wE,SAAWp/D,aAAexR,EAAO6wE,aAI7CryE,KAAKsN,WAAW9O,KAAKqO,QAAQ6d,WAAW1X,EAAIkE,cAE3C,GAAIlE,aAAexU,KAAKqO,QAEzB2yC,EAAWxsC,EAAI5M,YAAYtI,YAAcU,KAAKC,WAAWC,OAEzDsB,KAAKsN,WAAW0F,OAGpB,CACI,IAAIs/D,EAAMt4D,EAAMu4D,SAASv/D,GAAK,GAE9BhT,KAAKgT,IAAMs/D,EAAIt/D,IACfhT,KAAKsN,WAAW,IAAI9O,KAAKqO,QAAQylE,EAAIl4D,OAIjCpa,KAAKjC,QAAQqI,YAAYoH,WAFjB,cAARwF,EASJ+X,GAAY/qB,KAAK0rE,WAAWuG,cAAcK,EAAIH,UAAW9kE,GAGzD0d,IAEA/qB,KAAK4tE,OAASpsE,EAAOS,UAAUiyB,MAAMl0B,KAAKjC,QAAQsP,QAGjDmyC,IAEDx/C,KAAKjC,QAAQqI,YAAYtI,UAAY,IAY7CitB,SAAU,SAAU1d,GAEhBrN,KAAK4tE,OAASvgE,EAEdrN,KAAKjC,QAAQsP,MAAMtJ,EAAIsJ,EAAMtJ,EAC7B/D,KAAKjC,QAAQsP,MAAMrJ,EAAIqJ,EAAMrJ,EAC7BhE,KAAKjC,QAAQsP,MAAMzP,MAAQyP,EAAMzP,MACjCoC,KAAKjC,QAAQsP,MAAMxP,OAASwP,EAAMxP,OAElCmC,KAAKjC,QAAQ6P,KAAK7J,EAAIsJ,EAAMtJ,EAC5B/D,KAAKjC,QAAQ6P,KAAK5J,EAAIqJ,EAAMrJ,EAC5BhE,KAAKjC,QAAQ6P,KAAKhQ,MAAQyP,EAAMzP,MAChCoC,KAAKjC,QAAQ6P,KAAK/P,OAASwP,EAAMxP,OAE7BwP,EAAMmlE,SAEFxyE,KAAKjC,QAAQqQ,MAEbpO,KAAKjC,QAAQqQ,KAAKrK,EAAIsJ,EAAMolE,kBAC5BzyE,KAAKjC,QAAQqQ,KAAKpK,EAAIqJ,EAAMqlE,kBAC5B1yE,KAAKjC,QAAQqQ,KAAKxQ,MAAQyP,EAAMslE,YAChC3yE,KAAKjC,QAAQqQ,KAAKvQ,OAASwP,EAAMulE,aAIjC5yE,KAAKjC,QAAQqQ,MAASrK,EAAGsJ,EAAMolE,kBAAmBzuE,EAAGqJ,EAAMqlE,kBAAmB90E,MAAOyP,EAAMslE,YAAa90E,OAAQwP,EAAMulE,aAG1H5yE,KAAKjC,QAAQH,MAAQyP,EAAMslE,YAC3B3yE,KAAKjC,QAAQF,OAASwP,EAAMulE,YAC5B5yE,KAAKjC,QAAQsP,MAAMzP,MAAQyP,EAAMslE,YACjC3yE,KAAKjC,QAAQsP,MAAMxP,OAASwP,EAAMulE,cAE5BvlE,EAAMmlE,SAAWxyE,KAAKjC,QAAQqQ,OAEpCpO,KAAKjC,QAAQqQ,KAAO,MAGpBf,EAAMqB,UAEN1O,KAAKjC,QAAQ2Q,SAAU,GAGvB1O,KAAKotE,UAELptE,KAAKstE,aAGTttE,KAAKjC,QAAQ+Q,gBAAiB,EAE9B9O,KAAKjC,QAAQktB,aAETjrB,KAAKqkB,gBAELrkB,KAAK6yE,gBAAiB,IAe9BxE,YAAa,SAAUhtE,EAAQzD,EAAOC,GAElCmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GACjCmC,KAAKjC,QAAQgtB,SAAS/qB,KAAKjC,QAAQsP,QAQvCkgE,WAAY,WAEJvtE,KAAK4tE,QAEL5tE,KAAK+qB,SAAS/qB,KAAK4tE,SAiB3BvgE,OAEInG,IAAK,WAED,OAAOlH,KAAK0rE,WAAWr+D,OAG3BlG,IAAK,SAAUC,GAEXpH,KAAK0rE,WAAWr+D,MAAQjG,IAkBhC0rE,WAEI5rE,IAAK,WAED,OAAOlH,KAAK0rE,WAAWoH,WAG3B3rE,IAAK,SAAUC,GAEXpH,KAAK0rE,WAAWoH,UAAY1rE,KAkBxC5F,EAAO0pE,UAAU6H,QAAU,aAE3BvxE,EAAO0pE,UAAU6H,QAAQzwE,WAerB0wE,QAAS,SAAU/3D,GAEf,OAAOzZ,EAAOS,UAAUu0B,WAAWx2B,KAAKkK,YAAa+Q,EAAc/Q,eAiB3E1I,EAAO0pE,UAAUsB,YAAc,aAQ/BhrE,EAAO0pE,UAAUsB,YAAY9nE,UAAY,WAErC,OAAI1E,KAAK+yC,gBAEL/yC,KAAKwC,WACE,GAGPxC,KAAK8sE,OAAS9sE,KAAKkN,QAEnBlN,KAAKiD,MAAMmyB,MAAMp1B,KAAKqB,OAAOT,SAASmD,EAAI/D,KAAKY,SAASmD,EAAG/D,KAAKqB,OAAOT,SAASoD,EAAIhE,KAAKY,SAASoD,GAClGhE,KAAKuB,eAAe+B,GAAKtD,KAAKiD,MAAMc,EACpC/D,KAAKuB,eAAegC,GAAKvD,KAAKiD,MAAMe,EAEpChE,KAAKssE,iBAAiBnlE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAK4sE,iBAAmB5sE,KAAKgB,SAEzBhB,KAAKmyC,MAELnyC,KAAKmyC,KAAKztC,YAGd1E,KAAK8sE,OAAQ,EAEb9sE,KAAK6sE,qBAEE,IAGX7sE,KAAKssE,iBAAiBnlE,IAAInH,KAAKiD,MAAMc,EAAG/D,KAAKiD,MAAMe,GACnDhE,KAAK4sE,iBAAmB5sE,KAAKgB,YAExBhB,KAAK+sE,UAAY/sE,KAAKqB,OAAO6L,UAE9BlN,KAAKm4C,eAAiB,GACf,KAYf32C,EAAO0pE,UAAUsB,YAAYtlC,WAAa,WAElClnC,KAAKkN,QAAUlN,KAAKmyC,MAEpBnyC,KAAKmyC,KAAKjL,cAIlB1lC,EAAO0pE,UAAUsB,YAAYlqE,WAqBzB6vC,KAAM,KAONpuC,GAEImD,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,EAEdpH,KAAKmyC,OAASnyC,KAAKmyC,KAAK3gC,QAExBxR,KAAKmyC,KAAK8gC,QAAS,KAW/BjvE,GAEIkD,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,EAEdpH,KAAKmyC,OAASnyC,KAAKmyC,KAAK3gC,QAExBxR,KAAKmyC,KAAK8gC,QAAS,MAmBnCzxE,EAAO0pE,UAAUgI,MAAQ,aAkBzB1xE,EAAO0pE,UAAUgI,MAAM5wE,UAAU8jC,MAAQ,SAAUriC,EAAGC,EAAG2sE,GA+BrD,YA7BepqE,IAAXoqE,IAAwBA,EAAS,GAErC3wE,KAAKiD,MAAMkE,IAAIpD,EAAGC,GAClBhE,KAAKY,SAASuG,IAAIpD,EAAGC,GAErBhE,KAAK8sE,OAAQ,EACb9sE,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EACflB,KAAKoB,YAAa,EAEdpB,KAAKqsE,WAAW6E,UAEhBlxE,KAAKoxE,mBAAoB,GAGzBpxE,KAAKqsE,WAAWoF,WAEhBzxE,KAAK6yC,OAAQ,EACb7yC,KAAK2wE,OAASA,GAGd3wE,KAAKqsE,WAAWG,aAEZxsE,KAAKmyC,MAELnyC,KAAKmyC,KAAK/L,MAAMriC,EAAGC,GAAG,GAAO,GAI9BhE,MAcXwB,EAAO0pE,UAAUiI,YAAc,aAE/B3xE,EAAO0pE,UAAUiI,YAAY7wE,WAMzBiC,kBAAmB,KAMnBE,yBAA0BzE,KAU1BozE,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAU7vE,GAElBzD,KAAKozE,WAED3vE,EAAGP,EAAIlD,KAAKozE,SAASrvE,IAErBN,EAAGP,EAAIlD,KAAKozE,SAASrvE,GAGrBN,EAAGJ,EAAIrD,KAAKozE,SAASpvE,IAErBP,EAAGJ,EAAIrD,KAAKozE,SAASpvE,IAIzBhE,KAAKqzE,WAED5vE,EAAGP,EAAIlD,KAAKqzE,SAAStvE,IAErBN,EAAGP,EAAIlD,KAAKqzE,SAAStvE,GAGrBN,EAAGJ,EAAIrD,KAAKqzE,SAASrvE,IAErBP,EAAGJ,EAAIrD,KAAKqzE,SAASrvE,KA8BjCuvE,eAAgB,SAAU3oE,EAAME,EAAMC,EAAMC,QAE3BzE,IAATuE,EAGAA,EAAOC,EAAOC,EAAOJ,OAEPrE,IAATwE,IAGLA,EAAOC,EAAOF,EACdA,EAAOF,GAGE,OAATA,EAEA5K,KAAKozE,SAAW,KAGhBpzE,KAAKozE,SAELpzE,KAAKozE,SAASjsE,IAAIyD,EAAME,GAIxB9K,KAAKozE,SAAW,IAAI5xE,EAAOX,MAAM+J,EAAME,GAG9B,OAATC,EAEA/K,KAAKqzE,SAAW,KAGhBrzE,KAAKqzE,SAELrzE,KAAKqzE,SAASlsE,IAAI4D,EAAMC,GAIxBhL,KAAKqzE,SAAW,IAAI7xE,EAAOX,MAAMkK,EAAMC,GAGrB,OAAlBhL,KAAKozE,SAELpzE,KAAKuE,kBAAoB,MAIzBvE,KAAKuE,kBAAoBvE,KAAKszE,eAC9BtzE,KAAKyE,yBAA2BzE,QAiB5CwB,EAAO0pE,UAAUsI,SAAW,aAE5BhyE,EAAO0pE,UAAUsI,SAASlxE,WAWtBk9C,UAEIt4C,IAAK,WAED,OAAQlH,KAAKjC,QAAQqI,YAAYtI,WAGrCqJ,IAAK,SAAUC,GAEPA,EAEIpH,KAAKjC,SAEsC,IAAvCiC,KAAKjC,QAAQqI,YAAYtI,YAEzBkC,KAAKjC,QAAQqI,YAAYtI,UAAY,EACrCkC,KAAKjC,QAAQqI,YAAYoL,SAI5BxR,KAAKjC,SAEiC,IAAvCiC,KAAKjC,QAAQqI,YAAYtI,YAEzBkC,KAAKjC,QAAQqI,YAAYtI,UAAY,EACrCkC,KAAKjC,QAAQqI,YAAYoL,YAyB7ChQ,EAAO+7C,kBAAoB,SAAUx6C,GAMjC/C,KAAK+C,KAAOA,EAMZ/C,KAAKiD,MAAQjD,KAAK+C,KAAKE,OAG3BzB,EAAO+7C,kBAAkBj7C,WASrBmxE,SAAU,SAAUh6B,GAEhB,OAAOz5C,KAAKiD,MAAMg2B,IAAIwgB,IAwB1Bi6B,OAAQ,SAAU3+B,EAAU/hC,EAAK3F,EAAOktC,EAAOo5B,GAE3C,IAAID,EAAS1zE,KAAK+C,KAAKqsC,QAAQnW,IAAIz3B,EAAOoyE,QAS1C,OAPID,IAEAD,EAAOC,YAAcA,GAGzBD,EAAOG,cAAc9+B,EAAU/hC,EAAK3F,EAAOktC,GAEpCm5B,GAmBXx5D,MAAO,SAAUnW,EAAGC,EAAGgP,EAAK3F,EAAOktC,GAI/B,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAOsyE,MAAM9zE,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,KAkB5DiW,OAAQ,SAAUvf,EAAGC,EAAGgP,EAAK3F,EAAOktC,GAIhC,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAOsE,OAAO9F,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,KA2B7D0mE,SAAU,SAAUhwE,EAAGC,EAAGgP,EAAKghE,EAAMz5B,EAAO05B,EAAWC,QAErC3tE,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAExC,IAAI8uB,EAAM,IAAIvwB,EAAOolD,SAAS5mD,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAKghE,EAAMC,EAAWC,GAIrE,OAFA35B,EAAMthB,IAAIlH,GAEHA,GAYXoiD,MAAO,SAAU16B,GAEb,OAAOz5C,KAAK+C,KAAK6jC,OAAOp+B,OAAOixC,IAcnCc,MAAO,SAAUl5C,EAAQ2wB,EAAMugB,EAAYC,EAAYC,GAEnD,OAAO,IAAIjxC,EAAO8wC,MAAMtyC,KAAK+C,KAAM1B,EAAQ2wB,EAAMugB,EAAYC,EAAYC,IAgB7E2hC,aAAc,SAAU3hC,EAAiBpxC,EAAQ2wB,EAAMugB,GAEnD,OAAO,IAAI/wC,EAAO8wC,MAAMtyC,KAAK+C,KAAM1B,EAAQ2wB,EAAMugB,GAAY,EAAME,IAcvE1mC,YAAa,SAAU1K,EAAQ2wB,EAAMugB,GAMjC,YAJehsC,IAAXlF,IAAwBA,EAAS,WACxBkF,IAATyrB,IAAsBA,EAAO,cACdzrB,IAAfgsC,IAA4BA,GAAa,GAEtC,IAAI/wC,EAAO6yE,YAAYr0E,KAAK+C,KAAM1B,EAAQ2wB,EAAMugB,IAa3D+hC,MAAO,SAAUthE,EAAKuuB,EAAQiqC,EAAMtP,GAEhC,OAAOl8D,KAAK+C,KAAK2jC,MAAMzN,IAAIjmB,EAAKuuB,EAAQiqC,EAAMtP,IAalDx1B,MAAO,SAAU1zB,EAAKuuB,EAAQiqC,EAAMtP,GAEhC,OAAOl8D,KAAK+C,KAAK2jC,MAAMzN,IAAIjmB,EAAKuuB,EAAQiqC,EAAMtP,IAUlDqY,YAAa,SAAUvhE,GAEnB,OAAOhT,KAAK+C,KAAK2jC,MAAM8tC,UAAUxhE,IAgBrCyhE,WAAY,SAAU1wE,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,EAAOktC,GAInD,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAOqlD,WAAW7mD,KAAK+C,KAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,KAiBhFqnE,KAAM,SAAU3wE,EAAGC,EAAGgP,EAAK3F,EAAOixB,EAAQic,GAItC,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAOmzE,KAAK30E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOixB,KAclEs2C,KAAM,SAAU7wE,EAAGC,EAAG4wE,EAAMt5D,EAAOi/B,GAI/B,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAOqzE,KAAK70E,KAAK+C,KAAMgB,EAAGC,EAAG4wE,EAAMt5D,KAmB5D8wC,OAAQ,SAAUroD,EAAGC,EAAGgP,EAAKgiC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,EAAS16B,GAI7F,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAO0zE,OAAOl1E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAKgiC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,KAYxHz2D,SAAU,SAAUza,EAAGC,EAAGu2C,GAItB,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAOwiC,SAAShkC,KAAK+C,KAAMgB,EAAGC,KAgBvDmxE,QAAS,SAAUpxE,EAAGC,EAAGoxE,GAErB,OAAOp1E,KAAK+C,KAAK8jC,UAAU5N,IAAI,IAAIz3B,EAAOs8C,UAAUu3B,OAAOC,QAAQt1E,KAAK+C,KAAMgB,EAAGC,EAAGoxE,KAyBxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIx0E,EAAOy0E,UAAUj2E,KAAK+C,KAAMyyE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IA+BnIE,WAAY,SAAUnyE,EAAGC,EAAGwxE,EAAMZ,EAAM9yD,EAAMy4B,GAI1C,YAFch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAKiD,OAEjCs3C,EAAMthB,IAAI,IAAIz3B,EAAO8sE,WAAWtuE,KAAK+C,KAAMgB,EAAGC,EAAGwxE,EAAMZ,EAAM9yD,KAoBxEq0D,QAAS,SAAUnjE,EAAKojE,EAAWC,EAAYz4E,EAAOC,GAElD,OAAO,IAAI2D,EAAO4wE,QAAQpyE,KAAK+C,KAAMiQ,EAAKojE,EAAWC,EAAYz4E,EAAOC,IAa5EmH,cAAe,SAAUpH,EAAOC,EAAQmV,EAAKsjE,QAE7B/vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK2iC,IAAI6wC,aACxChwE,IAAf+vE,IAA4BA,GAAa,GAE7C,IAAIv4E,EAAU,IAAIyD,EAAOyD,cAAcjF,KAAK+C,KAAMnF,EAAOC,EAAQmV,GAOjE,OALIsjE,GAEAt2E,KAAK+C,KAAKiX,MAAMw8D,iBAAiBxjE,EAAKjV,GAGnCA,GAaX04E,MAAO,SAAUzjE,EAAK0jE,GAElB,OAAO,IAAIl1E,EAAO2sE,MAAMnuE,KAAK+C,KAAMiQ,EAAK0jE,IAe5CC,WAAY,SAAU/4E,EAAOC,EAAQmV,EAAKsjE,QAEnB/vE,IAAf+vE,IAA4BA,GAAa,QACjC/vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK2iC,IAAI6wC,QAE3D,IAAIx4E,EAAU,IAAIyD,EAAOuwE,WAAW/xE,KAAK+C,KAAMiQ,EAAKpV,EAAOC,GAO3D,OALIy4E,GAEAt2E,KAAK+C,KAAKiX,MAAM48D,cAAc5jE,EAAKjV,GAGhCA,GAWXuoB,OAAQ,SAAUA,GAEd,IAAI6J,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAMjD,OAJIhK,EAAS,IAAI9kB,EAAOwhB,OAAOsD,GAAQtmB,KAAK+C,OAErC2O,KAAKnM,MAAM+gB,EAAQ6J,GAEnB7J,GAaXipB,OAAQ,WAEJ,OAAOvvC,KAAK+C,KAAKqsC,QAAQnW,IAAI1zB,MAAMvF,KAAK+C,KAAKqsC,QAAS9e,aAK9D9uB,EAAO+7C,kBAAkBj7C,UAAUC,YAAcf,EAAO+7C,kBAgBxD/7C,EAAOg8C,kBAAoB,SAAUz6C,GAMjC/C,KAAK+C,KAAOA,EAMZ/C,KAAKiD,MAAQjD,KAAK+C,KAAKE,OAG3BzB,EAAOg8C,kBAAkBl7C,WAerB4X,MAAO,SAAUnW,EAAGC,EAAGgP,EAAK3F,GAExB,OAAO,IAAI7L,EAAOsyE,MAAM9zE,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,IAalDiW,OAAQ,SAAUvf,EAAGC,EAAGgP,EAAK3F,GAEzB,OAAO,IAAI7L,EAAOsE,OAAO9F,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,IAYnD8mE,MAAO,SAAUpiD,GAEb,OAAO,IAAIvwB,EAAOq1E,MAAM9kD,EAAK/xB,KAAK+C,KAAM/C,KAAK+C,KAAK6jC,SActD2T,MAAO,SAAUl5C,EAAQ2wB,EAAMugB,EAAYC,EAAYC,GAEnD,OAAO,IAAIjxC,EAAO8wC,MAAMtyC,KAAK+C,KAAM1B,GAAU,KAAM2wB,EAAMugB,EAAYC,EAAYC,IAYrF1mC,YAAa,SAAU1K,EAAQ2wB,EAAMugB,GAKjC,YAHahsC,IAATyrB,IAAsBA,EAAO,cACdzrB,IAAfgsC,IAA4BA,GAAa,GAEtC,IAAI/wC,EAAO6yE,YAAYr0E,KAAK+C,KAAM1B,EAAQ2wB,EAAMugB,IAa3D+hC,MAAO,SAAUthE,EAAKuuB,EAAQiqC,EAAMtP,GAEhC,OAAOl8D,KAAK+C,KAAK2jC,MAAMzN,IAAIjmB,EAAKuuB,EAAQiqC,EAAMtP,IAUlDqY,YAAa,SAAUvhE,GAEnB,OAAOhT,KAAK+C,KAAK2jC,MAAM8tC,UAAUxhE,IAarC0zB,MAAO,SAAU1zB,EAAKuuB,EAAQiqC,EAAMtP,GAEhC,OAAOl8D,KAAK+C,KAAK2jC,MAAMzN,IAAIjmB,EAAKuuB,EAAQiqC,EAAMtP,IAelDuY,WAAY,SAAU1wE,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,GAE5C,OAAO,IAAI7L,EAAOqlD,WAAW7mD,KAAK+C,KAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,IAetEqnE,KAAM,SAAU3wE,EAAGC,EAAGgP,EAAK3F,EAAOixB,GAE9B,OAAO,IAAI98B,EAAOmzE,KAAK30E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOixB,IAaxDs2C,KAAM,SAAU7wE,EAAGC,EAAG4wE,EAAMt5D,GAExB,OAAO,IAAI9Z,EAAOqzE,KAAK70E,KAAK+C,KAAMgB,EAAGC,EAAG4wE,EAAMt5D,IAkBlD8wC,OAAQ,SAAUroD,EAAGC,EAAGgP,EAAKgiC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,GAEpF,OAAO,IAAIzzE,EAAO0zE,OAAOl1E,KAAK+C,KAAMgB,EAAGC,EAAGgP,EAAKgiC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,IAW9Gz2D,SAAU,SAAUza,EAAGC,GAEnB,OAAO,IAAIxC,EAAOwiC,SAAShkC,KAAK+C,KAAMgB,EAAGC,IAgB7CmxE,QAAS,SAAUpxE,EAAGC,EAAGoxE,GAErB,OAAO,IAAI5zE,EAAOs8C,UAAUu3B,OAAOC,QAAQt1E,KAAK+C,KAAMgB,EAAGC,EAAGoxE,IAyBhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAIx0E,EAAOy0E,UAAUj2E,KAAK+C,KAAMyyE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IA+BnIE,WAAY,SAAUnyE,EAAGC,EAAGwxE,EAAMZ,EAAM9yD,EAAMqzB,GAE1C,OAAO,IAAI3zC,EAAO8sE,WAAWtuE,KAAK+C,KAAMgB,EAAGC,EAAGwxE,EAAMZ,EAAM9yD,EAAMqzB,IAmBpEghC,QAAS,SAAUnjE,EAAKojE,EAAWC,EAAYz4E,EAAOC,GAElD,OAAO,IAAI2D,EAAO4wE,QAAQpyE,KAAK+C,KAAMiQ,EAAKojE,EAAWC,EAAYz4E,EAAOC,IAa5EmH,cAAe,SAAUpH,EAAOC,EAAQmV,EAAKsjE,QAE7B/vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK2iC,IAAI6wC,aACxChwE,IAAf+vE,IAA4BA,GAAa,GAE7C,IAAIv4E,EAAU,IAAIyD,EAAOyD,cAAcjF,KAAK+C,KAAMnF,EAAOC,EAAQmV,GAOjE,OALIsjE,GAEAt2E,KAAK+C,KAAKiX,MAAMw8D,iBAAiBxjE,EAAKjV,GAGnCA,GAeX44E,WAAY,SAAU/4E,EAAOC,EAAQmV,EAAKsjE,QAEnB/vE,IAAf+vE,IAA4BA,GAAa,QACjC/vE,IAARyM,GAA6B,KAARA,IAAcA,EAAMhT,KAAK+C,KAAK2iC,IAAI6wC,QAE3D,IAAIx4E,EAAU,IAAIyD,EAAOuwE,WAAW/xE,KAAK+C,KAAMiQ,EAAKpV,EAAOC,GAO3D,OALIy4E,GAEAt2E,KAAK+C,KAAKiX,MAAM48D,cAAc5jE,EAAKjV,GAGhCA,GAWXuoB,OAAQ,SAAUA,GAEd,IAAI6J,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAMjD,OAJIhK,EAAS,IAAI9kB,EAAOwhB,OAAOsD,GAAQtmB,KAAK+C,OAErC2O,KAAKnM,MAAM+gB,EAAQ6J,GAEnB7J,IAKf9kB,EAAOg8C,kBAAkBl7C,UAAUC,YAAcf,EAAOg8C,kBA6CxDh8C,EAAOsE,OAAS,SAAU/C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEvCtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO0qB,OAMnBlsB,KAAK4yC,YAAcpxC,EAAO0qB,OAE1B1tB,KAAKsH,OAAOtB,KAAKxE,KAAMwB,EAAOmtC,MAAMjnB,SAEpClmB,EAAO0pE,UAAUiB,KAAKz6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOsE,OAAOxD,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACpDd,EAAOsE,OAAOxD,UAAUC,YAAcf,EAAOsE,OAE7CtE,EAAO0pE,UAAUiB,KAAKC,QAAQ5nE,KAAKhD,EAAOsE,OAAOxD,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAOsE,OAAOxD,UAAUw0E,iBAAmBt1E,EAAO0pE,UAAUsB,YAAY9nE,UACxElD,EAAOsE,OAAOxD,UAAUy0E,kBAAoBv1E,EAAO0pE,UAAUuG,SAAS/sE,UACtElD,EAAOsE,OAAOxD,UAAU00E,iBAAmBx1E,EAAO0pE,UAAUgG,QAAQxsE,UACpElD,EAAOsE,OAAOxD,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UAS9DlD,EAAOsE,OAAOxD,UAAUoC,UAAY,WAEhC,SAAK1E,KAAK82E,oBAAuB92E,KAAK+2E,qBAAwB/2E,KAAKg3E,qBAK5Dh3E,KAAKi3E,iBAuChBz1E,EAAOsyE,MAAQ,SAAU/wE,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEtCtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO4qB,MAEnB5tB,KAAKsH,OAAOtB,KAAKxE,KAAMwB,EAAOmtC,MAAMjnB,SAEpClmB,EAAO0pE,UAAUiB,KAAKz6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOsyE,MAAMxxE,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACnDd,EAAOsyE,MAAMxxE,UAAUC,YAAcf,EAAOsyE,MAE5CtyE,EAAO0pE,UAAUiB,KAAKC,QAAQ5nE,KAAKhD,EAAOsyE,MAAMxxE,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,cACA,aAGJd,EAAOsyE,MAAMxxE,UAAUy0E,kBAAoBv1E,EAAO0pE,UAAUuG,SAAS/sE,UACrElD,EAAOsyE,MAAMxxE,UAAU00E,iBAAmBx1E,EAAO0pE,UAAUgG,QAAQxsE,UACnElD,EAAOsyE,MAAMxxE,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UAQ7DlD,EAAOsyE,MAAMxxE,UAAUoC,UAAY,WAE/B,SAAK1E,KAAKg3E,qBAAuBh3E,KAAK+2E,sBAK/B/2E,KAAKi3E,iBAqChBz1E,EAAO0zE,OAAS,SAAUnyE,EAAMgB,EAAGC,EAAGgP,EAAKgiC,EAAU1L,EAAiBwrC,EAAWC,EAAUC,EAAWC,GAElGlxE,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACbgiC,EAAWA,GAAY,KACvB1L,EAAkBA,GAAmBtpC,KAErCwB,EAAOsyE,MAAMtvE,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK+hE,GAOzC/0E,KAAKwT,KAAOhS,EAAO2qB,OAMnBnsB,KAAK4yC,YAAcpxC,EAAO0qB,OAO1BlsB,KAAKk3E,aAAe,KAOpBl3E,KAAKm3E,YAAc,KAOnBn3E,KAAKo3E,aAAe,KAOpBp3E,KAAKq3E,WAAa,KAOlBr3E,KAAKs3E,YAAc,KAOnBt3E,KAAKu3E,WAAa,KAOlBv3E,KAAKw3E,YAAc,KAOnBx3E,KAAKy3E,UAAY,KAOjBz3E,KAAK03E,kBAAoB,GAOzB13E,KAAK23E,iBAAmB,GAOxB33E,KAAK43E,kBAAoB,GAOzB53E,KAAK63E,gBAAkB,GAOvB73E,KAAK8vE,YAAc,IAAItuE,EAAO6gC,OAO9BriC,KAAK+vE,WAAa,IAAIvuE,EAAO6gC,OAO7BriC,KAAKgwE,YAAc,IAAIxuE,EAAO6gC,OAO9BriC,KAAKiwE,UAAY,IAAIzuE,EAAO6gC,OAS5BriC,KAAK83E,iBAAkB,EASvB93E,KAAK+3E,yBAA2Bv2E,EAAO6iD,YAAYsB,QAOnD3lD,KAAKg4E,cAAe,EAUpBh4E,KAAKi4E,UAAW,EAEhBj4E,KAAKu0C,cAAe,EAEpBv0C,KAAKwmC,MAAMl6B,MAAM,GAAG,GAEpBtM,KAAKwmC,MAAM6rB,eAAgB,EAE3BryD,KAAKk4E,UAAUpD,EAAWC,EAAUC,EAAWC,GAE9B,OAAbjgC,GAEAh1C,KAAKiwE,UAAUh3C,IAAI+b,EAAU1L,GAIjCtpC,KAAKw0C,OAAOs7B,YAAY72C,IAAIj5B,KAAKm4E,mBAAoBn4E,MACrDA,KAAKw0C,OAAOu7B,WAAW92C,IAAIj5B,KAAKo4E,kBAAmBp4E,MACnDA,KAAKw0C,OAAOw7B,YAAY/2C,IAAIj5B,KAAKq4E,mBAAoBr4E,MACrDA,KAAKw0C,OAAOy7B,UAAUh3C,IAAIj5B,KAAKs4E,iBAAkBt4E,OAGrDwB,EAAO0zE,OAAO5yE,UAAY0E,OAAOwB,OAAOhH,EAAOsyE,MAAMxxE,WACrDd,EAAO0zE,OAAO5yE,UAAUC,YAAcf,EAAO0zE,OA27mDzC,OA96mDJ1zE,EAAO0zE,OAAO5yE,UAAUi2E,YAAc,WAElCv4E,KAAKk4E,UAAU,KAAM,KAAM,KAAM,OAYrC12E,EAAO0zE,OAAO5yE,UAAUk2E,cAAgB,SAAU7xC,EAAOt5B,EAAOorE,GAE5D,IAAIC,EAAW,MAAQ/xC,EAAQ,QAEjB,OAAVt5B,GAEArN,KAAK04E,GAAYrrE,EAEborE,GAEAz4E,KAAK24E,iBAAiBhyC,IAK1B3mC,KAAK04E,GAAY,MAYzBl3E,EAAO0zE,OAAO5yE,UAAUq2E,iBAAmB,SAAUhyC,GAEjD,GAAI3mC,KAAKg4E,aAEL,OAAO,EAGX,IACI3qE,EAAQrN,KADG,MAAQ2mC,EAAQ,SAG/B,MAAqB,iBAAVt5B,GAEPrN,KAAK8yE,UAAYzlE,GACV,GAEe,iBAAVA,IAEZrN,KAAKqN,MAAQA,GACN,IAoBf7L,EAAO0zE,OAAO5yE,UAAU41E,UAAY,SAAUpD,EAAWC,EAAUC,EAAWC,GAE1Ej1E,KAAKw4E,cA3FQ,OA2FkB1D,EAAW90E,KAAKwmC,MAAMovB,eACrD51D,KAAKw4E,cA3FO,MA2FkBzD,GAAW/0E,KAAKwmC,MAAMovB,eACpD51D,KAAKw4E,cA3FQ,OA2FkBxD,EAAWh1E,KAAKwmC,MAAMgvB,eACrDx1D,KAAKw4E,cA3FM,KA2FkBvD,EAASj1E,KAAKwmC,MAAMivB,cAYrDj0D,EAAO0zE,OAAO5yE,UAAUs2E,cAAgB,SAAUjyC,EAAOD,EAAOmyC,GAE5D,IAAIC,EAAW,KAAOnyC,EAAQ,QAC1BoyC,EAAY,KAAOpyC,EAAQ,cAE3BD,aAAiBllC,EAAOw3E,OAAStyC,aAAiBllC,EAAOy3E,aAEzDj5E,KAAK84E,GAAYpyC,EACjB1mC,KAAK+4E,GAA+B,iBAAXF,EAAsBA,EAAS,KAIxD74E,KAAK84E,GAAY,KACjB94E,KAAK+4E,GAAa,KAY1Bv3E,EAAO0zE,OAAO5yE,UAAU42E,eAAiB,SAAUvyC,GAE/C,IACID,EAAQ1mC,KADG,KAAO2mC,EAAQ,SAG9B,GAAID,EACJ,CACI,IACImyC,EAAS74E,KADG,KAAO2mC,EAAQ,eAI/B,OADAD,EAAM4kC,KAAKuN,IACJ,EAIP,OAAO,GAqBfr3E,EAAO0zE,OAAO5yE,UAAU62E,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtH35E,KAAK44E,cAzKQ,OAyKkBQ,EAAWC,GAC1Cr5E,KAAK44E,cAzKO,MAyKkBY,EAAUC,GACxCz5E,KAAK44E,cAzKQ,OAyKkBU,EAAWC,GAC1Cv5E,KAAK44E,cAzKM,KAyKkBc,EAASC,IAW1Cn4E,EAAO0zE,OAAO5yE,UAAUs3E,aAAe,SAAUlzC,EAAOmyC,GAEpD74E,KAAK44E,cAzLQ,OAyLkBlyC,EAAOmyC,IAW1Cr3E,EAAO0zE,OAAO5yE,UAAUu3E,YAAc,SAAUnzC,EAAOmyC,GAEnD74E,KAAK44E,cArMO,MAqMkBlyC,EAAOmyC,IAWzCr3E,EAAO0zE,OAAO5yE,UAAUw3E,aAAe,SAAUpzC,EAAOmyC,GAEpD74E,KAAK44E,cAjNQ,OAiNkBlyC,EAAOmyC,IAW1Cr3E,EAAO0zE,OAAO5yE,UAAUy3E,WAAa,SAAUrzC,EAAOmyC,GAElD74E,KAAK44E,cA7NM,KA6NkBlyC,EAAOmyC,IAWxCr3E,EAAO0zE,OAAO5yE,UAAU61E,mBAAqB,SAAU70D,EAAQ+qB,GAEvDA,EAAQ6d,iBACPlsD,KAAK+3E,yBAA2B1pC,EAAQ8d,eAAiB9d,EAAQ8d,cAMtEnsD,KAAK24E,iBApPQ,QAsPT34E,KAAK83E,kBAAoBzpC,EAAQqf,UAKrC1tD,KAAKk5E,eA3PQ,QA6PTl5E,KAAK8vE,aAEL9vE,KAAK8vE,YAAYrqC,SAASzlC,KAAMquC,MAYxC7sC,EAAO0zE,OAAO5yE,UAAU81E,kBAAoB,SAAU90D,EAAQ+qB,GAE1DruC,KAAK24E,iBA5QO,OA8QZ34E,KAAKk5E,eA9QO,OAgRRl5E,KAAK+vE,YAEL/vE,KAAK+vE,WAAWtqC,SAASzlC,KAAMquC,IAYvC7sC,EAAO0zE,OAAO5yE,UAAU+1E,mBAAqB,SAAU/0D,EAAQ+qB,GAE3DruC,KAAK24E,iBA/RQ,QAiSb34E,KAAKk5E,eAjSQ,QAmSTl5E,KAAKgwE,aAELhwE,KAAKgwE,YAAYvqC,SAASzlC,KAAMquC,IAaxC7sC,EAAO0zE,OAAO5yE,UAAUg2E,iBAAmB,SAAUh1D,EAAQ+qB,EAASomB,GAElEz0D,KAAKk5E,eAnTM,MAsTPl5E,KAAKiwE,WAELjwE,KAAKiwE,UAAUxqC,SAASzlC,KAAMquC,EAASomB,GAGvCz0D,KAAKg4E,gBAKa,IAAlBh4E,KAAKi4E,WAAsBj4E,KAAKi4E,SAAW5pC,EAAQ8d,eAAiB9d,EAAQ8d,YAE5EnsD,KAAK24E,iBApUG,OAwUQ34E,KAAK24E,iBAtUd,QA0UClkB,EAEAz0D,KAAK24E,iBA/UJ,QAmVD34E,KAAK24E,iBAlVL,UA8WhBn3E,EAAO6yE,YAAc,SAAUtxE,EAAM1B,EAAQ2wB,EAAMugB,QAEhChsC,IAAXlF,GAAmC,OAAXA,IAAmBA,EAAS0B,EAAKE,OAE7DzB,EAAO8wC,MAAM9tC,KAAKxE,KAAM+C,EAAM1B,EAAQ2wB,EAAMugB,GAM5CvyC,KAAKwT,KAAOhS,EAAO2rB,YAMnBntB,KAAKg6E,gBAAkB,KAMvBh6E,KAAKi6E,OAAQ,GAGjBz4E,EAAO6yE,YAAY/xE,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WAE1Dd,EAAO6yE,YAAY/xE,UAAUC,YAAcf,EAAO6yE,YAUlD7yE,EAAO6yE,YAAY/xE,UAAUyD,aAAe,SAAUH,IAE7C5F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,SAKlD3C,KAAKi6E,QAENj6E,KAAKg6E,gBAAkB,IAAIx7E,KAAKqnB,qBAAqBjgB,EAAcjI,IAEnEqC,KAAKi6E,OAAQ,GAGbj6E,KAAKg6E,gBAAgBr8E,KAAOiI,EAAcjI,IAE1CqC,KAAKg6E,gBAAgB9gE,WAAWtT,EAAcjI,IAGlDiI,EAAcmG,YAAYI,OAE1BvG,EAAc8R,cAAcoI,UAAUla,EAAc8R,cAAcwJ,YAElElhB,KAAKg6E,gBAAgB5+D,MAAMpb,KAAM4F,GACjC5F,KAAKg6E,gBAAgB70E,OAAOnF,MAE5B4F,EAAcmG,YAAYO,UAW9B9K,EAAO6yE,YAAY/xE,UAAU0D,cAAgB,SAAUJ,GAEnD,GAAK5F,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,OAAvD,CAKA,IAAImL,EAAUlI,EAAckI,QAE5BA,EAAQG,YAAcjO,KAAKsB,WAE3BtB,KAAK+G,+BAML,IAAK,IAJDqhB,EAAYpoB,KAAKuB,eAEjB24E,GAAY,EAEPx3E,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAIgG,EAAQ1I,KAAKyC,SAASC,GAE1B,GAAKgG,EAAMxH,QAAX,CAKA,IAAInD,EAAU2K,EAAM3K,QAChBsP,EAAQtP,EAAQsP,MAIpB,GAFAS,EAAQG,YAAcjO,KAAKsB,WAAaoH,EAAMzH,MAE1CyH,EAAM1H,UAAsB,EAAV0C,KAAKsxB,KAAY,EAI/BklD,IAEApsE,EAAQe,aAAauZ,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,EAAGglB,EAAU/kB,EAAG+kB,EAAU9kB,GAAI8kB,EAAU7kB,IACjG22E,GAAY,GAGhBpsE,EAAQmB,UACJlR,EAAQqI,YAAYgJ,OACpB/B,EAAMtJ,EACNsJ,EAAMrJ,EACNqJ,EAAMzP,MACNyP,EAAMxP,OACJ6K,EAAM/B,OAAQ,IAAM0G,EAAMzP,MAAQ8K,EAAM5H,MAAMiD,GAAK2E,EAAM9H,SAASmD,EAAI,GAAM6B,EAAc0I,OAAU,EACpG5F,EAAM/B,OAAQ,IAAM0G,EAAMxP,OAAS6K,EAAM5H,MAAMkD,GAAK0E,EAAM9H,SAASoD,EAAI,GAAM4B,EAAc2I,OAAU,EACvGlB,EAAMzP,MAAQ8K,EAAM5H,MAAMiD,EAC1BsJ,EAAMxP,OAAS6K,EAAM5H,MAAMkD,OAGnC,CACSk2E,IAEDA,GAAY,GAGhBxxE,EAAM3B,+BAEN,IAAIozE,EAAiBzxE,EAAMnH,eACvB+B,EAAM62E,EAAe72E,GAAKsC,EAAchB,WAAcgB,EAAc0I,OACpE/K,EAAM42E,EAAe52E,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAIpE3I,EAAcgJ,YAEdd,EAAQe,aAAasrE,EAAej3E,EAAGi3E,EAAeh3E,EAAGg3E,EAAe/2E,EAAG+2E,EAAe92E,EAAQ,EAALC,EAAa,EAALC,GAIrGuK,EAAQe,aAAasrE,EAAej3E,EAAGi3E,EAAeh3E,EAAGg3E,EAAe/2E,EAAG+2E,EAAe92E,EAAGC,EAAIC,GAGrGuK,EAAQmB,UACJlR,EAAQqI,YAAYgJ,OACpB/B,EAAMtJ,EACNsJ,EAAMrJ,EACNqJ,EAAMzP,MACNyP,EAAMxP,OACJ6K,EAAM/B,OAAQ,GAAM0G,EAAMzP,MAAS,GAAO,EAC1C8K,EAAM/B,OAAQ,GAAM0G,EAAMxP,OAAU,GAAO,EAC7CwP,EAAMzP,MACNyP,EAAMxP,aA4BtB2D,EAAOuwE,WAAa,SAAUhvE,EAAMiQ,EAAKpV,EAAOC,EAAQu8E,QAEtC7zE,IAAV3I,GAAiC,IAAVA,IAAeA,EAAQ,UACnC2I,IAAX1I,GAAmC,IAAXA,IAAgBA,EAAS,UACpC0I,IAAb6zE,IAA0BA,GAAW,GAKzCp6E,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAKXhT,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKkX,OAAS1V,EAAOioB,OAAOjhB,OAAOxI,KAAMpC,EAAOC,EAAQ,KAAMu8E,GAM9Dp6E,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAAQvX,OAAO,IAKrDjB,KAAKq6E,IAAMr6E,KAAK8N,QAKhB9N,KAAKkO,eAAkBnL,EAAK2nC,aAAelpC,EAAO+nB,OAAUxmB,EAAK8B,SAASe,cAAcsI,eAAiB1M,EAAOioB,OAAOC,mBAAmB1pB,KAAK8N,SAO/I9N,KAAKs6E,UAAYt6E,KAAK8N,QAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAOxDmC,KAAKoU,KAAO,KAERpU,KAAKs6E,YAELt6E,KAAKoU,KAAOpU,KAAKs6E,UAAUlmE,MAM/BpU,KAAKmpB,OAAS,KAKVnpB,KAAKoU,OAEDpU,KAAKs6E,UAAUlmE,KAAK8G,QAEpBlb,KAAKkb,OAASlb,KAAKs6E,UAAUlmE,KAAK8G,OAClClb,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAGnC9K,OAAO+R,aAEPniB,KAAKkb,OAAS,IAAIiH,YAAYniB,KAAKs6E,UAAUlmE,KAAKzR,QAClD3C,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAInClb,KAAKmpB,OAASnpB,KAAKs6E,UAAUlmE,MAQrCpU,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAAYnqB,KAAKkX,OAAQ,KAAMlX,KAAK+C,KAAK6B,YAMrE5E,KAAKjC,QAAU,IAAIS,KAAKqO,QAAQ7M,KAAKoG,aAKrCpG,KAAKmyE,UAAY,IAAI3wE,EAAO+4E,UAM5Bv6E,KAAKw6E,aAAex6E,KAAKmyE,UAAUsI,SAAS,IAAIj5E,EAAOk5E,MAAM,EAAG,EAAG,EAAG98E,EAAOC,EAAQ,eAErFmC,KAAKjC,QAAQsP,MAAQrN,KAAKw6E,aAM1Bx6E,KAAKwT,KAAOhS,EAAOurB,WAKnB/sB,KAAK26E,sBAAuB,EAK5B36E,KAAKwR,OAAQ,EAGbxR,KAAK46E,IAAM56E,KAAK4a,MAMhB5a,KAAK66E,OAAS,KAMd76E,KAAK86E,KAAO,IAAIt5E,EAAOX,MAMvBb,KAAK+6E,MAAQ,IAAIv5E,EAAOX,MAMxBb,KAAKg7E,OAAS,IAAIx5E,EAAOX,MAMzBb,KAAKi7E,QAAU,EAMfj7E,KAAKk7E,QAAWC,KAAM,EAAGnzC,QAAS,GAMlChoC,KAAKo7E,QAAU,IAAI55E,EAAOX,MAM1Bb,KAAKq7E,OAAS,EAMdr7E,KAAKs7E,OAAS,EAMdt7E,KAAKu7E,OAAS,EAMdv7E,KAAKw7E,QAAU,IAAIh6E,EAAOmzB,OAM1B30B,KAAKy7E,iBAAcl1E,GAGvB/E,EAAOuwE,WAAWzvE,WAad4jD,KAAM,SAAUniD,EAAGC,EAAGi2B,GAYlB,OAVU,IAANl2B,GAEA/D,KAAK07E,MAAM33E,EAAGk2B,GAGR,IAANj2B,GAEAhE,KAAK27E,MAAM33E,EAAGi2B,GAGXj6B,MAaX07E,MAAO,SAAUlmD,EAAUyE,QAEV1zB,IAAT0zB,IAAsBA,GAAO,QAER1zB,IAArBvG,KAAKy7E,cAELz7E,KAAKy7E,YAAcj6E,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIw8E,EADIr6E,KAAKy7E,YACDjjE,WAAW,MACnB+L,EAAIvkB,KAAKnC,OACTgS,EAAM7P,KAAKkX,OAIf,GAFAmjE,EAAIryD,UAAU,EAAG,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,QAEjC23B,EAAW,EACf,CACIA,EAAW9xB,KAAKizB,IAAInB,GAGhBngB,EAAIrV,KAAKpC,MAAQ43B,EAGjByE,GAEAogD,EAAIprE,UAAUY,EAAK,EAAG,EAAG2lB,EAAUjR,EAAGlP,EAAG,EAAGmgB,EAAUjR,GAI1D81D,EAAIprE,UAAUY,EAAK2lB,EAAU,EAAGngB,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,OAGnD,CAEI,IAAIlP,EAAIrV,KAAKpC,MAAQ43B,EAGjByE,GAEAogD,EAAIprE,UAAUY,EAAKwF,EAAG,EAAGmgB,EAAUjR,EAAG,EAAG,EAAGiR,EAAUjR,GAI1D81D,EAAIprE,UAAUY,EAAK,EAAG,EAAGwF,EAAGkP,EAAGiR,EAAU,EAAGngB,EAAGkP,GAKnD,OAFAvkB,KAAK4a,QAEE5a,KAAKg0B,KAAKh0B,KAAKy7E,cAa1BE,MAAO,SAAUnmD,EAAUyE,QAEV1zB,IAAT0zB,IAAsBA,GAAO,QAER1zB,IAArBvG,KAAKy7E,cAELz7E,KAAKy7E,YAAcj6E,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIw8E,EADIr6E,KAAKy7E,YACDjjE,WAAW,MACnBnD,EAAIrV,KAAKpC,MACTiS,EAAM7P,KAAKkX,OAIf,GAFAmjE,EAAIryD,UAAU,EAAG,EAAGhoB,KAAKpC,MAAOoC,KAAKnC,QAEjC23B,EAAW,EACf,CACIA,EAAW9xB,KAAKizB,IAAInB,GAGhBjR,EAAIvkB,KAAKnC,OAAS23B,EAGlByE,GAEAogD,EAAIprE,UAAUY,EAAK,EAAG,EAAGwF,EAAGmgB,EAAU,EAAGjR,EAAGlP,EAAGmgB,GAInD6kD,EAAIprE,UAAUY,EAAK,EAAG2lB,EAAUngB,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,OAGnD,CAEI,IAAIA,EAAIvkB,KAAKnC,OAAS23B,EAGlByE,GAEAogD,EAAIprE,UAAUY,EAAK,EAAG0U,EAAGlP,EAAGmgB,EAAU,EAAG,EAAGngB,EAAGmgB,GAInD6kD,EAAIprE,UAAUY,EAAK,EAAG,EAAGwF,EAAGkP,EAAG,EAAGiR,EAAUngB,EAAGkP,GAKnD,OAFAvkB,KAAK4a,QAEE5a,KAAKg0B,KAAKh0B,KAAKy7E,cAW1BxiD,IAAK,SAAUwgB,GAEX,GAAIhyC,MAAMC,QAAQ+xC,GAEd,IAAK,IAAI/2C,EAAI,EAAGA,EAAI+2C,EAAO92C,OAAQD,IAE3B+2C,EAAO/2C,GAAG22C,aAEVI,EAAO/2C,GAAG22C,YAAYr5C,WAM9By5C,EAAOJ,YAAYr5C,MAGvB,OAAOA,MAaXymC,KAAM,SAAUr3B,GAOZ,GALsB,iBAAXA,IAEPA,EAASpP,KAAK+C,KAAKiX,MAAMu4D,SAASnjE,IAGlCA,EAcJ,OAZIpP,KAAKmG,OAAOiJ,EAAOxR,MAAOwR,EAAOvR,QACjCmC,KAAK46E,MAOT56E,KAAK47E,KAAKxsE,GAEVpP,KAAKmlC,SAEEnlC,MAyBX4a,MAAO,SAAU7W,EAAGC,EAAGpG,EAAOC,GAW1B,YATU0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAE1CmC,KAAK8N,QAAQka,UAAUjkB,EAAGC,EAAGpG,EAAOC,GAEpCmC,KAAKwR,OAAQ,EAENxR,MAaX+mD,KAAM,SAAU7iD,EAAGyW,EAAGxX,EAAGD,GAQrB,YANUqD,IAANrD,IAAmBA,EAAI,GAE3BlD,KAAK8N,QAAQ6a,UAAY,QAAUzkB,EAAI,IAAMyW,EAAI,IAAMxX,EAAI,IAAMD,EAAI,IACrElD,KAAK8N,QAAQgb,SAAS,EAAG,EAAG9oB,KAAKpC,MAAOoC,KAAKnC,QAC7CmC,KAAKwR,OAAQ,EAENxR,MAaX67E,UAAW,SAAUroE,EAAMsoE,GAEvB,OAAO97E,KAAKkX,OAAO6kE,UAAUvoE,EAAMsoE,IAkBvCvJ,SAAU,SAAU/+D,EAAMsoE,EAAgBE,EAAgBC,GAEtD,IAAI/hE,EAAQ,IAAI45D,MAOhB,OALIkI,IAAkB9hE,EAAMgiE,OAASF,GACjCC,IAAmB/hE,EAAMiiE,QAAUF,GAEvC/hE,EAAMrK,IAAM7P,KAAK67E,UAAUroE,EAAMsoE,GAE1B5hE,GA+CXvV,gBAAiB,SAAUqO,EAAKgiC,EAAU1L,GAEtC,IAAItvB,EAAQha,KAAK+C,KAAKiX,MAClBE,EAAQ,IAAI45D,MAiBhB,GAfI9+B,IAEA96B,EAAMgiE,OAAS,WAEX,IAAInqD,EAAM/X,EAAMoiE,SAASppE,EAAK,GAAIkH,GAC9Bnc,EAAU,IAAIS,KAAKqO,QAAQklB,EAAI3X,MAEnC46B,EAASxwC,KAAK8kC,GAAmB,KAAMvrC,GAEvCmc,EAAMgiE,OAAS,OAIvBhiE,EAAMrK,IAAM7P,KAAK67E,aAEZ7mC,EACL,CACI,IAAIjjB,EAAM/X,EAAMoiE,SAASppE,EAAK,GAAIkH,GAElC,OAAO,IAAI1b,KAAKqO,QAAQklB,EAAI3X,MAGhC,OAAO,MAWXjU,OAAQ,SAAUvI,EAAOC,GAgCrB,OA9BID,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAExCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,OAEI0I,IAArBvG,KAAKy7E,cAELz7E,KAAKy7E,YAAY79E,MAAQA,EACzBoC,KAAKy7E,YAAY59E,OAASA,GAG9BmC,KAAKoG,YAAYxI,MAAQA,EACzBoC,KAAKoG,YAAYvI,OAASA,EAE1BmC,KAAKw6E,aAAa58E,MAAQA,EAC1BoC,KAAKw6E,aAAa38E,OAASA,EAE3BmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ6P,KAAKhQ,MAAQA,EAC1BoC,KAAKjC,QAAQ6P,KAAK/P,OAASA,EAE3BmC,KAAKmlC,SACLnlC,KAAKwR,OAAQ,GAGVxR,MAiBXmlC,OAAQ,SAAUphC,EAAGC,EAAGpG,EAAOC,GA0B3B,YAxBU0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQ8F,KAAKuC,IAAI,EAAGjG,KAAKpC,aACrC2I,IAAX1I,IAAwBA,EAAS6F,KAAKuC,IAAI,EAAGjG,KAAKnC,SAEtDmC,KAAKs6E,UAAYt6E,KAAK8N,QAAQob,aAAanlB,EAAGC,EAAGpG,EAAOC,GACxDmC,KAAKoU,KAAOpU,KAAKs6E,UAAUlmE,KAEvBpU,KAAKs6E,UAAUlmE,KAAK8G,QAEpBlb,KAAKkb,OAASlb,KAAKs6E,UAAUlmE,KAAK8G,OAClClb,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAGnC9K,OAAO+R,aAEPniB,KAAKkb,OAAS,IAAIiH,YAAYniB,KAAKs6E,UAAUlmE,KAAKzR,QAClD3C,KAAKmpB,OAAS,IAAI5G,YAAYviB,KAAKkb,SAInClb,KAAKmpB,OAASnpB,KAAKs6E,UAAUlmE,KAG1BpU,MAsBXq8E,gBAAiB,SAAUrnC,EAAU1L,EAAiBvlC,EAAGC,EAAGpG,EAAOC,QAErD0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDwX,EAAItR,EAAInG,EACR2mB,EAAIvgB,EAAInG,EACRy+E,EAAQ96E,EAAO2e,MAAMo8D,cACrB3jD,GAAW10B,EAAG,EAAGyW,EAAG,EAAGxX,EAAG,EAAGD,EAAG,GAChCsO,GAAQ,EAEHjO,EAAKS,EAAGT,EAAKghB,EAAGhhB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK+R,EAAG/R,IAErB9B,EAAO2e,MAAMq8D,YAAYx8E,KAAKy8E,WAAWn5E,EAAIC,GAAK+4E,IAInC,KAFf1jD,EAASoc,EAASxwC,KAAK8kC,EAAiBgzC,EAAOh5E,EAAIC,KAEhB,OAAXq1B,QAA8BryB,IAAXqyB,IAEvC54B,KAAK08E,WAAWp5E,EAAIC,EAAIq1B,EAAO10B,EAAG00B,EAAOje,EAAGie,EAAOz1B,EAAGy1B,EAAO11B,GAAG,GAChEsO,GAAQ,GAWpB,OANIA,IAEAxR,KAAK8N,QAAQub,aAAarpB,KAAKs6E,UAAW,EAAG,GAC7Ct6E,KAAKwR,OAAQ,GAGVxR,MAmBX28E,aAAc,SAAU3nC,EAAU1L,EAAiBvlC,EAAGC,EAAGpG,EAAOC,QAElD0I,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDwX,EAAItR,EAAInG,EACR2mB,EAAIvgB,EAAInG,EACRy+E,EAAQ,EACR1jD,EAAS,EACTpnB,GAAQ,EAEHjO,EAAKS,EAAGT,EAAKghB,EAAGhhB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK+R,EAAG/R,IAErBg5E,EAAQt8E,KAAKy8E,WAAWn5E,EAAIC,IAC5Bq1B,EAASoc,EAASxwC,KAAK8kC,EAAiBgzC,EAAOh5E,EAAIC,MAEpC+4E,IAEXt8E,KAAKmpB,OAAO5lB,EAAKvD,KAAKpC,MAAQ0F,GAAMs1B,EACpCpnB,GAAQ,GAWpB,OANIA,IAEAxR,KAAK8N,QAAQub,aAAarpB,KAAKs6E,UAAW,EAAG,GAC7Ct6E,KAAKwR,OAAQ,GAGVxR,MAmBX48E,WAAY,SAAUC,EAAIC,EAAI1iD,EAAIF,EAAI6iD,EAAIC,EAAI3iD,EAAIF,EAAI8iD,GAElD,IAAIpjD,EAAK,EACLC,EAAK,EACLzkB,EAAIrV,KAAKpC,MACT2mB,EAAIvkB,KAAKnC,OACTuR,EAAS5N,EAAO2e,MAAM+8D,UAAUL,EAAIC,EAAI1iD,EAAIF,QAEjC3zB,IAAX02E,GAAwBA,aAAkBz7E,EAAOS,YAEjD43B,EAAKojD,EAAOl5E,EACZ+1B,EAAKmjD,EAAOj5E,EACZqR,EAAI4nE,EAAOr/E,MACX2mB,EAAI04D,EAAOp/E,QAGf,IAAK,IAAImG,EAAI,EAAGA,EAAIugB,EAAGvgB,IAEnB,IAAK,IAAID,EAAI,EAAGA,EAAIsR,EAAGtR,IAEf/D,KAAKy8E,WAAW5iD,EAAK91B,EAAG+1B,EAAK91B,KAAOoL,GAEpCpP,KAAK08E,WAAW7iD,EAAK91B,EAAG+1B,EAAK91B,EAAG+4E,EAAIC,EAAI3iD,EAAIF,GAAI,GAQ5D,OAHAn6B,KAAK8N,QAAQub,aAAarpB,KAAKs6E,UAAW,EAAG,GAC7Ct6E,KAAKwR,OAAQ,EAENxR,MAaXm9E,OAAQ,SAAU54D,EAAGlgB,EAAG4yB,EAAGgmD,GAEvB,IAAIG,EAAS74D,GAAW,IAANA,EACd84D,EAASh5E,GAAW,IAANA,EACdi5E,EAASrmD,GAAW,IAANA,EAElB,GAAKmmD,GAAWC,GAAWC,EAA3B,MAKe/2E,IAAX02E,IAEAA,EAAS,IAAIz7E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFDy+E,EAAQ96E,EAAO2e,MAAMo8D,cAEhBv4E,EAAIi5E,EAAOj5E,EAAGA,EAAIi5E,EAAO3mD,OAAQtyB,IAEtC,IAAK,IAAID,EAAIk5E,EAAOl5E,EAAGA,EAAIk5E,EAAOvpD,MAAO3vB,IAErCvC,EAAO2e,MAAMq8D,YAAYx8E,KAAKy8E,WAAW14E,EAAGC,GAAIs4E,GAAO,GAEnDc,IAEAd,EAAM/3D,EAAIA,GAGV84D,IAEAf,EAAMj4E,EAAIA,GAGVi5E,IAEAhB,EAAMrlD,EAAIA,GAGdz1B,EAAO2e,MAAMo9D,SAASjB,EAAM/3D,EAAG+3D,EAAMj4E,EAAGi4E,EAAMrlD,EAAGqlD,GACjDt8E,KAAK08E,WAAW34E,EAAGC,EAAGs4E,EAAMp4E,EAAGo4E,EAAM3hE,EAAG2hE,EAAMn5E,EAAGm5E,EAAMp5E,GAAG,GAOlE,OAHAlD,KAAK8N,QAAQub,aAAarpB,KAAKs6E,UAAW,EAAG,GAC7Ct6E,KAAKwR,OAAQ,EAENxR,OAeXw9E,SAAU,SAAUj5D,EAAGlgB,EAAG4yB,EAAGgmD,GAMzB,QAJU12E,IAANge,GAAyB,OAANA,IAAcA,GAAI,QAC/Bhe,IAANlC,GAAyB,OAANA,IAAcA,GAAI,QAC/BkC,IAAN0wB,GAAyB,OAANA,IAAcA,GAAI,GAEpC1S,GAAMlgB,GAAM4yB,EAAjB,MAKe1wB,IAAX02E,IAEAA,EAAS,IAAIz7E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFDy+E,EAAQ96E,EAAO2e,MAAMo8D,cAEhBv4E,EAAIi5E,EAAOj5E,EAAGA,EAAIi5E,EAAO3mD,OAAQtyB,IAEtC,IAAK,IAAID,EAAIk5E,EAAOl5E,EAAGA,EAAIk5E,EAAOvpD,MAAO3vB,IAErCvC,EAAO2e,MAAMq8D,YAAYx8E,KAAKy8E,WAAW14E,EAAGC,GAAIs4E,GAAO,GAEnD/3D,IAEA+3D,EAAM/3D,EAAIvkB,KAAK+C,KAAK8iC,KAAK5L,KAAKqiD,EAAM/3D,EAAIA,EAAG,EAAG,IAG9ClgB,IAEAi4E,EAAMj4E,EAAIrE,KAAK+C,KAAK8iC,KAAKpJ,MAAM6/C,EAAMj4E,EAAIA,EAAG,EAAG,IAG/C4yB,IAEAqlD,EAAMrlD,EAAIj3B,KAAK+C,KAAK8iC,KAAKpJ,MAAM6/C,EAAMrlD,EAAIA,EAAG,EAAG,IAGnDz1B,EAAO2e,MAAMo9D,SAASjB,EAAM/3D,EAAG+3D,EAAMj4E,EAAGi4E,EAAMrlD,EAAGqlD,GACjDt8E,KAAK08E,WAAW34E,EAAGC,EAAGs4E,EAAMp4E,EAAGo4E,EAAM3hE,EAAG2hE,EAAMn5E,EAAGm5E,EAAMp5E,GAAG,GAOlE,OAHAlD,KAAK8N,QAAQub,aAAarpB,KAAKs6E,UAAW,EAAG,GAC7Ct6E,KAAKwR,OAAQ,EAENxR,OAgBX08E,WAAY,SAAU34E,EAAGC,EAAGy5E,EAAKC,EAAOC,EAAM18E,EAAO28E,GAsBjD,YApBkBr3E,IAAdq3E,IAA2BA,GAAY,GAEvC75E,GAAK,GAAKA,GAAK/D,KAAKpC,OAASoG,GAAK,GAAKA,GAAKhE,KAAKnC,SAE7C2D,EAAOm6C,OAAOkiC,cAEd79E,KAAKmpB,OAAOnlB,EAAIhE,KAAKpC,MAAQmG,GAAM9C,GAAS,GAAO08E,GAAQ,GAAOD,GAAS,EAAKD,EAIhFz9E,KAAKmpB,OAAOnlB,EAAIhE,KAAKpC,MAAQmG,GAAM05E,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAK18E,EAG9E28E,IAEA59E,KAAK8N,QAAQub,aAAarpB,KAAKs6E,UAAW,EAAG,GAC7Ct6E,KAAKwR,OAAQ,IAIdxR,MAeX89E,SAAU,SAAU/5E,EAAGC,EAAGy5E,EAAKC,EAAOC,EAAMC,GAExC,OAAO59E,KAAK08E,WAAW34E,EAAGC,EAAGy5E,EAAKC,EAAOC,EAAM,IAAKC,IAcxDG,SAAU,SAAUh6E,EAAGC,EAAGixB,GAEjBA,IAEDA,EAAMzzB,EAAO2e,MAAMo8D,eAGvB,IAAI3zE,KAAW7E,EAAKC,EAAIhE,KAAKpC,OAS7B,OAPAgL,GAAS,EAETqsB,EAAI/wB,EAAIlE,KAAKoU,KAAKxL,GAClBqsB,EAAIta,EAAI3a,KAAKoU,OAAOxL,GACpBqsB,EAAI9xB,EAAInD,KAAKoU,OAAOxL,GACpBqsB,EAAI/xB,EAAIlD,KAAKoU,OAAOxL,GAEbqsB,GAcXwnD,WAAY,SAAU14E,EAAGC,GAErB,GAAID,GAAK,GAAKA,GAAK/D,KAAKpC,OAASoG,GAAK,GAAKA,GAAKhE,KAAKnC,OAEjD,OAAOmC,KAAKmpB,OAAOnlB,EAAIhE,KAAKpC,MAAQmG,IAiB5Ci6E,YAAa,SAAUj6E,EAAGC,EAAGixB,EAAKgpD,EAAKC,GAEnC,OAAO18E,EAAO2e,MAAMq8D,YAAYx8E,KAAKy8E,WAAW14E,EAAGC,GAAIixB,EAAKgpD,EAAKC,IAUrEC,UAAW,SAAUvjD,GAEjB,OAAO56B,KAAK8N,QAAQob,aAAa0R,EAAK72B,EAAG62B,EAAK52B,EAAG42B,EAAKh9B,MAAOg9B,EAAK/8B,SAkBtEugF,cAAe,SAAUz5C,QAEHp+B,IAAdo+B,IAA2BA,EAAY,GAE3C,IAAI23C,EAAQ96E,EAAO2e,MAAMo8D,cAErBx4E,EAAI,EACJC,EAAI,EACJ66C,EAAI,EACJw/B,GAAO,EAEO,IAAd15C,GAEAka,GAAK,EACL76C,EAAIhE,KAAKnC,QAEU,IAAd8mC,IAELka,GAAK,EACL96C,EAAI/D,KAAKpC,OAGb,GAEI4D,EAAO2e,MAAMq8D,YAAYx8E,KAAKy8E,WAAW14E,EAAGC,GAAIs4E,GAE9B,IAAd33C,GAAiC,IAAdA,IAGnB5gC,IAEU/D,KAAKpC,QAEXmG,EAAI,IACJC,GAAK66C,IAEI7+C,KAAKnC,QAAUmG,GAAK,KAEzBq6E,GAAO,IAII,IAAd15C,GAAiC,IAAdA,KAGxB3gC,IAEUhE,KAAKnC,SAEXmG,EAAI,IACJD,GAAK86C,IAEI7+C,KAAKpC,OAASmG,GAAK,KAExBs6E,GAAO,UAKJ,IAAZ/B,EAAMp5E,IAAYm7E,GAKzB,OAHA/B,EAAMv4E,EAAIA,EACVu4E,EAAMt4E,EAAIA,EAEHs4E,GAWXpyE,UAAW,SAAU0wB,GAOjB,YALar0B,IAATq0B,IAAsBA,EAAO,IAAIp5B,EAAOS,WAE5C24B,EAAK72B,EAAI/D,KAAKo+E,cAAc,GAAGr6E,EAG3B62B,EAAK72B,IAAM/D,KAAKpC,MAETg9B,EAAKxF,MAAM,EAAG,EAAG,EAAG,IAG/BwF,EAAK52B,EAAIhE,KAAKo+E,cAAc,GAAGp6E,EAC/B42B,EAAKh9B,MAASoC,KAAKo+E,cAAc,GAAGr6E,EAAI62B,EAAK72B,EAAK,EAClD62B,EAAK/8B,OAAUmC,KAAKo+E,cAAc,GAAGp6E,EAAI42B,EAAK52B,EAAK,EAE5C42B,IAeX4T,WAAY,SAAUzqC,EAAGC,EAAGyqC,EAASC,EAAS9pB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI5K,EAAQla,KAAK+C,KAAKk2B,IAAI/e,MAAMnW,EAAGC,EAAGhE,MAKtC,OAHAka,EAAMvT,OAAOQ,IAAIsnC,EAASC,GAC1Bx0B,EAAMpZ,MAAMqG,IAAIyd,EAAQE,GAEjB5K,GAsCX8Z,KAAM,SAAU5kB,EAAQrL,EAAGC,EAAGpG,EAAOC,EAAQyF,EAAIC,EAAI+6E,EAAUC,EAAW/lD,EAAQiW,EAASC,EAAS9pB,EAAQE,EAAQ7jB,EAAOgH,EAAW+5B,GAWlI,QATez7B,IAAX6I,GAAmC,OAAXA,IAAmBA,EAASpP,MAEpDoP,aAAkB5N,EAAOyD,gBAEzBmK,EAASA,EAAOovE,aAGpBx+E,KAAK66E,OAASzrE,EAEVA,aAAkB5N,EAAOsE,QAAUsJ,aAAkB5N,EAAOsyE,OAAS1kE,aAAkB5N,EAAOqzE,MAAQzlE,aAAkB5Q,KAAKsH,OAG7H9F,KAAK86E,KAAK3zE,IAAIiI,EAAOrR,QAAQ6P,KAAK7J,EAAGqL,EAAOrR,QAAQ6P,KAAK5J,GACzDhE,KAAK+6E,MAAM5zE,IAAIiI,EAAOrR,QAAQ6P,KAAKhQ,MAAOwR,EAAOrR,QAAQ6P,KAAK/P,QAC9DmC,KAAKg7E,OAAO7zE,IAAIiI,EAAOtO,MAAMiD,EAAGqL,EAAOtO,MAAMkD,GAC7ChE,KAAKo7E,QAAQj0E,IAAIiI,EAAOzI,OAAO5C,EAAGqL,EAAOzI,OAAO3C,GAChDhE,KAAKi7E,QAAU7rE,EAAOpO,SACtBhB,KAAKk7E,OAAOlzC,QAAU54B,EAAOnO,MAEzBmO,EAAOrR,mBAAmByD,EAAOyD,cAEjCjF,KAAK66E,OAASzrE,EAAOrR,QAAQygF,YAI7Bx+E,KAAK66E,OAASzrE,EAAOrR,QAAQqI,YAAYgJ,YAGlC7I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAK8L,EAAOrL,QACxCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAK6L,EAAOpL,GAE/CoL,EAAOrR,QAAQqQ,OAGf9K,GAAM8L,EAAOrR,QAAQqQ,KAAKrK,EAAIqL,EAAOzI,OAAO5C,EAAIqL,EAAOrR,QAAQqQ,KAAKxQ,MACpE2F,GAAM6L,EAAOrR,QAAQqQ,KAAKpK,EAAIoL,EAAOzI,OAAO3C,EAAIoL,EAAOrR,QAAQqQ,KAAKvQ,QAGpD,WAAhBuR,EAAOrC,OAEHqC,EAAOpC,aAAeoC,EAAOrC,OAE7BqC,EAAOpC,WAAaoC,EAAOrC,KAC3BqC,EAAOxI,cAAgBpI,KAAKuQ,aAAaC,iBAAiBI,EAAQA,EAAOrC,OAG7E/M,KAAK66E,OAASzrE,EAAOxI,cACrB5G,KAAK86E,KAAK3zE,IAAI,QAItB,CAQI,GANAnH,KAAK86E,KAAK3zE,IAAI,GACdnH,KAAKg7E,OAAO7zE,IAAI,GAChBnH,KAAKo7E,QAAQj0E,IAAI,GACjBnH,KAAKi7E,QAAU,EACfj7E,KAAKk7E,OAAOlzC,QAAU,EAElB54B,aAAkB5N,EAAOuwE,WAEzB/xE,KAAK66E,OAASzrE,EAAO8H,YAEpB,GAAsB,iBAAX9H,EAChB,CAGI,GAAe,QAFfA,EAASpP,KAAK+C,KAAKiX,MAAMu4D,SAASnjE,IAI9B,OAAOpP,KAIPA,KAAK66E,OAASzrE,EAItBpP,KAAK+6E,MAAM5zE,IAAInH,KAAK66E,OAAOj9E,MAAOoC,KAAK66E,OAAOh9E,QA6DlD,QAzDU0I,IAANxC,GAAyB,OAANA,IAAcA,EAAI,QAC/BwC,IAANvC,GAAyB,OAANA,IAAcA,EAAI,GAGrCpG,IAEAoC,KAAK+6E,MAAMh3E,EAAInG,GAGfC,IAEAmC,KAAK+6E,MAAM/2E,EAAInG,QAIR0I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAKS,QACjCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAKS,QAC3BuC,IAAb+3E,GAAuC,OAAbA,IAAqBA,EAAWt+E,KAAK+6E,MAAMh3E,QACvDwC,IAAdg4E,GAAyC,OAAdA,IAAsBA,EAAYv+E,KAAK+6E,MAAM/2E,GAGtD,iBAAXw0B,IAEPx4B,KAAKi7E,QAAUziD,GAII,iBAAZiW,IAEPzuC,KAAKo7E,QAAQr3E,EAAI0qC,GAGE,iBAAZC,IAEP1uC,KAAKo7E,QAAQp3E,EAAI0qC,GAIC,iBAAX9pB,IAEP5kB,KAAKg7E,OAAOj3E,EAAI6gB,GAGE,iBAAXE,IAEP9kB,KAAKg7E,OAAOh3E,EAAI8gB,GAIC,iBAAV7jB,IAEPjB,KAAKk7E,OAAOlzC,QAAU/mC,QAGRsF,IAAd0B,IAA2BA,EAAY,WAC3B1B,IAAZy7B,IAAyBA,GAAU,GAEnChiC,KAAKk7E,OAAOlzC,SAAW,GAAuB,IAAlBhoC,KAAKg7E,OAAOj3E,GAA6B,IAAlB/D,KAAKg7E,OAAOh3E,GAA4B,IAAjBhE,KAAK+6E,MAAMh3E,GAA4B,IAAjB/D,KAAK+6E,MAAM/2E,EAG3G,OAAOhE,KAGX,IAAIq6E,EAAMr6E,KAAK8N,QAoCf,OAlCA9N,KAAKk7E,OAAOC,KAAOd,EAAIpsE,YAEvBosE,EAAInyD,OAEJmyD,EAAIpsE,YAAcjO,KAAKk7E,OAAOlzC,QAE1B//B,IAEAjI,KAAKy+E,GAAKx2E,GAGV+5B,IAEA1+B,GAAM,EACNC,GAAM,GAIV82E,EAAIx+C,UAAUv4B,EAAIC,GAElB82E,EAAIv5E,MAAMd,KAAKg7E,OAAOj3E,EAAG/D,KAAKg7E,OAAOh3E,GAErCq2E,EAAI7hD,OAAOx4B,KAAKi7E,SAEhBZ,EAAIprE,UAAUjP,KAAK66E,OAAQ76E,KAAK86E,KAAK/2E,EAAIA,EAAG/D,KAAK86E,KAAK92E,EAAIA,EAAGhE,KAAK+6E,MAAMh3E,EAAG/D,KAAK+6E,MAAM/2E,GAAIs6E,EAAWt+E,KAAKo7E,QAAQr3E,GAAIw6E,EAAYv+E,KAAKo7E,QAAQp3E,EAAGs6E,EAAUC,GAI5JlE,EAAI7xD,UAEJ6xD,EAAIpsE,YAAcjO,KAAKk7E,OAAOC,KAE9Bn7E,KAAKwR,OAAQ,EAENxR,MAgBX0+E,cAAe,SAAUtvE,EAAQnH,EAAW+5B,GAKxC,QAHkBz7B,IAAd0B,IAA2BA,EAAY,WAC3B1B,IAAZy7B,IAAyBA,GAAU,IAElC5yB,EAAOiiB,eAAe,oBAAsBjiB,EAAO/H,cAAsC,IAAtB+H,EAAO9N,WAE3E,OAAOtB,KAGX,IAAIyD,EAAK2L,EAAO7N,eAKhB,GAHAvB,KAAK86E,KAAK3zE,IAAIiI,EAAOrR,QAAQ6P,KAAK7J,EAAGqL,EAAOrR,QAAQ6P,KAAK5J,GACzDhE,KAAK+6E,MAAM5zE,IAAIiI,EAAOrR,QAAQ6P,KAAKhQ,MAAOwR,EAAOrR,QAAQ6P,KAAK/P,QAEjD,IAAT4F,EAAGP,GAAoB,IAATO,EAAGJ,GAA4B,IAAjBrD,KAAK+6E,MAAMh3E,GAA4B,IAAjB/D,KAAK+6E,MAAM/2E,EAG7D,OAAOhE,KAGPoP,EAAOrR,mBAAmByD,EAAOyD,cAEjCjF,KAAK66E,OAASzrE,EAAOrR,QAAQygF,YAI7Bx+E,KAAK66E,OAASzrE,EAAOrR,QAAQqI,YAAYgJ,OAG7C,IAAI9L,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAER6L,EAAOrR,QAAQqQ,OAGf9K,GAAM8L,EAAOrR,QAAQqQ,KAAKrK,EAAIqL,EAAOzI,OAAO5C,EAAIqL,EAAOrR,QAAQqQ,KAAKxQ,MACpE2F,GAAM6L,EAAOrR,QAAQqQ,KAAKpK,EAAIoL,EAAOzI,OAAO3C,EAAIoL,EAAOrR,QAAQqQ,KAAKvQ,QAGpD,WAAhBuR,EAAOrC,OAEHqC,EAAOpC,aAAeoC,EAAOrC,OAE7BqC,EAAOpC,WAAaoC,EAAOrC,KAC3BqC,EAAOxI,cAAgBpI,KAAKuQ,aAAaC,iBAAiBI,EAAQA,EAAOrC,OAG7E/M,KAAK66E,OAASzrE,EAAOxI,cACrB5G,KAAK86E,KAAK3zE,IAAI,IAGd66B,IAEA1+B,GAAM,EACNC,GAAM,GAGV,IAAI82E,EAAMr6E,KAAK8N,QAiCf,OA/BA9N,KAAKk7E,OAAOC,KAAOd,EAAIpsE,YAEvBosE,EAAInyD,OAEJmyD,EAAIpsE,YAAcjO,KAAKk7E,OAAOlzC,QAE1B//B,IAEAjI,KAAKy+E,GAAKx2E,GAGdoyE,EAAIr6E,KAAKkO,gBAAmBkB,EAAOrR,QAAQqI,YAAYtI,YAAcU,KAAKC,WAAWC,OAErF27E,EAAIxrE,aAAapL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAE7C82E,EAAIprE,UAAUjP,KAAK66E,OACf76E,KAAK86E,KAAK/2E,EACV/D,KAAK86E,KAAK92E,EACVhE,KAAK+6E,MAAMh3E,EACX/D,KAAK+6E,MAAM/2E,GACVhE,KAAK+6E,MAAMh3E,EAAIqL,EAAOzI,OAAO5C,GAC7B/D,KAAK+6E,MAAM/2E,EAAIoL,EAAOzI,OAAO3C,EAC9BhE,KAAK+6E,MAAMh3E,EACX/D,KAAK+6E,MAAM/2E,GAEfq2E,EAAI7xD,UAEJ6xD,EAAIpsE,YAAcjO,KAAKk7E,OAAOC,KAE9Bn7E,KAAKwR,OAAQ,EAENxR,MAgBX2+E,SAAU,SAAUvvE,EAAQ8vB,EAAMn7B,EAAGC,EAAG/C,EAAOgH,EAAW+5B,GAEtD,OAAOhiC,KAAKg0B,KAAK5kB,EAAQ8vB,EAAKn7B,EAAGm7B,EAAKl7B,EAAGk7B,EAAKthC,MAAOshC,EAAKrhC,OAAQkG,EAAGC,EAAGk7B,EAAKthC,MAAOshC,EAAKrhC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAOgH,EAAW+5B,IAwBtI45C,KAAM,SAAUxsE,EAAQrL,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAW+5B,GAGpD,OAAOhiC,KAAKg0B,KAAK5kB,EAAQ,KAAM,KAAM,KAAM,KAAMrL,EAAGC,EAAGpG,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAMoK,EAAW+5B,IAuBzH48C,UAAW,SAAUrkC,EAAOtyC,EAAW+5B,GAOnC,OALIuY,EAAMvB,MAAQ,GAEduB,EAAMjC,cAAct4C,KAAK6+E,eAAgB7+E,KAAMiI,EAAW+5B,GAGvDhiC,MAYX6+E,eAAgB,SAAUn2E,EAAOT,EAAW+5B,GAOxC,GALIt5B,EAAM2oB,eAAe,YAErBrxB,KAAK0+E,cAAch2E,EAAOT,EAAW+5B,GAGrCt5B,EAAM8K,OAAShS,EAAOirB,OAAS/jB,EAAMwE,OAErClN,KAAK4+E,UAAUl2E,EAAOT,EAAW+5B,QAGrC,GAAIt5B,EAAM2oB,eAAe,aAAe3oB,EAAMjG,SAASE,OAAS,EAE5D,IAAK,IAAID,EAAI,EAAGA,EAAIgG,EAAMjG,SAASE,OAAQD,IAEnCgG,EAAMjG,SAASC,GAAGwK,QAElBlN,KAAK0+E,cAAch2E,EAAMjG,SAASC,GAAIuF,EAAW+5B,IA6BjE88C,SAAU,SAAUz9E,EAAQ4G,EAAW+5B,GAEnC,IAA4B,IAAxB3gC,EAAOgG,cAAgD,IAAtBhG,EAAOC,YAAqBD,EAAOgwB,eAAe,YAA+B,IAAlBhwB,EAAO6L,OAEvG,OAAOlN,KAGX,GAAIqB,EAAOmS,OAAShS,EAAOirB,OAASprB,EAAOmS,OAAShS,EAAOqrB,SAAWxrB,EAAOmS,OAAShS,EAAOgrB,WAEzF,GAAInrB,EAAOmS,OAAShS,EAAO6qB,SAC3B,CACI,IAAIvnB,EAASzD,EAAO6I,YACpBlK,KAAKq6E,IAAInyD,OACTloB,KAAKq6E,IAAIx+C,UAAU/2B,EAAOf,EAAGe,EAAOd,GACpCxF,KAAK6pB,eAAe02D,eAAe19E,EAAQrB,KAAKq6E,KAChDr6E,KAAKq6E,IAAI7xD,eAITxoB,KAAKg0B,KAAK3yB,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOK,cAAcqC,EAAG1C,EAAOK,cAAcsC,EAAG,KAAM,KAAM3C,EAAOO,cAAe,KAAM,KAAMP,EAAOM,WAAWoC,EAAG1C,EAAOM,WAAWqC,EAAG3C,EAAOC,WAAY2G,EAAW+5B,GAIxN,GAAI3gC,EAAOoB,SAEP,IAAK,IAAIC,EAAI,EAAGA,EAAIrB,EAAOoB,SAASE,OAAQD,IAExC1C,KAAK8+E,SAASz9E,EAAOoB,SAASC,GAAIuF,EAAW+5B,GAIrD,OAAOhiC,MAeXg/E,OAAQ,SAAU3oE,EAAO4oE,EAAMl7E,EAAGC,GAE9B,IAAIq2E,EAAMr6E,KAAK8N,QAcf,YAZcvH,IAAV8P,GAAiC,OAAVA,EAEvBgkE,EAAI6E,YAAc,iBAIlB7E,EAAI6E,YAAc7oE,EAClBgkE,EAAI8E,WAAuB,IAATF,EAAc,EAAIA,GAAQ,EAC5C5E,EAAI+E,cAAuB,IAANr7E,EAAW,EAAIA,GAAK,GACzCs2E,EAAIgF,cAAuB,IAANr7E,EAAW,EAAIA,GAAK,IAGtChE,MAaXs/E,UAAW,SAAUlwE,EAAQ7H,EAAMg4E,EAAYC,GAoB3C,YAlBiBj5E,IAAbi5E,GAAuC,OAAbA,EAE1Bx/E,KAAK47E,KAAKr0E,GAAMk4E,kBAIhBz/E,KAAK47E,KAAKr0E,EAAMi4E,EAASz7E,EAAGy7E,EAASx7E,EAAGw7E,EAAS5hF,MAAO4hF,EAAS3hF,QAAQ4hF,uBAG1Dl5E,IAAfg5E,GAA2C,OAAfA,EAE5Bv/E,KAAK47E,KAAKxsE,GAAQswE,aAIlB1/E,KAAK47E,KAAKxsE,EAAQmwE,EAAWx7E,EAAGw7E,EAAWv7E,EAAGu7E,EAAW3hF,MAAO2hF,EAAW1hF,QAAQ6hF,aAGhF1/E,MAyBX2/E,QAAS,SAAUC,EAAa17E,EAAGyW,EAAGxX,EAAGD,EAAGiD,EAAQ42E,EAAIC,EAAI3iD,GA2BxD,YAzBU9zB,IAANrD,IAAmBA,EAAI,UACZqD,IAAXJ,IAAwBA,GAAS,QAC1BI,IAAPw2E,IAAoBA,EAAK74E,QAClBqC,IAAPy2E,IAAoBA,EAAKriE,QAClBpU,IAAP8zB,IAAoBA,EAAKl3B,GAEzBgD,GAEAy5E,EAAYz5E,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAGxCmC,KAAKq8E,gBACD,SAAUC,EAAOv4E,EAAGC,GAMhB,OAJIs4E,EAAMp4E,IAAMA,GAAKo4E,EAAM3hE,IAAMA,GAAK2hE,EAAMn5E,IAAMA,GAE9Cy8E,EAAYlD,WAAW34E,EAAGC,EAAG+4E,EAAIC,EAAI3iD,EAAIn3B,GAAG,IAEzC,GAEXlD,MAEJ4/E,EAAY9xE,QAAQub,aAAau2D,EAAYtF,UAAW,EAAG,GAC3DsF,EAAYpuE,OAAQ,EAEbouE,GAcXhlD,KAAM,SAAU72B,EAAGC,EAAGpG,EAAOC,EAAQ8qB,GASjC,YAPyB,IAAdA,IAEP3oB,KAAK8N,QAAQ6a,UAAYA,GAG7B3oB,KAAK8N,QAAQgb,SAAS/kB,EAAGC,EAAGpG,EAAOC,GAE5BmC,MAiBX40E,KAAM,SAAUA,EAAM7wE,EAAGC,EAAGwxE,EAAMn/D,EAAO2oE,QAE3Bz4E,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACduC,IAATivE,IAAsBA,EAAO,qBACnBjvE,IAAV8P,IAAuBA,EAAQ,yBACpB9P,IAAXy4E,IAAwBA,GAAS,GAErC,IAAI3E,EAAMr6E,KAAK8N,QACX+xE,EAAWxF,EAAI7E,KAenB,OAbA6E,EAAI7E,KAAOA,EAEPwJ,IAEA3E,EAAI1xD,UAAY,aAChB0xD,EAAIyF,SAASlL,EAAM7wE,EAAI,EAAGC,EAAI,IAGlCq2E,EAAI1xD,UAAYtS,EAChBgkE,EAAIyF,SAASlL,EAAM7wE,EAAGC,GAEtBq2E,EAAI7E,KAAOqK,EAEJ7/E,MAaXyhD,OAAQ,SAAU19C,EAAGC,EAAGmxB,EAAQxM,GAE5B,IAAI0xD,EAAMr6E,KAAK8N,QAaf,YAXkBvH,IAAdoiB,IAEA0xD,EAAI1xD,UAAYA,GAGpB0xD,EAAI0F,YACJ1F,EAAI2F,IAAIj8E,EAAGC,EAAGmxB,EAAQ,EAAa,EAAVzxB,KAAKsxB,IAAQ,GACtCqlD,EAAI4F,YAEJ5F,EAAItzB,OAEG/mD,MAeX04B,KAAM,SAAUptB,EAAIC,EAAIC,EAAIC,EAAI4K,EAAOzY,QAErB2I,IAAV8P,IAAuBA,EAAQ,aACrB9P,IAAV3I,IAAuBA,EAAQ,GAEnC,IAAIy8E,EAAMr6E,KAAK8N,QAaf,OAXAusE,EAAI0F,YAEJ1F,EAAI6F,OAAO50E,EAAIC,GACf8uE,EAAI8F,OAAO30E,EAAIC,GAEf4uE,EAAI+F,UAAYxiF,EAChBy8E,EAAIgG,YAAchqE,EAClBgkE,EAAIiG,SAEJjG,EAAI4F,YAEGjgF,MAaXugF,QAAS,SAAUjiD,EAAQ3V,EAAWy3D,EAAWC,QAIzB95E,IAAhB85E,IAA6BA,EAAc,aAC7B95E,IAAd65E,IAA2BA,EAAY,GAE3C,IAAI/F,EAAMr6E,KAAK8N,QAEX6a,IAEA0xD,EAAI1xD,UAAYA,GAGhBy3D,IAEA/F,EAAI+F,UAAYA,EAChB/F,EAAIgG,YAAcA,GAGtBhG,EAAI0F,YAEJ1F,EAAI6F,OAAO5hD,EAAO,GAAGv6B,EAAGu6B,EAAO,GAAGt6B,GAElC,IAAK,IAAItB,EAAI,EAAGouB,EAAMwN,EAAO37B,OAAQD,EAAIouB,EAAKpuB,IAC9C,CACI,IAAI0zB,EAAQkI,EAAO57B,GACnB23E,EAAI8F,OAAO/pD,EAAMryB,EAAGqyB,EAAMpyB,GAQ9B,OALAq2E,EAAI4F,YAEAt3D,GAAa0xD,EAAItzB,OACjBq5B,GAAa/F,EAAIiG,SAEdtgF,MAYXwgF,YAAa,SAAU9nD,EAAMxe,EAAOvF,GAIhC,QAFepO,IAAXoO,IAAwBA,EAAS,YAEhB,iBAAVuF,IAEPA,EAAQla,KAAK+C,KAAKiX,MAAMu4D,SAASr4D,IAFrC,CAUA,IAAItc,EAAQ86B,EAAK/1B,OAEF,cAAXgS,GAA0B/W,EAAQsc,EAAMtc,QAExCA,EAAQsc,EAAMtc,OAGlB,IAAIy8E,EAAMr6E,KAAK8N,QAgBf,OAdAusE,EAAI1xD,UAAY0xD,EAAIoG,cAAcvmE,EAAOvF,GAEzC3U,KAAKw7E,QAAU,IAAIh6E,EAAOmzB,OAAO+D,EAAKpsB,MAAMvI,EAAG20B,EAAKpsB,MAAMtI,EAAGkW,EAAMrc,QAEnEmC,KAAKw7E,QAAQ7lD,mBAAmB+C,EAAK9C,MAAQ,oBAAoB,EAAO51B,KAAK86E,MAE7ET,EAAInyD,OACJmyD,EAAIx+C,UAAU77B,KAAK86E,KAAK/2E,EAAG/D,KAAK86E,KAAK92E,GACrCq2E,EAAI7hD,OAAOE,EAAK9C,OAChBykD,EAAIvxD,SAAS,EAAG,EAAGlrB,EAAOsc,EAAMrc,QAChCw8E,EAAI7xD,UAEJxoB,KAAKwR,OAAQ,EAENxR,OAWXmF,OAAQ,WAQJ,OANKnF,KAAK26E,sBAAwB36E,KAAKwR,QAEnCxR,KAAKoG,YAAYoL,QACjBxR,KAAKwR,OAAQ,GAGVxR,MAQXwC,QAAS,WAELxC,KAAKmyE,UAAU3vE,UAEfxC,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOqF,WAAWsV,OAAOnc,OAS7B0/E,WAAY,WAGR,OADA1/E,KAAKy+E,GAAK,cACHz+E,MASX0gF,gBAAiB,WAGb,OADA1gF,KAAKy+E,GAAK,cACHz+E,MASX2gF,cAAe,WAGX,OADA3gF,KAAKy+E,GAAK,YACHz+E,MASX4gF,eAAgB,WAGZ,OADA5gF,KAAKy+E,GAAK,aACHz+E,MASXy/E,gBAAiB,WAGb,OADAz/E,KAAKy+E,GAAK,cACHz+E,MASX6gF,qBAAsB,WAGlB,OADA7gF,KAAKy+E,GAAK,mBACHz+E,MASX8gF,mBAAoB,WAGhB,OADA9gF,KAAKy+E,GAAK,iBACHz+E,MASX+gF,oBAAqB,WAGjB,OADA/gF,KAAKy+E,GAAK,kBACHz+E,MASXghF,qBAAsB,WAGlB,OADAhhF,KAAKy+E,GAAK,mBACHz+E,MASXihF,SAAU,WAGN,OADAjhF,KAAKy+E,GAAK,MACHz+E,MASXkhF,SAAU,WAGN,OADAlhF,KAAKy+E,GAAK,UACHz+E,MASXmhF,cAAe,WAGX,OADAnhF,KAAKy+E,GAAK,WACHz+E,MASXohF,YAAa,WAGT,OADAphF,KAAKy+E,GAAK,SACHz+E,MASXqhF,aAAc,WAGV,OADArhF,KAAKy+E,GAAK,UACHz+E,MASXshF,YAAa,WAGT,OADAthF,KAAKy+E,GAAK,SACHz+E,MASXuhF,aAAc,WAGV,OADAvhF,KAAKy+E,GAAK,UACHz+E,MASXwhF,gBAAiB,WAGb,OADAxhF,KAAKy+E,GAAK,cACHz+E,MASXyhF,eAAgB,WAGZ,OADAzhF,KAAKy+E,GAAK,aACHz+E,MASX0hF,eAAgB,WAGZ,OADA1hF,KAAKy+E,GAAK,aACHz+E,MASX2hF,eAAgB,WAGZ,OADA3hF,KAAKy+E,GAAK,aACHz+E,MASX4hF,gBAAiB,WAGb,OADA5hF,KAAKy+E,GAAK,aACHz+E,MASX6hF,eAAgB,WAGZ,OADA7hF,KAAKy+E,GAAK,YACHz+E,MASX8hF,SAAU,WAGN,OADA9hF,KAAKy+E,GAAK,MACHz+E,MASX+hF,gBAAiB,WAGb,OADA/hF,KAAKy+E,GAAK,aACHz+E,MASXgiF,WAAY,WAGR,OADAhiF,KAAKy+E,GAAK,QACHz+E,MASXiiF,gBAAiB,WAGb,OADAjiF,KAAKy+E,GAAK,aACHz+E,MAeXkiF,eAAgB,SAAU9yE,EAAQrL,EAAGC,GAEjCoL,EAAO+1B,SACP,IAAK,IAAWg9C,EAAPz/E,EAAI,EAAiBA,EAAI0M,EAAOvR,OAAQ6E,IACjD,CACIy/E,GAAgBn+E,EAAItB,GAAK1C,KAAKpC,MAAQmG,EACtC,IAAK,IAAI8D,EAAI,EAAGA,EAAIuH,EAAOxR,MAAOiK,IAE9B7H,KAAKmpB,OAAOg5D,EAAet6E,GAAKuH,EAAO+Z,OAAOzmB,EAAI0M,EAAOxR,MAAQiK,GAGzE,OAAO7H,OASfgH,OAAOyF,eAAejL,EAAOuwE,WAAWzvE,UAAW,YAE/C4E,IAAK,WAED,OAAO1F,EAAOioB,OAAO24D,oBAAoBpiF,KAAK8N,UAGlD3G,IAAK,SAAUC,GAEX5F,EAAOioB,OAAO44D,oBAAoBriF,KAAK8N,QAAS1G,MASxDJ,OAAOyF,eAAejL,EAAOuwE,WAAWzvE,UAAW,MAE/C4E,IAAK,WAED,OAAOlH,KAAK8N,QAAQC,0BAGxB5G,IAAK,SAAUC,GAEXpH,KAAK8N,QAAQC,yBAA2B3G,KAiBhD5F,EAAOuwE,WAAWuQ,aAAe,SAAUC,EAAYC,EAAY59D,EAAQE,EAAQ29D,EAAOC,GAStF,MAP0B,iBAAfH,IAA2BA,EAAa,GACzB,iBAAfC,IAA2BA,EAAa,GAC7B,iBAAX59D,IAAuBA,EAAS,GACrB,iBAAXE,IAAuBA,EAAS,GACtB,iBAAV29D,IAAsBA,EAAQ,GACpB,iBAAVC,IAAsBA,EAAQ,IAEhC7oD,GAAIjV,EAAQkV,GAAIhV,EAAQF,OAAQA,EAAQE,OAAQA,EAAQ29D,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAYl/E,GAAIi/E,EAAYh/E,GAAIi/E,IAGrKhhF,EAAOuwE,WAAWzvE,UAAUC,YAAcf,EAAOuwE,WAuBjDvwE,EAAOmhF,UAEPnhF,EAAOmhF,OAAOC,YAAc,SAAUxuE,EAAMyuE,EAAaC,GAErDA,EAAMA,GAAO,EAEb,IAAIC,EAAWF,GAAeA,EAAYlgF,OACtCqgF,EAAWD,EAAWF,EAAY,GAAKC,EAAM1uE,EAAKzR,OAClDsgF,EAAYzhF,EAAOmhF,OAAOO,WAAW9uE,EAAM,EAAG4uE,EAAUF,GAAK,GAC7DK,KAEJ,IAAKF,EAAa,OAAOE,EAEzB,IAAIv4E,EAAME,EAAMC,EAAMC,EAAMjH,EAAGC,EAAG8d,EAKlC,GAHIihE,IAAYE,EAAYzhF,EAAOmhF,OAAOS,eAAehvE,EAAMyuE,EAAaI,EAAWH,IAGnF1uE,EAAKzR,OAAS,GAAKmgF,EACvB,CACIl4E,EAAOG,EAAOqJ,EAAK,GACnBtJ,EAAOE,EAAOoJ,EAAK,GAEnB,IAAK,IAAI1R,EAAIogF,EAAKpgF,EAAIsgF,EAAUtgF,GAAKogF,EAEjC/+E,EAAIqQ,EAAK1R,GACTsB,EAAIoQ,EAAK1R,EAAI,GACTqB,EAAI6G,IAAQA,EAAO7G,GACnBC,EAAI8G,IAAQA,EAAO9G,GACnBD,EAAIgH,IAAQA,EAAOhH,GACnBC,EAAIgH,IAAQA,EAAOhH,GAI3B8d,EAAOpe,KAAKuC,IAAI8E,EAAOH,EAAMI,EAAOF,GAKxC,OAFAtJ,EAAOmhF,OAAOU,aAAaJ,EAAWE,EAAWL,EAAKl4E,EAAME,EAAMgX,GAE3DqhE,GAKX3hF,EAAOmhF,OAAOO,WAAa,SAAU9uE,EAAM9H,EAAO+O,EAAKynE,EAAKQ,GAExD,IACI5gF,EAAGmF,EAAG07E,EADNC,EAAM,EAIV,IAAK9gF,EAAI4J,EAAOzE,EAAIwT,EAAMynE,EAAKpgF,EAAI2Y,EAAK3Y,GAAKogF,EAEzCU,IAAQpvE,EAAKvM,GAAKuM,EAAK1R,KAAO0R,EAAK1R,EAAI,GAAK0R,EAAKvM,EAAI,IACrDA,EAAInF,EAIR,GAAI4gF,IAAeE,EAAM,EAErB,IAAK9gF,EAAI4J,EAAO5J,EAAI2Y,EAAK3Y,GAAKogF,EAAOS,EAAO/hF,EAAOmhF,OAAOc,WAAW/gF,EAAG0R,EAAK1R,GAAI0R,EAAK1R,EAAI,GAAI6gF,QAI9F,IAAK7gF,EAAI2Y,EAAMynE,EAAKpgF,GAAK4J,EAAO5J,GAAKogF,EAAOS,EAAO/hF,EAAOmhF,OAAOc,WAAW/gF,EAAG0R,EAAK1R,GAAI0R,EAAK1R,EAAI,GAAI6gF,GAGzG,OAAOA,GAKX/hF,EAAOmhF,OAAOe,aAAe,SAAUp3E,EAAO+O,GAE1C,IAAK/O,EAAS,OAAOA,EAChB+O,IAAOA,EAAM/O,GAElB,IACIq3E,EADA3gF,EAAIsJ,EAER,GAII,GAFAq3E,GAAQ,EAEH3gF,EAAE4gF,UAAYpiF,EAAOmhF,OAAOpsD,OAAOvzB,EAAGA,EAAEwyC,OAAmD,IAA1Ch0C,EAAOmhF,OAAOzjD,KAAKl8B,EAAEm4E,KAAMn4E,EAAGA,EAAEwyC,MASlFxyC,EAAIA,EAAEwyC,SARV,CAGI,GAFAh0C,EAAOmhF,OAAOkB,WAAW7gF,IACzBA,EAAIqY,EAAMrY,EAAEm4E,QACFn4E,EAAEwyC,KAAQ,OAAO,KAC3BmuC,GAAQ,SAMPA,GAAS3gF,IAAMqY,GAExB,OAAOA,GAKX7Z,EAAOmhF,OAAOU,aAAe,SAAUS,EAAKX,EAAWL,EAAKl4E,EAAME,EAAMgX,EAAMiiE,GAE1E,GAAKD,EAAL,EAGKC,GAAQjiE,GAAQtgB,EAAOmhF,OAAOqB,WAAWF,EAAKl5E,EAAME,EAAMgX,GAM/D,IAJA,IACIq5D,EAAM3lC,EADNrpC,EAAO23E,EAIJA,EAAI3I,OAAS2I,EAAItuC,MAKpB,GAHA2lC,EAAO2I,EAAI3I,KACX3lC,EAAOsuC,EAAItuC,KAEP1zB,EAAOtgB,EAAOmhF,OAAOsB,YAAYH,EAAKl5E,EAAME,EAAMgX,GAAQtgB,EAAOmhF,OAAOuB,MAAMJ,GAG9EX,EAAUr7E,KAAKqzE,EAAKz4E,EAAIogF,GACxBK,EAAUr7E,KAAKg8E,EAAIphF,EAAIogF,GACvBK,EAAUr7E,KAAK0tC,EAAK9yC,EAAIogF,GAExBthF,EAAOmhF,OAAOkB,WAAWC,GAGzBA,EAAMtuC,EAAKA,KACXrpC,EAAOqpC,EAAKA,UAQhB,IAHAsuC,EAAMtuC,KAGMrpC,EACZ,CAES43E,EAMa,IAATA,GAELD,EAAMtiF,EAAOmhF,OAAOwB,uBAAuBL,EAAKX,EAAWL,GAC3DthF,EAAOmhF,OAAOU,aAAaS,EAAKX,EAAWL,EAAKl4E,EAAME,EAAMgX,EAAM,IAIpD,IAATiiE,GAELviF,EAAOmhF,OAAOyB,YAAYN,EAAKX,EAAWL,EAAKl4E,EAAME,EAAMgX,GAb3DtgB,EAAOmhF,OAAOU,aAAa7hF,EAAOmhF,OAAOe,aAAaI,GAAMX,EAAWL,EAAKl4E,EAAME,EAAMgX,EAAM,GAgBlG,SAOZtgB,EAAOmhF,OAAOuB,MAAQ,SAAUJ,GAE5B,IAAI5gF,EAAI4gF,EAAI3I,KACRh4E,EAAI2gF,EACJ1gF,EAAI0gF,EAAItuC,KAEZ,GAAIh0C,EAAOmhF,OAAOzjD,KAAKh8B,EAAGC,EAAGC,IAAM,EAAK,OAAO,EAK/C,IAFA,IAAIJ,EAAI8gF,EAAItuC,KAAKA,KAEVxyC,IAAM8gF,EAAI3I,MACjB,CACI,GAAI35E,EAAOmhF,OAAO0B,gBAAgBnhF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAOmhF,OAAOzjD,KAAKl8B,EAAEm4E,KAAMn4E,EAAGA,EAAEwyC,OAAS,EAAK,OAAO,EACzDxyC,EAAIA,EAAEwyC,KAGV,OAAO,GAGXh0C,EAAOmhF,OAAOsB,YAAc,SAAUH,EAAKl5E,EAAME,EAAMgX,GAEnD,IAAI5e,EAAI4gF,EAAI3I,KACRh4E,EAAI2gF,EACJ1gF,EAAI0gF,EAAItuC,KAEZ,GAAIh0C,EAAOmhF,OAAOzjD,KAAKh8B,EAAGC,EAAGC,IAAM,EAAK,OAAO,EAe/C,IAZA,IAAIkhF,EAAQphF,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnEwgF,EAAQrhF,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EACnEwgF,EAAQthF,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnE0gF,EAAQvhF,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EAGnE0gF,EAAOljF,EAAOmhF,OAAOgC,OAAOL,EAAOC,EAAO35E,EAAME,EAAMgX,GACtD8iE,EAAOpjF,EAAOmhF,OAAOgC,OAAOH,EAAOC,EAAO75E,EAAME,EAAMgX,GAGtD9e,EAAI8gF,EAAIe,MAEL7hF,GAAKA,EAAEoS,GAAKwvE,GACnB,CACI,GAAI5hF,IAAM8gF,EAAI3I,MAAQn4E,IAAM8gF,EAAItuC,MAC5Bh0C,EAAOmhF,OAAO0B,gBAAgBnhF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAOmhF,OAAOzjD,KAAKl8B,EAAEm4E,KAAMn4E,EAAGA,EAAEwyC,OAAS,EAAK,OAAO,EACzDxyC,EAAIA,EAAE6hF,MAMV,IAFA7hF,EAAI8gF,EAAIgB,MAED9hF,GAAKA,EAAEoS,GAAKsvE,GACnB,CACI,GAAI1hF,IAAM8gF,EAAI3I,MAAQn4E,IAAM8gF,EAAItuC,MAC5Bh0C,EAAOmhF,OAAO0B,gBAAgBnhF,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnExC,EAAOmhF,OAAOzjD,KAAKl8B,EAAEm4E,KAAMn4E,EAAGA,EAAEwyC,OAAS,EAAK,OAAO,EACzDxyC,EAAIA,EAAE8hF,MAGV,OAAO,GAKXtjF,EAAOmhF,OAAOwB,uBAAyB,SAAU73E,EAAO62E,EAAWL,GAE/D,IAAI9/E,EAAIsJ,EACR,EACA,CACI,IAAIpJ,EAAIF,EAAEm4E,KACNh4E,EAAIH,EAAEwyC,KAAKA,KAGXh0C,EAAOmhF,OAAOnsD,WAAWtzB,EAAGF,EAAGA,EAAEwyC,KAAMryC,IAAM3B,EAAOmhF,OAAOoC,cAAc7hF,EAAGC,IAAM3B,EAAOmhF,OAAOoC,cAAc5hF,EAAGD,KAEjHigF,EAAUr7E,KAAK5E,EAAER,EAAIogF,GACrBK,EAAUr7E,KAAK9E,EAAEN,EAAIogF,GACrBK,EAAUr7E,KAAK3E,EAAET,EAAIogF,GAGrBthF,EAAOmhF,OAAOkB,WAAW7gF,GACzBxB,EAAOmhF,OAAOkB,WAAW7gF,EAAEwyC,MAE3BxyC,EAAIsJ,EAAQnJ,GAEhBH,EAAIA,EAAEwyC,WACDxyC,IAAMsJ,GAEf,OAAOtJ,GAKXxB,EAAOmhF,OAAOyB,YAAc,SAAU93E,EAAO62E,EAAWL,EAAKl4E,EAAME,EAAMgX,GAGrE,IAAI5e,EAAIoJ,EACR,EACA,CAEI,IADA,IAAInJ,EAAID,EAAEsyC,KAAKA,KACRryC,IAAMD,EAAEi4E,MACf,CACI,GAAIj4E,EAAER,IAAMS,EAAET,GAAKlB,EAAOmhF,OAAOqC,gBAAgB9hF,EAAGC,GACpD,CAEI,IAAIC,EAAI5B,EAAOmhF,OAAOsC,aAAa/hF,EAAGC,GAStC,OANAD,EAAI1B,EAAOmhF,OAAOe,aAAaxgF,EAAGA,EAAEsyC,MACpCpyC,EAAI5B,EAAOmhF,OAAOe,aAAatgF,EAAGA,EAAEoyC,MAGpCh0C,EAAOmhF,OAAOU,aAAangF,EAAGigF,EAAWL,EAAKl4E,EAAME,EAAMgX,QAC1DtgB,EAAOmhF,OAAOU,aAAajgF,EAAG+/E,EAAWL,EAAKl4E,EAAME,EAAMgX,GAG9D3e,EAAIA,EAAEqyC,KAEVtyC,EAAIA,EAAEsyC,WACDtyC,IAAMoJ,IAKnB9K,EAAOmhF,OAAOS,eAAiB,SAAUhvE,EAAMyuE,EAAaI,EAAWH,GAEnE,IACIpgF,EAAGouB,EAAKxkB,EAAO+O,EAAK6+B,EADpBgrC,KAGJ,IAAKxiF,EAAI,EAAGouB,EAAM+xD,EAAYlgF,OAAQD,EAAIouB,EAAKpuB,IAE3C4J,EAAQu2E,EAAYngF,GAAKogF,EACzBznE,EAAM3Y,EAAIouB,EAAM,EAAI+xD,EAAYngF,EAAI,GAAKogF,EAAM1uE,EAAKzR,QACpDu3C,EAAO14C,EAAOmhF,OAAOO,WAAW9uE,EAAM9H,EAAO+O,EAAKynE,GAAK,MAC1C5oC,EAAK1E,OAAQ0E,EAAK0pC,SAAU,GACzCsB,EAAMp9E,KAAKtG,EAAOmhF,OAAOwC,YAAYjrC,IAMzC,IAHAgrC,EAAMnmD,KAAKv9B,EAAOmhF,OAAOyC,UAGpB1iF,EAAI,EAAGA,EAAIwiF,EAAMviF,OAAQD,IAE1BlB,EAAOmhF,OAAO0C,cAAcH,EAAMxiF,GAAIugF,GACtCA,EAAYzhF,EAAOmhF,OAAOe,aAAaT,EAAWA,EAAUztC,MAGhE,OAAOytC,GAGXzhF,EAAOmhF,OAAOyC,SAAW,SAAUliF,EAAGC,GAElC,OAAOD,EAAEa,EAAIZ,EAAEY,GAKnBvC,EAAOmhF,OAAO0C,cAAgB,SAAUC,EAAMrC,GAG1C,GADAA,EAAYzhF,EAAOmhF,OAAO4C,eAAeD,EAAMrC,GAE/C,CACI,IAAI9/E,EAAI3B,EAAOmhF,OAAOsC,aAAahC,EAAWqC,GAC9C9jF,EAAOmhF,OAAOe,aAAavgF,EAAGA,EAAEqyC,QAMxCh0C,EAAOmhF,OAAO4C,eAAiB,SAAUD,EAAMrC,GAE3C,IAII7rD,EAJAp0B,EAAIigF,EACJuC,EAAKF,EAAKvhF,EACV0hF,EAAKH,EAAKthF,EACV0hF,GAAM76E,EAAAA,EAOV,EACA,CACI,GAAI46E,GAAMziF,EAAEgB,GAAKyhF,GAAMziF,EAAEwyC,KAAKxxC,EAC9B,CACI,IAAID,EAAIf,EAAEe,GAAK0hF,EAAKziF,EAAEgB,IAAMhB,EAAEwyC,KAAKzxC,EAAIf,EAAEe,IAAMf,EAAEwyC,KAAKxxC,EAAIhB,EAAEgB,GACxDD,GAAKyhF,GAAMzhF,EAAI2hF,IAEfA,EAAK3hF,EACLqzB,EAAIp0B,EAAEe,EAAIf,EAAEwyC,KAAKzxC,EAAIf,EAAIA,EAAEwyC,MAGnCxyC,EAAIA,EAAEwyC,WACDxyC,IAAMigF,GAEf,IAAK7rD,EAAK,OAAO,KAEjB,GAAIkuD,EAAKvhF,IAAMqzB,EAAErzB,EAAK,OAAOqzB,EAAE+jD,KAQ/B,IAEIwK,EAFAx5E,EAAOirB,EACPwuD,EAAS/6E,EAAAA,EAKb,IAFA7H,EAAIo0B,EAAEoe,KAECxyC,IAAMmJ,GAELq5E,GAAMxiF,EAAEe,GAAKf,EAAEe,GAAKqzB,EAAErzB,GACtBvC,EAAOmhF,OAAO0B,gBAAgBoB,EAAKruD,EAAEpzB,EAAIwhF,EAAKE,EAAID,EAAIruD,EAAErzB,EAAGqzB,EAAEpzB,EAAGyhF,EAAKruD,EAAEpzB,EAAI0hF,EAAKF,EAAIC,EAAIziF,EAAEe,EAAGf,EAAEgB,MAE/F2hF,EAAMjiF,KAAKizB,IAAI8uD,EAAKziF,EAAEgB,IAAMwhF,EAAKxiF,EAAEe,IAExB6hF,GAAWD,IAAQC,GAAU5iF,EAAEe,EAAIqzB,EAAErzB,IAAOvC,EAAOmhF,OAAOoC,cAAc/hF,EAAGsiF,KAElFluD,EAAIp0B,EACJ4iF,EAASD,GAIjB3iF,EAAIA,EAAEwyC,KAGV,OAAOpe,GAKX51B,EAAOmhF,OAAOqB,WAAa,SAAU13E,EAAO1B,EAAME,EAAMgX,GAEpD,IAAI9e,EAAIsJ,EACR,GAEgB,OAARtJ,EAAEoS,IAAcpS,EAAEoS,EAAI5T,EAAOmhF,OAAOgC,OAAO3hF,EAAEe,EAAGf,EAAEgB,EAAG4G,EAAME,EAAMgX,IACrE9e,EAAE8hF,MAAQ9hF,EAAEm4E,KACZn4E,EAAE6hF,MAAQ7hF,EAAEwyC,KACZxyC,EAAIA,EAAEwyC,WACDxyC,IAAMsJ,GAEftJ,EAAE8hF,MAAMD,MAAQ,KAChB7hF,EAAE8hF,MAAQ,KAEVtjF,EAAOmhF,OAAOkD,WAAW7iF,IAQ7BxB,EAAOmhF,OAAOkD,WAAa,SAAU3rC,GAEjC,IAAIx3C,EAAGM,EAAG8iF,EAAGn3E,EAAGo3E,EAAMC,EAAWC,EAAOC,EACpCC,EAAS,EAEb,EACA,CAMI,IALAnjF,EAAIk3C,EACJA,EAAO,KACP6rC,EAAO,KACPC,EAAY,EAELhjF,GACP,CAII,IAHAgjF,IACAF,EAAI9iF,EACJijF,EAAQ,EACHvjF,EAAI,EAAGA,EAAIyjF,IAEZF,IACAH,EAAIA,EAAEjB,OAHcniF,KASxB,IAFAwjF,EAAQC,EAEDF,EAAQ,GAAMC,EAAQ,GAAKJ,GAEhB,IAAVG,GAEAt3E,EAAIm3E,EACJA,EAAIA,EAAEjB,MACNqB,KAEe,IAAVA,GAAgBJ,EAMhB9iF,EAAEoS,GAAK0wE,EAAE1wE,GAEdzG,EAAI3L,EACJA,EAAIA,EAAE6hF,MACNoB,MAIAt3E,EAAIm3E,EACJA,EAAIA,EAAEjB,MACNqB,MAdAv3E,EAAI3L,EACJA,EAAIA,EAAE6hF,MACNoB,KAeAF,EAAQA,EAAKlB,MAAQl2E,EAClBurC,EAAOvrC,EAEdA,EAAEm2E,MAAQiB,EACVA,EAAOp3E,EAGX3L,EAAI8iF,EAGRC,EAAKlB,MAAQ,KACbsB,GAAU,QACLH,EAAY,GAErB,OAAO9rC,GAKX14C,EAAOmhF,OAAOgC,OAAS,SAAU5gF,EAAGC,EAAG4G,EAAME,EAAMgX,GAgB/C,OAbA/d,EAAI,OAASA,EAAI6G,GAAQkX,EACzB9d,EAAI,OAASA,EAAI8G,GAAQgX,EAEzB/d,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,GAKrBxC,EAAOmhF,OAAOwC,YAAc,SAAU74E,GAElC,IAAItJ,EAAIsJ,EACJ85E,EAAW95E,EACf,GAEQtJ,EAAEe,EAAIqiF,EAASriF,IAAKqiF,EAAWpjF,GACnCA,EAAIA,EAAEwyC,WACDxyC,IAAMsJ,GAEf,OAAO85E,GAKX5kF,EAAOmhF,OAAO0B,gBAAkB,SAAUgC,EAAIC,EAAIC,EAAIC,EAAIt3E,EAAIC,EAAI+jB,EAAIkkC,GAElE,OAAQloD,EAAKgkB,IAAOozD,EAAKlvB,IAAOivB,EAAKnzD,IAAO/jB,EAAKioD,IAAO,IACnDivB,EAAKnzD,IAAOszD,EAAKpvB,IAAOmvB,EAAKrzD,IAAOozD,EAAKlvB,IAAO,IAChDmvB,EAAKrzD,IAAO/jB,EAAKioD,IAAOloD,EAAKgkB,IAAOszD,EAAKpvB,IAAO,GAKzD51D,EAAOmhF,OAAOqC,gBAAkB,SAAU9hF,EAAGC,GAEzC,OAAO3B,EAAOmhF,OAAOpsD,OAAOrzB,EAAGC,IAAMD,EAAEsyC,KAAK9yC,IAAMS,EAAET,GAAKQ,EAAEi4E,KAAKz4E,IAAMS,EAAET,IAAMlB,EAAOmhF,OAAO8D,kBAAkBvjF,EAAGC,IAC7G3B,EAAOmhF,OAAOoC,cAAc7hF,EAAGC,IAAM3B,EAAOmhF,OAAOoC,cAAc5hF,EAAGD,IAAM1B,EAAOmhF,OAAO+D,aAAaxjF,EAAGC,IAKhH3B,EAAOmhF,OAAOzjD,KAAO,SAAUl8B,EAAG8iF,EAAG5hF,GAEjC,OAAQ4hF,EAAE9hF,EAAIhB,EAAEgB,IAAME,EAAEH,EAAI+hF,EAAE/hF,IAAM+hF,EAAE/hF,EAAIf,EAAEe,IAAMG,EAAEF,EAAI8hF,EAAE9hF,IAK9DxC,EAAOmhF,OAAOpsD,OAAS,SAAUiB,EAAIwI,GAEjC,OAAOxI,EAAGzzB,IAAMi8B,EAAGj8B,GAAKyzB,EAAGxzB,IAAMg8B,EAAGh8B,GAKxCxC,EAAOmhF,OAAOnsD,WAAa,SAAUgB,EAAImvD,EAAI3mD,EAAI4mD,GAE7C,OAAOplF,EAAOmhF,OAAOzjD,KAAK1H,EAAImvD,EAAI3mD,GAAM,GAAMx+B,EAAOmhF,OAAOzjD,KAAK1H,EAAImvD,EAAIC,GAAM,GAC3EplF,EAAOmhF,OAAOzjD,KAAKc,EAAI4mD,EAAIpvD,GAAM,GAAMh2B,EAAOmhF,OAAOzjD,KAAKc,EAAI4mD,EAAID,GAAM,GAKhFnlF,EAAOmhF,OAAO8D,kBAAoB,SAAUvjF,EAAGC,GAE3C,IAAIH,EAAIE,EACR,EACA,CACI,GAAIF,EAAEN,IAAMQ,EAAER,GAAKM,EAAEwyC,KAAK9yC,IAAMQ,EAAER,GAAKM,EAAEN,IAAMS,EAAET,GAAKM,EAAEwyC,KAAK9yC,IAAMS,EAAET,GACjElB,EAAOmhF,OAAOnsD,WAAWxzB,EAAGA,EAAEwyC,KAAMtyC,EAAGC,GAAM,OAAO,EACxDH,EAAIA,EAAEwyC,WACDxyC,IAAME,GAEf,OAAO,GAKX1B,EAAOmhF,OAAOoC,cAAgB,SAAU7hF,EAAGC,GAEvC,OAAO3B,EAAOmhF,OAAOzjD,KAAKh8B,EAAEi4E,KAAMj4E,EAAGA,EAAEsyC,MAAQ,EAC3Ch0C,EAAOmhF,OAAOzjD,KAAKh8B,EAAGC,EAAGD,EAAEsyC,OAAS,GAAKh0C,EAAOmhF,OAAOzjD,KAAKh8B,EAAGA,EAAEi4E,KAAMh4E,IAAM,EAC7E3B,EAAOmhF,OAAOzjD,KAAKh8B,EAAGC,EAAGD,EAAEi4E,MAAQ,GAAK35E,EAAOmhF,OAAOzjD,KAAKh8B,EAAGA,EAAEsyC,KAAMryC,GAAK,GAKnF3B,EAAOmhF,OAAO+D,aAAe,SAAUxjF,EAAGC,GAEtC,IAAIH,EAAIE,EACJs8B,GAAS,EACTtM,GAAMhwB,EAAEa,EAAIZ,EAAEY,GAAK,EACnBqzD,GAAMl0D,EAAEc,EAAIb,EAAEa,GAAK,EACvB,GAEUhB,EAAEgB,EAAIozD,GAASp0D,EAAEwyC,KAAKxxC,EAAIozD,GAASlkC,GAAMlwB,EAAEwyC,KAAKzxC,EAAIf,EAAEe,IAAMqzD,EAAKp0D,EAAEgB,IAAMhB,EAAEwyC,KAAKxxC,EAAIhB,EAAEgB,GAAKhB,EAAEe,IACjGy7B,GAAUA,GACZx8B,EAAIA,EAAEwyC,WACDxyC,IAAME,GAEf,OAAOs8B,GAQXh+B,EAAOmhF,OAAOsC,aAAe,SAAU/hF,EAAGC,GAEtC,IAAIg3B,EAAK,IAAI34B,EAAOmhF,OAAOkE,KAAK3jF,EAAER,EAAGQ,EAAEa,EAAGb,EAAEc,GACxCq2B,EAAK,IAAI74B,EAAOmhF,OAAOkE,KAAK1jF,EAAET,EAAGS,EAAEY,EAAGZ,EAAEa,GACxC8iF,EAAK5jF,EAAEsyC,KACPuxC,EAAK5jF,EAAEg4E,KAcX,OAZAj4E,EAAEsyC,KAAOryC,EACTA,EAAEg4E,KAAOj4E,EAETi3B,EAAGqb,KAAOsxC,EACVA,EAAG3L,KAAOhhD,EAEVE,EAAGmb,KAAOrb,EACVA,EAAGghD,KAAO9gD,EAEV0sD,EAAGvxC,KAAOnb,EACVA,EAAG8gD,KAAO4L,EAEH1sD,GAKX74B,EAAOmhF,OAAOc,WAAa,SAAU/gF,EAAGqB,EAAGC,EAAGu/E,GAE1C,IAAIvgF,EAAI,IAAIxB,EAAOmhF,OAAOkE,KAAKnkF,EAAGqB,EAAGC,GAcrC,OAZKu/E,GAODvgF,EAAEwyC,KAAO+tC,EAAK/tC,KACdxyC,EAAEm4E,KAAOoI,EACTA,EAAK/tC,KAAK2lC,KAAOn4E,EACjBugF,EAAK/tC,KAAOxyC,IARZA,EAAEm4E,KAAOn4E,EACTA,EAAEwyC,KAAOxyC,GASNA,GAGXxB,EAAOmhF,OAAOkB,WAAa,SAAU7gF,GAEjCA,EAAEwyC,KAAK2lC,KAAOn4E,EAAEm4E,KAChBn4E,EAAEm4E,KAAK3lC,KAAOxyC,EAAEwyC,KAEZxyC,EAAE8hF,QAAS9hF,EAAE8hF,MAAMD,MAAQ7hF,EAAE6hF,OAC7B7hF,EAAE6hF,QAAS7hF,EAAE6hF,MAAMC,MAAQ9hF,EAAE8hF,QAGrCtjF,EAAOmhF,OAAOkE,KAAO,SAAUnkF,EAAGqB,EAAGC,GAGjChE,KAAK0C,EAAIA,EAGT1C,KAAK+D,EAAIA,EACT/D,KAAKgE,EAAIA,EAGThE,KAAKm7E,KAAO,KACZn7E,KAAKw1C,KAAO,KAGZx1C,KAAKoV,EAAI,KAGTpV,KAAK8kF,MAAQ,KACb9kF,KAAK6kF,MAAQ,KAGb7kF,KAAK4jF,SAAU,GAgBnBplF,KAAKwf,cAAgB,aASrBxf,KAAKwf,cAAcgpE,mBAAqB,EAWxCxoF,KAAKwf,cAAc+gE,eAAiB,SAAUvgE,EAAU5Y,GAEpD,IAII6Y,EAJA9gB,EAAKiI,EAAcjI,GACnB6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OACvBxK,EAASrH,EAAc8R,cAAciJ,gBAGtCnC,EAAShN,OAERhT,KAAKwf,cAAcC,eAAeO,EAAU7gB,GAGhD,IAAIyhD,EAAQ5gC,EAASN,OAAOvgB,EAAGuW,IAG/B,GAAIkrC,EAOJ,IAAK,IAAI18C,EAAI,EAAGA,EAAI08C,EAAMhrC,KAAKzR,OAAQD,IAET,IAAvB08C,EAAMhrC,KAAK1R,GAAG0c,MAEbX,EAAY2gC,EAAMhrC,KAAK1R,GAEvBkD,EAAcmS,eAAeoG,YAAYK,EAAUC,EAAW7Y,GAG9DjI,EAAG0hB,aAAa1hB,EAAG2hB,aAAc,EAAG3hB,EAAG4hB,eAAiD,GAAhCd,EAAU7L,QAAQjQ,OAAS,IAEnFiD,EAAcmS,eAAeqG,WAAWI,EAAUC,EAAW7Y,KAI7D6Y,EAAY2gC,EAAMhrC,KAAK1R,GAGvBkD,EAAc8R,cAAcoI,UAAU7S,GACtCA,EAASrH,EAAc8R,cAAciJ,gBACrChjB,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOwI,EAASjd,eAAeye,SAAQ,IAErFriB,EAAGoiB,UAAU9S,EAAO8H,MAAO,GAE3BpX,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GAErDrG,EAAGuiB,WAAWjT,EAAOkJ,UAAW3U,EAAO2e,MAAMC,cAAc5B,EAASzR,OAEpEpP,EAAGoiB,UAAU9S,EAAOhM,MAAOud,EAASld,YAGpC3D,EAAG0iB,WAAW1iB,EAAG2iB,aAAc7B,EAAUvD,QAEzCvd,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,GAAO,GAC1E7iB,EAAG4iB,oBAAoBtT,EAAOyF,eAAgB,EAAG/U,EAAG6iB,OAAO,EAAM,GAAO,GAGxE7iB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBhC,EAAUiC,aACjD/iB,EAAG0hB,aAAa1hB,EAAGgiB,eAAgBlB,EAAU7L,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,KAc5F/gB,KAAKwf,cAAcC,eAAiB,SAAUO,EAAU7gB,GAGpD,IAAIyhD,EAAQ5gC,EAASN,OAAOvgB,EAAGuW,IAG3BkrC,IAASA,EAAQ5gC,EAASN,OAAOvgB,EAAGuW,KAAO+yE,UAAW,EAAG7yE,QAAUzW,GAAIA,IAG3E6gB,EAAShN,OAAQ,EAEjB,IAAI9O,EAGJ,GAAG8b,EAAS0oE,WACZ,CAII,IAHA1oE,EAAS0oE,YAAa,EAGjBxkF,EAAI,EAAGA,EAAI08C,EAAMhrC,KAAKzR,OAAQD,IACnC,CACI,IAAIokD,EAAe1H,EAAMhrC,KAAK1R,GAC9BokD,EAAa1gB,QACb5nC,KAAKwf,cAAcmpE,iBAAiBr/E,KAAKg/C,GAI7C1H,EAAMhrC,QACNgrC,EAAM6nC,UAAY,EAGtB,IAAIxoE,EAOJ,IAAK/b,EAAI08C,EAAM6nC,UAAWvkF,EAAI8b,EAASsoC,aAAankD,OAAQD,IAC5D,CACI,IAAI0R,EAAOoK,EAASsoC,aAAapkD,GAE7B0R,EAAKZ,OAAShS,EAAOsrB,SAGrB1Y,EAAKkqB,OAASlqB,EAAK4yC,MAAM1oB,OAAOtO,QAC7B5b,EAAK4yC,MAAM5nB,SAGPhrB,EAAKkqB,OAAO,KAAOlqB,EAAKkqB,OAAOlqB,EAAKkqB,OAAO37B,OAAS,IAAMyR,EAAKkqB,OAAO,KAAOlqB,EAAKkqB,OAAOlqB,EAAKkqB,OAAO37B,OAAS,IAE7GyR,EAAKkqB,OAAOx2B,KAAKsM,EAAKkqB,OAAO,GAAIlqB,EAAKkqB,OAAO,KAKlDlqB,EAAK2yC,MAED3yC,EAAKkqB,OAAO37B,QAAUnE,KAAKwf,cAAcgpE,qBAErC5yE,EAAKkqB,OAAO37B,OAAiD,EAAxCnE,KAAKwf,cAAcgpE,oBAEvCvoE,EAAYjgB,KAAKwf,cAAcopE,WAAWhoC,EAAO,GAExB5gD,KAAKwf,cAAcqpE,UAAUjzE,EAAMqK,KAOxDA,EAAYjgB,KAAKwf,cAAcopE,WAAWhoC,EAAO,GACjD5gD,KAAKwf,cAAcspE,iBAAiBlzE,EAAMqK,MAK9CA,EAAYjgB,KAAKwf,cAAcopE,WAAWhoC,EAAO,GACjD5gD,KAAKwf,cAAcspE,iBAAiBlzE,EAAMqK,KAKnDrK,EAAKgsE,UAAY,IAEhB3hE,EAAYjgB,KAAKwf,cAAcopE,WAAWhoC,EAAO,GACjD5gD,KAAKwf,cAAcupE,UAAUnzE,EAAMqK,MAKvCA,EAAYjgB,KAAKwf,cAAcopE,WAAWhoC,EAAO,GAE7ChrC,EAAKZ,OAAShS,EAAOgsB,UAErBhvB,KAAKwf,cAAcwpE,eAAepzE,EAAMqK,GAEnCrK,EAAKZ,OAAShS,EAAO+rB,QAAUnZ,EAAKZ,OAAShS,EAAO0rB,QAEzD1uB,KAAKwf,cAAcypE,YAAYrzE,EAAMqK,GAEhCrK,EAAKZ,OAAShS,EAAOosB,kBAE1BpvB,KAAKwf,cAAc0pE,sBAAsBtzE,EAAMqK,IAIvD2gC,EAAM6nC,YAIV,IAAKvkF,EAAI,EAAGA,EAAI08C,EAAMhrC,KAAKzR,OAAQD,KAE/B+b,EAAY2gC,EAAMhrC,KAAK1R,IACV8O,OAASiN,EAAUkpE,UAWxCnpF,KAAKwf,cAAcopE,WAAa,SAAUhoC,EAAO5rC,GAE7C,IAAIiL,EAsBJ,OApBI2gC,EAAMhrC,KAAKzR,QAQX8b,EAAY2gC,EAAMhrC,KAAKgrC,EAAMhrC,KAAKzR,OAAS,IAE9Byc,OAAS5L,GAAiB,IAATA,KAE1BiL,EAAYjgB,KAAKwf,cAAcmpE,iBAAiBvmE,OAAS,IAAIpiB,KAAKopF,kBAAkBxoC,EAAMzhD,KAChFyhB,KAAO5L,EACjB4rC,EAAMhrC,KAAKtM,KAAK2W,MAZpBA,EAAYjgB,KAAKwf,cAAcmpE,iBAAiBvmE,OAAS,IAAIpiB,KAAKopF,kBAAkBxoC,EAAMzhD,KAChFyhB,KAAO5L,EACjB4rC,EAAMhrC,KAAKtM,KAAK2W,IAcpBA,EAAUjN,OAAQ,EAEXiN,GAYXjgB,KAAKwf,cAAcwpE,eAAiB,SAAU1gC,EAAcroC,GAOxD,IAAIopE,EAAW/gC,EAAaE,MACxBjjD,EAAI8jF,EAAS9jF,EACbC,EAAI6jF,EAAS7jF,EACbpG,EAAQiqF,EAASjqF,MACjBC,EAASgqF,EAAShqF,OAEtB,GAAGipD,EAAaC,KAChB,CACI,IAAI1wC,EAAQ7U,EAAO2e,MAAMC,cAAc0mC,EAAaghC,WAChD7mF,EAAQ6lD,EAAaihC,UAErB7jF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf+mF,EAAQvpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpBq1E,EAAUD,EAAMrlF,OAAS,EAG7BqlF,EAAMlgF,KAAK/D,EAAGC,GACdgkF,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAK/D,EAAInG,EAAOoG,GACtBgkF,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAK/D,EAAIC,EAAInG,GACnBmqF,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAK/D,EAAInG,EAAOoG,EAAInG,GAC1BmqF,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAGpB2R,EAAQ9K,KAAKmgF,EAASA,EAASA,EAAU,EAAGA,EAAU,EAAGA,EAAU,EAAGA,EAAU,GAGpF,GAAInhC,EAAas5B,UACjB,CACI,IAAI8H,EAAaphC,EAAaxoB,OAE9BwoB,EAAaxoB,QAAWv6B,EAAGC,EACvBD,EAAInG,EAAOoG,EACXD,EAAInG,EAAOoG,EAAInG,EACfkG,EAAGC,EAAInG,EACPkG,EAAGC,GAGPxF,KAAKwf,cAAcupE,UAAUzgC,EAAcroC,GAE3CqoC,EAAaxoB,OAAS4pD,IAa9B1pF,KAAKwf,cAAc0pE,sBAAwB,SAAU5gC,EAAcroC,GAE/D,IAAI0pE,EAAYrhC,EAAaE,MACzBjjD,EAAIokF,EAAUpkF,EACdC,EAAImkF,EAAUnkF,EACdpG,EAAQuqF,EAAUvqF,MAClBC,EAASsqF,EAAUtqF,OAEnBs3B,EAASgzD,EAAUhzD,OAEnBizD,KAOJ,GANAA,EAAUtgF,KAAK/D,EAAGC,EAAImxB,GACtBizD,EAAYA,EAAU/3D,OAAO7xB,KAAKwf,cAAcqqE,qBAAqBtkF,EAAGC,EAAInG,EAASs3B,EAAQpxB,EAAGC,EAAInG,EAAQkG,EAAIoxB,EAAQnxB,EAAInG,IAC5HuqF,EAAYA,EAAU/3D,OAAO7xB,KAAKwf,cAAcqqE,qBAAqBtkF,EAAInG,EAAQu3B,EAAQnxB,EAAInG,EAAQkG,EAAInG,EAAOoG,EAAInG,EAAQkG,EAAInG,EAAOoG,EAAInG,EAASs3B,IACpJizD,EAAYA,EAAU/3D,OAAO7xB,KAAKwf,cAAcqqE,qBAAqBtkF,EAAInG,EAAOoG,EAAImxB,EAAQpxB,EAAInG,EAAOoG,EAAGD,EAAInG,EAAQu3B,EAAQnxB,IAC9HokF,EAAYA,EAAU/3D,OAAO7xB,KAAKwf,cAAcqqE,qBAAqBtkF,EAAIoxB,EAAQnxB,EAAGD,EAAGC,EAAGD,EAAGC,EAAImxB,IAE7F2xB,EAAaC,KACjB,CACI,IAAI1wC,EAAQ7U,EAAO2e,MAAMC,cAAc0mC,EAAaghC,WAChD7mF,EAAQ6lD,EAAaihC,UAErB7jF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf+mF,EAAQvpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpB01E,EAASN,EAAMrlF,OAAS,EAExBwgF,EAAY3hF,EAAOmhF,OAAOC,YAAYwF,EAAW,KAAM,GAEvD1lF,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIygF,EAAUxgF,OAAQD,GAAK,EAEnCkQ,EAAQ9K,KAAKq7E,EAAUzgF,GAAK4lF,GAC5B11E,EAAQ9K,KAAKq7E,EAAUzgF,GAAK4lF,GAC5B11E,EAAQ9K,KAAKq7E,EAAUzgF,EAAI,GAAK4lF,GAChC11E,EAAQ9K,KAAKq7E,EAAUzgF,EAAI,GAAK4lF,GAChC11E,EAAQ9K,KAAKq7E,EAAUzgF,EAAI,GAAK4lF,GAIpC,IAAK5lF,EAAI,EAAGA,EAAI0lF,EAAUzlF,OAAQD,IAE9BslF,EAAMlgF,KAAKsgF,EAAU1lF,GAAI0lF,IAAY1lF,GAAIwB,EAAGyW,EAAGxX,EAAGlC,GAI1D,GAAI6lD,EAAas5B,UACjB,CACI,IAAI8H,EAAaphC,EAAaxoB,OAE9BwoB,EAAaxoB,OAAS8pD,EAEtB5pF,KAAKwf,cAAcupE,UAAUzgC,EAAcroC,GAE3CqoC,EAAaxoB,OAAS4pD,IAoB9B1pF,KAAKwf,cAAcqqE,qBAAuB,SAAUE,EAAOC,EAAOC,EAAKC,EAAKC,EAAKC,GAW7E,SAASC,EAAOC,EAAKC,EAAIC,GAIrB,OAAOF,GAFIC,EAAKD,GAEIE,EAIxB,IAAK,IAjBDC,EACAC,EACAC,EACAC,EACArlF,EACAC,EAEAs6B,KASAz2B,EAAI,EACCnF,EAAI,EAAGA,GAXR,GAWgBA,IAKpBumF,EAAKJ,EAAMN,EAAQE,EAHnB5gF,EAAInF,EAbA,IAiBJwmF,EAAKL,EAAML,EAAQE,EAAM7gF,GACzBshF,EAAKN,EAAMJ,EAAME,EAAM9gF,GACvBuhF,EAAKP,EAAMH,EAAME,EAAM/gF,GAGvB9D,EAAI8kF,EAAMI,EAAKE,EAAKthF,GACpB7D,EAAI6kF,EAAMK,EAAKE,EAAKvhF,GAEpBy2B,EAAOx2B,KAAK/D,EAAGC,GAEnB,OAAOs6B,GAYX9/B,KAAKwf,cAAcypE,YAAc,SAAU3gC,EAAcroC,GAGrD,IAGI7gB,EACAC,EAJAwrF,EAAaviC,EAAaE,MAC1BjjD,EAAIslF,EAAWtlF,EACfC,EAAIqlF,EAAWrlF,EAKf8iD,EAAatzC,OAAShS,EAAO+rB,QAE7B3vB,EAAQyrF,EAAWl0D,OACnBt3B,EAASwrF,EAAWl0D,SAIpBv3B,EAAQyrF,EAAWzrF,MACnBC,EAASwrF,EAAWxrF,QAGxB,IACIyrF,EAAiB,EAAV5lF,KAAKsxB,GADA,GAGZtyB,EAAI,EAER,GAAGokD,EAAaC,KAChB,CACI,IAAI1wC,EAAQ7U,EAAO2e,MAAMC,cAAc0mC,EAAaghC,WAChD7mF,EAAQ6lD,EAAaihC,UAErB7jF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEf+mF,EAAQvpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpB01E,EAASN,EAAMrlF,OAAS,EAI5B,IAFAiQ,EAAQ9K,KAAKwgF,GAER5lF,EAAI,EAAGA,EAAI6mF,GAAe7mF,IAE3BslF,EAAMlgF,KAAK/D,EAAEC,EAAGE,EAAGyW,EAAGxX,EAAGlC,GAEzB+mF,EAAMlgF,KAAK/D,EAAIL,KAAKG,IAAIylF,EAAM5mF,GAAK9E,EAC/BoG,EAAIN,KAAKI,IAAIwlF,EAAM5mF,GAAK7E,EACxBqG,EAAGyW,EAAGxX,EAAGlC,GAEb2R,EAAQ9K,KAAKwgF,IAAUA,KAG3B11E,EAAQ9K,KAAKwgF,EAAS,GAG1B,GAAGxhC,EAAas5B,UAChB,CACI,IAAI8H,EAAaphC,EAAaxoB,OAI9B,IAFAwoB,EAAaxoB,UAER57B,EAAI,EAAGA,EAAI6mF,GAAe7mF,IAE3BokD,EAAaxoB,OAAOx2B,KAAK/D,EAAIL,KAAKG,IAAIylF,EAAM5mF,GAAK9E,EAC7CoG,EAAIN,KAAKI,IAAIwlF,EAAM5mF,GAAK7E,GAGhCW,KAAKwf,cAAcupE,UAAUzgC,EAAcroC,GAE3CqoC,EAAaxoB,OAAS4pD,IAa9B1pF,KAAKwf,cAAcupE,UAAY,SAAUzgC,EAAcroC,GAGnD,IAAI/b,EAAI,EACJ47B,EAASwoB,EAAaxoB,OAC1B,GAAqB,IAAlBA,EAAO37B,OAAV,CAGA,GAAGmkD,EAAas5B,UAAY,EAExB,IAAK19E,EAAI,EAAGA,EAAI47B,EAAO37B,OAAQD,IAE3B47B,EAAO57B,IAAM,GAKrB,IAAI8mF,EAAa,IAAIhrF,KAAKqC,MAAMy9B,EAAO,GAAIA,EAAO,IAC9CmrD,EAAY,IAAIjrF,KAAKqC,MAAMy9B,EAAOA,EAAO37B,OAAS,GAAI27B,EAAOA,EAAO37B,OAAS,IAGjF,GAAG6mF,EAAWzlF,IAAM0lF,EAAU1lF,GAAKylF,EAAWxlF,IAAMylF,EAAUzlF,EAC9D,EAEIs6B,EAASA,EAAOtO,SAETpP,MACP0d,EAAO1d,MAIP,IAAI8oE,GAFJD,EAAY,IAAIjrF,KAAKqC,MAAMy9B,EAAOA,EAAO37B,OAAS,GAAI27B,EAAOA,EAAO37B,OAAS,KAEnDoB,EAAmC,IAA9BylF,EAAWzlF,EAAI0lF,EAAU1lF,GACpD4lF,EAAYF,EAAUzlF,EAAmC,IAA9BwlF,EAAWxlF,EAAIylF,EAAUzlF,GAExDs6B,EAAOsrD,QAAQF,EAAWC,GAC1BrrD,EAAOx2B,KAAK4hF,EAAWC,GAG3B,IAgBIz2D,EAAIkkC,EAAIyyB,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtCtwD,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAciwD,EAnBdzC,EAAQvpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QACpBjQ,EAAS27B,EAAO37B,OAAS,EACzB+nF,EAAapsD,EAAO37B,OACpBgoF,EAAa3C,EAAMrlF,OAAS,EAG5B/E,EAAQkpD,EAAas5B,UAAY,EAGjC/pE,EAAQ7U,EAAO2e,MAAMC,cAAc0mC,EAAa8jC,WAChD3pF,EAAQ6lD,EAAa+jC,UACrB3mF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EA8BnB,IAvBA4oF,EAAMvrD,EAAO,GACbwrD,EAAMxrD,EAAO,GAEbyrD,EAAMzrD,EAAO,GAGb6rD,IAAUL,GAFVE,EAAM1rD,EAAO,KAGb8rD,EAAQP,EAAME,EAIdI,GAFAM,EAAO/mF,KAAKS,KAAKgmF,EAAQA,EAAQC,EAAQA,GAGzCA,GAASK,EACTN,GAASvsF,EACTwsF,GAASxsF,EAGToqF,EAAMlgF,KAAK+hF,EAAMM,EAAQL,EAAMM,EAC3BlmF,EAAGyW,EAAGxX,EAAGlC,GAEb+mF,EAAMlgF,KAAK+hF,EAAMM,EAAQL,EAAMM,EAC3BlmF,EAAGyW,EAAGxX,EAAGlC,GAERyB,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAExBmnF,EAAMvrD,EAAiB,GAAT57B,EAAI,IAClBonF,EAAMxrD,EAAiB,GAAT57B,EAAI,GAAS,GAE3BqnF,EAAMzrD,EAAa,EAAN,GACb0rD,EAAM1rD,EAAa,EAAN,EAAU,GAEvB2rD,EAAM3rD,EAAiB,GAAT57B,EAAI,IAClBwnF,EAAM5rD,EAAiB,GAAT57B,EAAI,GAAS,GAE3BynF,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAGdI,GADAM,EAAO/mF,KAAKS,KAAKgmF,EAAQA,EAAQC,EAAQA,GAEzCA,GAASK,EACTN,GAASvsF,EACTwsF,GAASxsF,EAETysF,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAGfI,GADAI,EAAO/mF,KAAKS,KAAKkmF,EAASA,EAASC,EAASA,GAE5CA,GAAUG,EAMVnwD,IAAO6vD,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAGlEvvD,KARA8vD,GAAUzsF,GAQMqsF,MAPhBK,GAAU1sF,GAOwBosF,KAASK,EAASN,KAASO,EAASJ,GAEtE1vD,GAPAN,GAAOkwD,EAAQN,IAASM,EAAQJ,KAIhC3vD,GAAOgwD,EAASN,IAASM,EAASJ,KADlC9vD,GAAOmwD,EAASJ,IAASI,EAASN,KAFlC5vD,GAAO+vD,EAAQJ,IAASI,EAAQN,IAQ7BnmF,KAAKizB,IAAI6D,GAAS,IAEjBA,GAAS,KACTwtD,EAAMlgF,KAAKiiF,EAAMI,EAAQH,EAAMI,EAC3BlmF,EAAGyW,EAAGxX,EAAGlC,GAEb+mF,EAAMlgF,KAAKiiF,EAAMI,EAAQH,EAAMI,EAC3BlmF,EAAGyW,EAAGxX,EAAGlC,MAKjBiyB,GAAMkH,EAAKG,EAAKF,EAAKC,GAAME,GAIbuvD,IAAQ72D,EAAK62D,KAH3B3yB,GAAMj9B,EAAKG,EAAKJ,EAAKK,GAAMC,GAGawvD,IAAQ5yB,EAAK4yB,GAG1C,OAEPO,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAGjBC,GADAE,EAAO/mF,KAAKS,KAAKomF,EAASA,EAASC,EAASA,GAE5CA,GAAUC,EACVF,GAAU3sF,EACV4sF,GAAU5sF,EAEVoqF,EAAMlgF,KAAKiiF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAKiiF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAKiiF,EAAMQ,EAAQP,EAAMQ,GAC/BxC,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpBypF,MAIA1C,EAAMlgF,KAAKorB,EAAKkkC,GAChB4wB,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAKiiF,GAAO72D,EAAK62D,GAAMC,GAAO5yB,EAAK4yB,IACzChC,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,IA2B5B,IAvBA4oF,EAAMvrD,EAAsB,GAAd37B,EAAS,IACvBmnF,EAAMxrD,EAAsB,GAAd37B,EAAS,GAAS,GAEhConF,EAAMzrD,EAAsB,GAAd37B,EAAS,IAGvBwnF,IAAUL,GAFVE,EAAM1rD,EAAsB,GAAd37B,EAAS,GAAS,KAGhCynF,EAAQP,EAAME,EAGdI,GADAM,EAAO/mF,KAAKS,KAAKgmF,EAAQA,EAAQC,EAAQA,GAEzCA,GAASK,EACTN,GAASvsF,EACTwsF,GAASxsF,EAEToqF,EAAMlgF,KAAKiiF,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB+mF,EAAMlgF,KAAKiiF,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAMlgF,KAAK5D,EAAGyW,EAAGxX,EAAGlC,GAEpB2R,EAAQ9K,KAAK6iF,GAERjoF,EAAI,EAAGA,EAAIgoF,EAAYhoF,IAExBkQ,EAAQ9K,KAAK6iF,KAGjB/3E,EAAQ9K,KAAK6iF,EAAa,KAY9BnsF,KAAKwf,cAAcspE,iBAAmB,SAAUxgC,EAAcroC,GAG1D,IAAI6f,EAASwoB,EAAaxoB,OAAOtO,QACjC,KAAGsO,EAAO37B,OAAS,GAAnB,CAGA,IAAIiQ,EAAU6L,EAAU7L,QACxB6L,EAAU6f,OAASA,EACnB7f,EAAUxd,MAAQ6lD,EAAaihC,UAC/BtpE,EAAUpI,MAAQ7U,EAAO2e,MAAMC,cAAc0mC,EAAaghC,WAc1D,IAAK,IAHD/jF,EAAEC,EANF4G,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAKHnI,EAAI,EAAGA,EAAI47B,EAAO37B,OAAQD,GAAK,EAEpCqB,EAAIu6B,EAAO57B,GACXsB,EAAIs6B,EAAO57B,EAAI,GAEfkI,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBG,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAEtBD,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EACtBE,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAI1BszB,EAAOx2B,KAAK8C,EAAME,EACdC,EAAMD,EACNC,EAAMC,EACNJ,EAAMI,GAKV,IAAIrI,EAAS27B,EAAO37B,OAAS,EAC7B,IAAKD,EAAI,EAAGA,EAAIC,EAAQD,IAEpBkQ,EAAQ9K,KAAKpF,KAarBlE,KAAKwf,cAAcqpE,UAAY,SAAUvgC,EAAcroC,GAEnD,IAAI6f,EAASwoB,EAAaxoB,OAE1B,KAAGA,EAAO37B,OAAS,GAAnB,CAGA,IAAIqlF,EAAQvpE,EAAU6f,OAClB1rB,EAAU6L,EAAU7L,QAEpBjQ,EAAS27B,EAAO37B,OAAS,EAGzB0T,EAAQ7U,EAAO2e,MAAMC,cAAc0mC,EAAaghC,WAChD7mF,EAAQ6lD,EAAaihC,UACrB7jF,EAAImS,EAAM,GAAKpV,EACf0Z,EAAItE,EAAM,GAAKpV,EACfkC,EAAIkT,EAAM,GAAKpV,EAEfkiF,EAAY3hF,EAAOmhF,OAAOC,YAAYtkD,EAAQ,KAAM,GAExD,IAAI6kD,EAAa,OAAO,EAExB,IAAI8E,EAAUD,EAAMrlF,OAAS,EAEzBD,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIygF,EAAUxgF,OAAQD,GAAK,EAEnCkQ,EAAQ9K,KAAKq7E,EAAUzgF,GAAKulF,GAC5Br1E,EAAQ9K,KAAKq7E,EAAUzgF,GAAKulF,GAC5Br1E,EAAQ9K,KAAKq7E,EAAUzgF,EAAI,GAAKulF,GAChCr1E,EAAQ9K,KAAKq7E,EAAUzgF,EAAI,GAAKulF,GAChCr1E,EAAQ9K,KAAKq7E,EAAUzgF,EAAI,GAAKulF,GAGpC,IAAKvlF,EAAI,EAAGA,EAAIC,EAAQD,IAEpBslF,EAAMlgF,KAAKw2B,EAAW,EAAJ57B,GAAQ47B,EAAW,EAAJ57B,EAAQ,GACrCwB,EAAGyW,EAAGxX,EAAGlC,GAGjB,OAAO,IAGXzC,KAAKwf,cAAcmpE,oBAOnB3oF,KAAKopF,kBAAoB,SAAUjqF,GAE/BqC,KAAKrC,GAAKA,EAGVqC,KAAKqW,OAAU,EAAE,EAAE,GACnBrW,KAAKs+B,UACLt+B,KAAK4S,WACL5S,KAAKkb,OAASvd,EAAGulB,eACjBljB,KAAK0gB,YAAc/iB,EAAGulB,eACtBljB,KAAKof,KAAO,EACZpf,KAAKiB,MAAQ,EACbjB,KAAKwR,OAAQ,GAMjBhT,KAAKopF,kBAAkBtlF,UAAU8jC,MAAQ,WAErCpmC,KAAKs+B,UACLt+B,KAAK4S,YAMTpU,KAAKopF,kBAAkBtlF,UAAUqlF,OAAS,WAEtC,IAAIhqF,EAAKqC,KAAKrC,GAGdqC,KAAK8qF,SAAW,IAAIzoE,aAAariB,KAAKs+B,QAEtC3gC,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKkb,QACpCvd,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAK8qF,SAAUntF,EAAGylB,aAEjDpjB,KAAK+qF,WAAa,IAAIvoE,YAAYxiB,KAAK4S,SAEvCjV,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAK0gB,aAC5C/iB,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK+qF,WAAYptF,EAAGylB,aAE3DpjB,KAAKwR,OAAQ,GAcjBhT,KAAK6pB,eAAiB,aAYtB7pB,KAAK6pB,eAAe02D,eAAiB,SAAUvgE,EAAU1Q,GAErD,IAAIxM,EAAakd,EAASld,WAEtBkd,EAAShN,QAETxR,KAAKgrF,mBAAmBxsE,GACxBA,EAAShN,OAAQ,GAGrB,IAAK,IAAI9O,EAAI,EAAGA,EAAI8b,EAASsoC,aAAankD,OAAQD,IAClD,CACI,IAAI0R,EAAOoK,EAASsoC,aAAapkD,GAC7BskD,EAAQ5yC,EAAK4yC,MAEb8gC,EAAY1zE,EAAK62E,UACjBL,EAAYx2E,EAAK82E,UAIrB,GAFAp9E,EAAQsyE,UAAYhsE,EAAKgsE,UAErBhsE,EAAKZ,OAAShS,EAAOsrB,QACzB,CACIhf,EAAQiyE,YAER,IAAIzhD,EAAS0oB,EAAM1oB,OAEnBxwB,EAAQoyE,OAAO5hD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIz2B,EAAI,EAAGA,EAAIy2B,EAAO37B,OAAS,EAAGkF,IAEnCiG,EAAQqyE,OAAO7hD,EAAW,EAAJz2B,GAAQy2B,EAAW,EAAJz2B,EAAQ,IAG7Cm/C,EAAM5nB,QAENtxB,EAAQqyE,OAAO7hD,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAAM27B,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAEhFmL,EAAQmyE,YAGR7rE,EAAK2yC,OAELj5C,EAAQG,YAAcmG,EAAK2zE,UAAYzmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZm/D,GAAel/D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQi5C,QAGR3yC,EAAKgsE,YAELtyE,EAAQG,YAAcmG,EAAKy2E,UAAYvpF,EACvCwM,EAAQuyE,YAAc,KAAO,SAAuB,EAAZuK,GAAehiE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQwyE,eAGX,GAAIlsE,EAAKZ,OAAShS,EAAOgsB,WAEtBpZ,EAAK0zE,WAAgC,IAAnB1zE,EAAK0zE,aAEvBh6E,EAAQG,YAAcmG,EAAK2zE,UAAYzmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZm/D,GAAel/D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQgb,SAASk+B,EAAMjjD,EAAGijD,EAAMhjD,EAAGgjD,EAAMppD,MAAOopD,EAAMnpD,SAGtDuW,EAAKgsE,YAELtyE,EAAQG,YAAcmG,EAAKy2E,UAAYvpF,EACvCwM,EAAQuyE,YAAc,KAAO,SAAuB,EAAZuK,GAAehiE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQq9E,WAAWnkC,EAAMjjD,EAAGijD,EAAMhjD,EAAGgjD,EAAMppD,MAAOopD,EAAMnpD,cAG3D,GAAIuW,EAAKZ,OAAShS,EAAO+rB,OAG1Bzf,EAAQiyE,YACRjyE,EAAQkyE,IAAIh5B,EAAMjjD,EAAGijD,EAAMhjD,EAAGgjD,EAAM7xB,OAAO,EAAE,EAAIzxB,KAAKsxB,IACtDlnB,EAAQmyE,YAEJ7rE,EAAK2yC,OAELj5C,EAAQG,YAAcmG,EAAK2zE,UAAYzmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZm/D,GAAel/D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQi5C,QAGR3yC,EAAKgsE,YAELtyE,EAAQG,YAAcmG,EAAKy2E,UAAYvpF,EACvCwM,EAAQuyE,YAAc,KAAO,SAAuB,EAAZuK,GAAehiE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQwyE,eAGX,GAAIlsE,EAAKZ,OAAShS,EAAO0rB,QAC9B,CAGI,IAAI7X,EAAkB,EAAd2xC,EAAMppD,MACV2mB,EAAmB,EAAfyiC,EAAMnpD,OAEVkG,EAAIijD,EAAMjjD,EAAIsR,EAAI,EAClBrR,EAAIgjD,EAAMhjD,EAAIugB,EAAI,EAEtBzW,EAAQiyE,YAER,IACIqL,EAAM/1E,EAAI,EADF,SAERg2E,EAAM9mE,EAAI,EAFF,SAGR+mE,EAAKvnF,EAAIsR,EACTk2E,EAAKvnF,EAAIugB,EACTinE,EAAKznF,EAAIsR,EAAI,EACbo2E,EAAKznF,EAAIugB,EAAI,EAEjBzW,EAAQoyE,OAAOn8E,EAAG0nF,GAClB39E,EAAQ49E,cAAc3nF,EAAG0nF,EAAKJ,EAAIG,EAAKJ,EAAIpnF,EAAGwnF,EAAIxnF,GAClD8J,EAAQ49E,cAAcF,EAAKJ,EAAIpnF,EAAGsnF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnD39E,EAAQ49E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDz9E,EAAQ49E,cAAcF,EAAKJ,EAAIG,EAAIxnF,EAAG0nF,EAAKJ,EAAItnF,EAAG0nF,GAElD39E,EAAQmyE,YAEJ7rE,EAAK2yC,OAELj5C,EAAQG,YAAcmG,EAAK2zE,UAAYzmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZm/D,GAAel/D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQi5C,QAGR3yC,EAAKgsE,YAELtyE,EAAQG,YAAcmG,EAAKy2E,UAAYvpF,EACvCwM,EAAQuyE,YAAc,KAAO,SAAuB,EAAZuK,GAAehiE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQwyE,eAGX,GAAIlsE,EAAKZ,OAAShS,EAAOosB,iBAC9B,CACI,IAAIsT,EAAK8lB,EAAMjjD,EACXo9B,EAAK6lB,EAAMhjD,EACXpG,EAAQopD,EAAMppD,MACdC,EAASmpD,EAAMnpD,OACfs3B,EAAS6xB,EAAM7xB,OAEfw2D,EAAYjoF,KAAK41B,IAAI17B,EAAOC,GAAU,EAAI,EAC9Cs3B,EAASA,EAASw2D,EAAYA,EAAYx2D,EAE1CrnB,EAAQiyE,YACRjyE,EAAQoyE,OAAOh/C,EAAIC,EAAKhM,GACxBrnB,EAAQqyE,OAAOj/C,EAAIC,EAAKtjC,EAASs3B,GACjCrnB,EAAQ89E,iBAAiB1qD,EAAIC,EAAKtjC,EAAQqjC,EAAK/L,EAAQgM,EAAKtjC,GAC5DiQ,EAAQqyE,OAAOj/C,EAAKtjC,EAAQu3B,EAAQgM,EAAKtjC,GACzCiQ,EAAQ89E,iBAAiB1qD,EAAKtjC,EAAOujC,EAAKtjC,EAAQqjC,EAAKtjC,EAAOujC,EAAKtjC,EAASs3B,GAC5ErnB,EAAQqyE,OAAOj/C,EAAKtjC,EAAOujC,EAAKhM,GAChCrnB,EAAQ89E,iBAAiB1qD,EAAKtjC,EAAOujC,EAAID,EAAKtjC,EAAQu3B,EAAQgM,GAC9DrzB,EAAQqyE,OAAOj/C,EAAK/L,EAAQgM,GAC5BrzB,EAAQ89E,iBAAiB1qD,EAAIC,EAAID,EAAIC,EAAKhM,GAC1CrnB,EAAQmyE,aAEJ7rE,EAAK0zE,WAAgC,IAAnB1zE,EAAK0zE,aAEvBh6E,EAAQG,YAAcmG,EAAK2zE,UAAYzmF,EACvCwM,EAAQ6a,UAAY,KAAO,SAAuB,EAAZm/D,GAAel/D,SAAS,KAAKC,QAAQ,GAC3E/a,EAAQi5C,QAGR3yC,EAAKgsE,YAELtyE,EAAQG,YAAcmG,EAAKy2E,UAAYvpF,EACvCwM,EAAQuyE,YAAc,KAAO,SAAuB,EAAZuK,GAAehiE,SAAS,KAAKC,QAAQ,GAC7E/a,EAAQwyE,aAexB9hF,KAAK6pB,eAAeC,mBAAqB,SAAU9J,EAAU1Q,GAEzD,IAAIgjB,EAAMtS,EAASsoC,aAAankD,OAEhC,GAAY,IAARmuB,EAAJ,CAKAhjB,EAAQiyE,YAER,IAAK,IAAIr9E,EAAI,EAAGA,EAAIouB,EAAKpuB,IACzB,CACI,IAAI0R,EAAOoK,EAASsoC,aAAapkD,GAC7BskD,EAAQ5yC,EAAK4yC,MAEjB,GAAI5yC,EAAKZ,OAAShS,EAAOsrB,QACzB,CACI,IAAIwR,EAAS0oB,EAAM1oB,OAEnBxwB,EAAQoyE,OAAO5hD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIz2B,EAAI,EAAGA,EAAIy2B,EAAO37B,OAAS,EAAGkF,IAEnCiG,EAAQqyE,OAAO7hD,EAAW,EAAJz2B,GAAQy2B,EAAW,EAAJz2B,EAAQ,IAI7Cy2B,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAAM27B,EAAO,KAAOA,EAAOA,EAAO37B,OAAS,IAEhFmL,EAAQmyE,iBAGX,GAAI7rE,EAAKZ,OAAShS,EAAOgsB,UAE1B1f,EAAQ8sB,KAAKosB,EAAMjjD,EAAGijD,EAAMhjD,EAAGgjD,EAAMppD,MAAOopD,EAAMnpD,QAClDiQ,EAAQmyE,iBAEP,GAAI7rE,EAAKZ,OAAShS,EAAO+rB,OAG1Bzf,EAAQkyE,IAAIh5B,EAAMjjD,EAAGijD,EAAMhjD,EAAGgjD,EAAM7xB,OAAQ,EAAG,EAAIzxB,KAAKsxB,IACxDlnB,EAAQmyE,iBAEP,GAAI7rE,EAAKZ,OAAShS,EAAO0rB,QAC9B,CAGI,IAAI7X,EAAkB,EAAd2xC,EAAMppD,MACV2mB,EAAmB,EAAfyiC,EAAMnpD,OAEVkG,EAAIijD,EAAMjjD,EAAIsR,EAAI,EAClBrR,EAAIgjD,EAAMhjD,EAAIugB,EAAI,EAGlB6mE,EAAM/1E,EAAI,EADF,SAERg2E,EAAM9mE,EAAI,EAFF,SAGR+mE,EAAKvnF,EAAIsR,EACTk2E,EAAKvnF,EAAIugB,EACTinE,EAAKznF,EAAIsR,EAAI,EACbo2E,EAAKznF,EAAIugB,EAAI,EAEjBzW,EAAQoyE,OAAOn8E,EAAG0nF,GAClB39E,EAAQ49E,cAAc3nF,EAAG0nF,EAAKJ,EAAIG,EAAKJ,EAAIpnF,EAAGwnF,EAAIxnF,GAClD8J,EAAQ49E,cAAcF,EAAKJ,EAAIpnF,EAAGsnF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnD39E,EAAQ49E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDz9E,EAAQ49E,cAAcF,EAAKJ,EAAIG,EAAIxnF,EAAG0nF,EAAKJ,EAAItnF,EAAG0nF,GAClD39E,EAAQmyE,iBAEP,GAAI7rE,EAAKZ,OAAShS,EAAOosB,iBAC9B,CACI,IAAIsT,EAAK8lB,EAAMjjD,EACXo9B,EAAK6lB,EAAMhjD,EACXpG,EAAQopD,EAAMppD,MACdC,EAASmpD,EAAMnpD,OACfs3B,EAAS6xB,EAAM7xB,OAEfw2D,EAAYjoF,KAAK41B,IAAI17B,EAAOC,GAAU,EAAI,EAC9Cs3B,EAASA,EAASw2D,EAAYA,EAAYx2D,EAE1CrnB,EAAQoyE,OAAOh/C,EAAIC,EAAKhM,GACxBrnB,EAAQqyE,OAAOj/C,EAAIC,EAAKtjC,EAASs3B,GACjCrnB,EAAQ89E,iBAAiB1qD,EAAIC,EAAKtjC,EAAQqjC,EAAK/L,EAAQgM,EAAKtjC,GAC5DiQ,EAAQqyE,OAAOj/C,EAAKtjC,EAAQu3B,EAAQgM,EAAKtjC,GACzCiQ,EAAQ89E,iBAAiB1qD,EAAKtjC,EAAOujC,EAAKtjC,EAAQqjC,EAAKtjC,EAAOujC,EAAKtjC,EAASs3B,GAC5ErnB,EAAQqyE,OAAOj/C,EAAKtjC,EAAOujC,EAAKhM,GAChCrnB,EAAQ89E,iBAAiB1qD,EAAKtjC,EAAOujC,EAAID,EAAKtjC,EAAQu3B,EAAQgM,GAC9DrzB,EAAQqyE,OAAOj/C,EAAK/L,EAAQgM,GAC5BrzB,EAAQ89E,iBAAiB1qD,EAAIC,EAAID,EAAIC,EAAKhM,GAC1CrnB,EAAQmyE,gBAKpBzhF,KAAK6pB,eAAe2iE,mBAAqB,SAAUxsE,GAE/C,GAAsB,WAAlBA,EAASzR,KASb,IAAK,IAJD8+E,GAASrtE,EAASzR,MAAQ,GAAK,KAAQ,IACvC++E,GAASttE,EAASzR,MAAQ,EAAI,KAAQ,IACtCg/E,GAAyB,IAAhBvtE,EAASzR,MAAe,IAE5BrK,EAAI,EAAGA,EAAI8b,EAASsoC,aAAankD,OAAQD,IAClD,CACI,IAAI0R,EAAOoK,EAASsoC,aAAapkD,GAE7BolF,EAA6B,EAAjB1zE,EAAK0zE,UACjB8C,EAA6B,EAAjBx2E,EAAKw2E,UAErBx2E,EAAK62E,YAAenD,GAAa,GAAK,KAAQ,IAAM+D,EAAQ,KAAO,MAAQ/D,GAAa,EAAI,KAAQ,IAAMgE,EAAQ,KAAO,IAAkB,IAAZhE,GAAoB,IAAMiE,EAAQ,IACjK33E,EAAK82E,YAAeN,GAAa,GAAK,KAAQ,IAAMiB,EAAQ,KAAO,MAAQjB,GAAa,EAAI,KAAQ,IAAMkB,EAAQ,KAAO,IAAkB,IAAZlB,GAAoB,IAAMmB,EAAQ,MAkBzKvqF,EAAOwqF,aAAe,SAAU5L,EAAWwK,EAAWC,EAAW/C,EAAWC,EAAWhhC,EAAMC,GAKzFhnD,KAAKogF,UAAYA,EAKjBpgF,KAAK4qF,UAAYA,EAKjB5qF,KAAK6qF,UAAYA,EAKjB7qF,KAAKkrF,UAAYN,EAKjB5qF,KAAK8nF,UAAYA,EAKjB9nF,KAAK+nF,UAAYA,EAKjB/nF,KAAKirF,UAAYnD,EAKjB9nF,KAAK+mD,KAAOA,EAKZ/mD,KAAKgnD,MAAQA,EAKbhnD,KAAKwT,KAAOwzC,EAAMxzC,MAGtBhS,EAAOwqF,aAAa1pF,UAAUC,YAAcf,EAAOwqF,aAOnDxqF,EAAOwqF,aAAa1pF,UAAU4xB,MAAQ,WAElC,OAAO,IAAI1yB,EAAOwqF,aACdhsF,KAAKogF,UACLpgF,KAAK4qF,UACL5qF,KAAK6qF,UACL7qF,KAAK8nF,UACL9nF,KAAK+nF,UACL/nF,KAAK+mD,KACL/mD,KAAKgnD,QAyDbxlD,EAAOwiC,SAAW,SAAUjhC,EAAMgB,EAAGC,QAEvBuC,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAM3BhE,KAAKwT,KAAOhS,EAAO6qB,SAMnBrsB,KAAK4yC,YAAcpxC,EAAO0qB,OAM1BlsB,KAAK2G,OAAS,IAAInF,EAAOX,MAEzBrC,KAAK8J,uBAAuB9D,KAAKxE,MAEjCA,KAAKoB,YAAa,EAQlBpB,KAAK+nF,UAAY,EAQjB/nF,KAAKogF,UAAY,EASjBpgF,KAAK4qF,UAAY,EASjB5qF,KAAK8mD,gBASL9mD,KAAK+M,KAAO,SASZ/M,KAAKiI,UAAYzJ,KAAK0J,WAAWE,OASjCpI,KAAKisF,YAAc,KASnBjsF,KAAKke,UAQLle,KAAKwH,QAAS,EAQdxH,KAAKksF,cAAgB,EAUrBlsF,KAAKmsF,aAAe,IAAI3qF,EAAOS,UAAU,EAAG,EAAG,EAAG,GASlDjC,KAAKwR,OAAQ,EAUbxR,KAAKosF,cAAe,EASpBpsF,KAAKqsF,YAAa,EASlBrsF,KAAKssF,mBAAoB,EAEzB9qF,EAAO0pE,UAAUiB,KAAKz6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAG,GAAI,OAG1DxC,EAAOwiC,SAAS1hC,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACtEd,EAAOwiC,SAAS1hC,UAAUC,YAAcf,EAAOwiC,SAE/CxiC,EAAO0pE,UAAUiB,KAAKC,QAAQ5nE,KAAKhD,EAAOwiC,SAAS1hC,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAOwiC,SAAS1hC,UAAUw0E,iBAAmBt1E,EAAO0pE,UAAUsB,YAAY9nE,UAC1ElD,EAAOwiC,SAAS1hC,UAAUy0E,kBAAoBv1E,EAAO0pE,UAAUuG,SAAS/sE,UACxElD,EAAOwiC,SAAS1hC,UAAU00E,iBAAmBx1E,EAAO0pE,UAAUgG,QAAQxsE,UACtElD,EAAOwiC,SAAS1hC,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UAOhElD,EAAOwiC,SAAS1hC,UAAUoC,UAAY,WAElC,SAAK1E,KAAK82E,oBAAuB92E,KAAK+2E,qBAAwB/2E,KAAKg3E,qBAK5Dh3E,KAAKi3E,iBAQhBz1E,EAAOwiC,SAAS1hC,UAAU4kC,WAAa,WAEnC1lC,EAAO0pE,UAAUsB,YAAYtlC,WAAW1iC,KAAKxE,MAC7CwB,EAAO0pE,UAAUyB,cAAczlC,WAAW1iC,KAAKxE,MAE3CA,KAAKosF,eAELpsF,KAAKusF,oBACLvsF,KAAKosF,cAAe,GAGxB,IAAK,IAAI1pF,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGwkC,cAUzB1lC,EAAOwiC,SAAS1hC,UAAUE,QAAU,SAAUo4C,GAE1C56C,KAAK4a,QAELpZ,EAAO0pE,UAAU8C,QAAQ1rE,UAAUE,QAAQgC,KAAKxE,KAAM46C,IAU1Dp5C,EAAOwiC,SAAS1hC,UAAUkqF,aAAe,SAAUluD,EAAQmuD,QAE1ClmF,IAATkmF,IAAsBA,GAAO,GAEjC,IAAIC,EAAW,IAAIlrF,EAAOy9B,QAAQX,GAElC,GAAImuD,EACJ,CACI,IAAIE,EAAe,IAAInrF,EAAOX,MAAMb,KAAK+C,KAAK+X,OAAO/W,EAAIu6B,EAAO,GAAGv6B,EAAG/D,KAAK+C,KAAK+X,OAAO9W,EAAIs6B,EAAO,GAAGt6B,GACjG4oF,EAAK,IAAIprF,EAAOX,MAAMy9B,EAAO,GAAGv6B,EAAIu6B,EAAO,GAAGv6B,EAAGu6B,EAAO,GAAGt6B,EAAIs6B,EAAO,GAAGt6B,GAEzE6oF,EADK,IAAIrrF,EAAOX,MAAMy9B,EAAO,GAAGv6B,EAAIu6B,EAAO,GAAGv6B,EAAGu6B,EAAO,GAAGt6B,EAAIs6B,EAAO,GAAGt6B,GACzD25B,MAAMivD,GAEtBD,EAAajvD,IAAImvD,GAAc,GAE/B7sF,KAAK8sF,YAAYJ,QAKrB1sF,KAAK8sF,YAAYJ,IAYzBlrF,EAAOwiC,SAAS1hC,UAAUyqF,cAAgB,SAAU7qE,EAAUtP,EAAS65E,QAEtDlmF,IAATkmF,IAAsBA,GAAO,GAEjC,IAII/pF,EAJAsqF,EAAS,IAAIxrF,EAAOX,MACpBosF,EAAS,IAAIzrF,EAAOX,MACpBqsF,EAAS,IAAI1rF,EAAOX,MACpBy9B,KAGJ,GAAK1rB,EAwBL,GAAIsP,EAAS,aAAc1gB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIkQ,EAAQjQ,OAAS,EAAGD,IAEhC47B,EAAOx2B,KAAKoa,EAAStP,EAAY,EAAJlQ,KAC7B47B,EAAOx2B,KAAKoa,EAAStP,EAAY,EAAJlQ,EAAQ,KACrC47B,EAAOx2B,KAAKoa,EAAStP,EAAY,EAAJlQ,EAAQ,KAEf,IAAlB47B,EAAO37B,SAEP3C,KAAKwsF,aAAaluD,EAAQmuD,GAC1BnuD,WAMR,IAAK57B,EAAI,EAAGA,EAAIkQ,EAAQjQ,OAAQD,IAE5BsqF,EAAOjpF,EAAIme,EAAsB,EAAbtP,EAAQlQ,IAC5BsqF,EAAOhpF,EAAIke,EAAsB,EAAbtP,EAAQlQ,GAAS,GACrC47B,EAAOx2B,KAAKklF,EAAO13D,YAEG,IAAlBgJ,EAAO37B,SAEP3C,KAAKwsF,aAAaluD,EAAQmuD,GAC1BnuD,WAhDR,GAAIpc,EAAS,aAAc1gB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIwf,EAASvf,OAAS,EAAGD,IAEjC1C,KAAKwsF,cAAetqE,EAAa,EAAJxf,GAAQwf,EAAa,EAAJxf,EAAQ,GAAIwf,EAAa,EAAJxf,EAAQ,IAAM+pF,QAKrF,IAAK/pF,EAAI,EAAGA,EAAIwf,EAASvf,OAAS,EAAGD,IAEjCsqF,EAAOjpF,EAAIme,EAAa,EAAJxf,EAAQ,GAC5BsqF,EAAOhpF,EAAIke,EAAa,EAAJxf,EAAQ,GAC5BuqF,EAAOlpF,EAAIme,EAAa,EAAJxf,EAAQ,GAC5BuqF,EAAOjpF,EAAIke,EAAa,EAAJxf,EAAQ,GAC5BwqF,EAAOnpF,EAAIme,EAAa,EAAJxf,EAAQ,GAC5BwqF,EAAOlpF,EAAIke,EAAa,EAAJxf,EAAQ,GAC5B1C,KAAKwsF,cAAeQ,EAAQC,EAAQC,GAAUT,IA8C9DjrF,EAAOwiC,SAAS1hC,UAAU6qF,UAAY,SAAU/M,EAAW/pE,EAAOpV,GAsB9D,OApBAjB,KAAKogF,UAAYA,GAAa,EAC9BpgF,KAAK4qF,UAAYv0E,GAAS,EAC1BrW,KAAK6qF,eAAuBtkF,IAAVtF,EAAuB,EAAIA,EAEzCjB,KAAKisF,cAEDjsF,KAAKisF,YAAYjlC,MAAM1oB,OAAO37B,OAG9B3C,KAAKotF,UAAU,IAAI5rF,EAAOy9B,QAAQj/B,KAAKisF,YAAYjlC,MAAM1oB,OAAOtO,OAAO,MAKvEhwB,KAAKisF,YAAY7L,UAAYpgF,KAAKogF,UAClCpgF,KAAKisF,YAAYrB,UAAY5qF,KAAK4qF,UAClC5qF,KAAKisF,YAAYpB,UAAY7qF,KAAK6qF,YAInC7qF,MAWXwB,EAAOwiC,SAAS1hC,UAAU49E,OAAS,SAAUn8E,EAAGC,GAI5C,OAFAhE,KAAKotF,UAAU,IAAI5rF,EAAOy9B,SAAUl7B,EAAGC,KAEhChE,MAYXwB,EAAOwiC,SAAS1hC,UAAU69E,OAAS,SAAUp8E,EAAGC,GAW5C,OATKhE,KAAKisF,aAENjsF,KAAKkgF,OAAO,EAAG,GAGnBlgF,KAAKisF,YAAYjlC,MAAM1oB,OAAOx2B,KAAK/D,EAAGC,GACtChE,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EAEbpsF,MAcXwB,EAAOwiC,SAAS1hC,UAAUspF,iBAAmB,SAAUnD,EAAKC,EAAKC,EAAKC,GAE9D5oF,KAAKisF,YAEwC,IAAzCjsF,KAAKisF,YAAYjlC,MAAM1oB,OAAO37B,SAE9B3C,KAAKisF,YAAYjlC,MAAM1oB,QAAW,EAAG,IAKzCt+B,KAAKkgF,OAAO,EAAE,GAGlB,IAAI+I,EACAC,EAEA5qD,EAASt+B,KAAKisF,YAAYjlC,MAAM1oB,OAEd,IAAlBA,EAAO37B,QAEP3C,KAAKkgF,OAAO,EAAG,GAMnB,IAAK,IAHDqI,EAAQjqD,EAAOA,EAAO37B,OAAS,GAC/B6lF,EAAQlqD,EAAOA,EAAO37B,OAAS,GAC/BkF,EAAI,EACCnF,EAAI,EAAGA,GAXR,KAWkBA,EAItBumF,EAAKV,GAAUE,EAAMF,IAFrB1gF,EAAInF,EAbA,IAgBJwmF,EAAKV,GAAUE,EAAMF,GAAS3gF,EAE9By2B,EAAOx2B,KAAKmhF,GAAQR,GAAQE,EAAMF,GAAO5gF,EAAMohF,GAAMphF,EACjDqhF,GAAQR,GAAQE,EAAMF,GAAO7gF,EAAMqhF,GAAMrhF,GAMjD,OAHA7H,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EAEbpsF,MAeXwB,EAAOwiC,SAAS1hC,UAAUopF,cAAgB,SAAUjD,EAAKC,EAAK2E,EAAMC,EAAM3E,EAAKC,GAEvE5oF,KAAKisF,YAEwC,IAAzCjsF,KAAKisF,YAAYjlC,MAAM1oB,OAAO37B,SAE9B3C,KAAKisF,YAAYjlC,MAAM1oB,QAAW,EAAG,IAKzCt+B,KAAKkgF,OAAO,EAAE,GAelB,IAAK,IAXDqN,EACAC,EACAC,EACAC,EACAC,EACArvD,EAASt+B,KAAKisF,YAAYjlC,MAAM1oB,OAEhCiqD,EAAQjqD,EAAOA,EAAO37B,OAAS,GAC/B6lF,EAAQlqD,EAAOA,EAAO37B,OAAS,GAC/BkF,EAAI,EAECnF,EAAI,EAAGA,GAZR,KAYkBA,EAMtB+qF,GADAD,GADAD,EAAM,GAFN1lF,EAAInF,EAdA,KAiBO6qF,GACCA,EAGZI,GADAD,EAAK7lF,EAAIA,GACCA,EAEVy2B,EAAOx2B,KAAK2lF,EAAMlF,EAAQ,EAAIiF,EAAM3lF,EAAI4gF,EAAM,EAAI8E,EAAKG,EAAKL,EAAOM,EAAKhF,EACpE8E,EAAMjF,EAAQ,EAAIgF,EAAM3lF,EAAI6gF,EAAM,EAAI6E,EAAKG,EAAKJ,EAAOK,EAAK/E,GAMpE,OAHA5oF,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EAEbpsF,MAgBXwB,EAAOwiC,SAAS1hC,UAAUsrF,MAAQ,SAAUtiF,EAAIC,EAAIC,EAAIC,EAAI0pB,GAEpDn1B,KAAKisF,YAEwC,IAAzCjsF,KAAKisF,YAAYjlC,MAAM1oB,OAAO37B,QAE9B3C,KAAKisF,YAAYjlC,MAAM1oB,OAAOx2B,KAAKwD,EAAIC,GAK3CvL,KAAKkgF,OAAO50E,EAAIC,GAGpB,IAAI+yB,EAASt+B,KAAKisF,YAAYjlC,MAAM1oB,OAChCiqD,EAAQjqD,EAAOA,EAAO37B,OAAS,GAE/Bu3B,EADQoE,EAAOA,EAAO37B,OAAS,GAClB4I,EACb6uB,EAAKmuD,EAAQj9E,EACb6uB,EAAK1uB,EAAKF,EACV8uB,EAAK7uB,EAAKF,EACVuiF,EAAKnqF,KAAKizB,IAAIuD,EAAKG,EAAKD,EAAKD,GAEjC,GAAI0zD,EAAK,MAAqB,IAAX14D,EAEXmJ,EAAOA,EAAO37B,OAAS,KAAO2I,GAAMgzB,EAAOA,EAAO37B,OAAS,KAAO4I,GAElE+yB,EAAOx2B,KAAKwD,EAAIC,OAIxB,CACI,IAAIuiF,EAAK5zD,EAAKA,EAAKE,EAAKA,EACpB2zD,EAAK5zD,EAAKA,EAAKE,EAAKA,EACpB2zD,EAAK9zD,EAAKC,EAAKC,EAAKC,EACpB4zD,EAAK94D,EAASzxB,KAAKS,KAAK2pF,GAAMD,EAC9BK,EAAK/4D,EAASzxB,KAAKS,KAAK4pF,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACf7+E,EAAK++E,EAAK5zD,EAAK6zD,EAAK9zD,EACpBjrB,EAAK8+E,EAAK9zD,EAAK+zD,EAAKh0D,EACpBhH,EAAKkH,GAAM8zD,EAAKC,GAChB/2B,EAAKl9B,GAAMg0D,EAAKC,GAChBzI,EAAKrrD,GAAM4zD,EAAKG,GAChBC,EAAKl0D,GAAM8zD,EAAKG,GAChBp4D,EAAatyB,KAAKq5B,MAAMq6B,EAAKjoD,EAAI+jB,EAAKhkB,GACtC+mB,EAAWvyB,KAAKq5B,MAAMsxD,EAAKl/E,EAAIu2E,EAAKx2E,GAExClP,KAAKggF,IAAI9wE,EAAK5D,EAAI6D,EAAK5D,EAAI4pB,EAAQa,EAAYC,EAAUmE,EAAKD,EAAKE,EAAKH,GAM5E,OAHAl6B,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EAEbpsF,MAgBXwB,EAAOwiC,SAAS1hC,UAAU09E,IAAM,SAAU9wE,EAAIC,EAAIgmB,EAAQa,EAAYC,EAAUq4D,EAAeC,GAG3F,GAAIv4D,IAAeC,EAEf,OAAOj2B,UAGWuG,IAAlB+nF,IAA+BA,GAAgB,QAClC/nF,IAAbgoF,IAA0BA,EAAW,KAEpCD,GAAiBr4D,GAAYD,EAE9BC,GAAsB,EAAVvyB,KAAKsxB,GAEZs5D,GAAiBt4D,GAAcC,IAEpCD,GAAwB,EAAVtyB,KAAKsxB,IAGvB,IAAIw5D,EAAQF,GAA2C,GAA1Bt4D,EAAaC,GAAkBA,EAAWD,EACnEy4D,EAAO/qF,KAAKwC,KAAKxC,KAAKizB,IAAI63D,IAAoB,EAAV9qF,KAAKsxB,KAAWu5D,EAGxD,GAAc,IAAVC,EAEA,OAAOxuF,KAGX,IAAI0uF,EAASx/E,EAAKxL,KAAKI,IAAIkyB,GAAcb,EACrCw5D,EAASx/E,EAAKzL,KAAKG,IAAImyB,GAAcb,EAErCm5D,GAAiBtuF,KAAK4uF,QAEtB5uF,KAAKkgF,OAAOhxE,EAAIC,GAIhBnP,KAAKkgF,OAAOwO,EAAQC,GAgBxB,IAAK,IAZDrwD,EAASt+B,KAAKisF,YAAYjlC,MAAM1oB,OAEhCuwD,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAASrrF,KAAKI,IAAI+qF,GAClBG,EAAStrF,KAAKG,IAAIgrF,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExBvsF,EAAI,EAAGA,GAAKusF,EAAUvsF,IAC/B,CACI,IAEIkzB,EAAS,EAAUI,EAAc84D,GAF1BpsF,EAAIwsF,EAAYxsF,GAIvBU,EAAIM,KAAKI,IAAI8xB,GACbvxB,GAAKX,KAAKG,IAAI+xB,GAElB0I,EAAOx2B,MAAOinF,EAAS3rF,EAAM4rF,EAAS3qF,GAAM8wB,EAASjmB,GAC/C6/E,GAAU1qF,EAAM2qF,EAAS5rF,GAAM+xB,EAAShmB,GAMlD,OAHAnP,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EAEbpsF,MAYXwB,EAAOwiC,SAAS1hC,UAAUuiC,UAAY,SAAUxuB,EAAOpV,GAgBnD,OAdAjB,KAAK4uF,SAAU,EACf5uF,KAAK8nF,UAAYzxE,GAAS,EAC1BrW,KAAK+nF,eAAuBxhF,IAAVtF,EAAuB,EAAIA,EAEzCjB,KAAKisF,aAEDjsF,KAAKisF,YAAYjlC,MAAM1oB,OAAO37B,QAAU,IAExC3C,KAAKisF,YAAYllC,KAAO/mD,KAAK4uF,QAC7B5uF,KAAKisF,YAAYnE,UAAY9nF,KAAK8nF,UAClC9nF,KAAKisF,YAAYlE,UAAY/nF,KAAK+nF,WAInC/nF,MASXwB,EAAOwiC,SAAS1hC,UAAUyiC,QAAU,WAMhC,OAJA/kC,KAAK4uF,SAAU,EACf5uF,KAAK8nF,UAAY,KACjB9nF,KAAK+nF,UAAY,EAEV/nF,MAYXwB,EAAOwiC,SAAS1hC,UAAUwiC,SAAW,SAAU/gC,EAAGC,EAAGpG,EAAOC,GAIxD,OAFAmC,KAAKotF,UAAU,IAAI5rF,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,IAE1CmC,MAWXwB,EAAOwiC,SAAS1hC,UAAU6sF,gBAAkB,SAAUprF,EAAGC,EAAGpG,EAAOC,EAAQs3B,GAIvE,OAFAn1B,KAAKotF,UAAU,IAAI5rF,EAAOqgC,iBAAiB99B,EAAGC,EAAGpG,EAAOC,EAAQs3B,IAEzDn1B,MAYXwB,EAAOwiC,SAAS1hC,UAAU8sF,WAAa,SAAUrrF,EAAGC,EAAG4wB,GAInD,OAFA50B,KAAKotF,UAAU,IAAI5rF,EAAOmzB,OAAO5wB,EAAGC,EAAG4wB,IAEhC50B,MAaXwB,EAAOwiC,SAAS1hC,UAAU+sF,YAAc,SAAUx3D,EAASC,EAASlB,EAAWC,GAI3E,OAFA72B,KAAKotF,WAAWrpF,EAAG8zB,EAAS7zB,EAAG8zB,EAASl6B,MAAOg5B,EAAW/4B,OAAQg5B,EAAYrjB,KAAMhS,EAAO0rB,UAEpFltB,MAUXwB,EAAOwiC,SAAS1hC,UAAUwqF,YAAc,SAAUwC,GAE1CA,aAAgB9tF,EAAOy9B,UAEvBqwD,EAAOA,EAAKhxD,QAOhB,IAAIA,EAASgxD,EAEb,IAAK7nF,MAAMC,QAAQ42B,GACnB,CAKIA,EAAS,IAAI72B,MAAM6oB,UAAU3tB,QAE7B,IAAK,IAAID,EAAI,EAAGA,EAAI47B,EAAO37B,SAAUD,EAEjC47B,EAAO57B,GAAK4tB,UAAU5tB,GAM9B,OAFA1C,KAAKotF,UAAU,IAAI5rF,EAAOy9B,QAAQX,IAE3Bt+B,MASXwB,EAAOwiC,SAAS1hC,UAAUsY,MAAQ,WAY9B,OAVA5a,KAAKogF,UAAY,EACjBpgF,KAAK4uF,SAAU,EAEf5uF,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EACpBpsF,KAAKknF,YAAa,EAClBlnF,KAAK8mD,gBAEL9mD,KAAKusF,oBAEEvsF,MAeXwB,EAAOwiC,SAAS1hC,UAAUqC,gBAAkB,SAAUC,EAAY9G,EAAW0oB,QAEtDjgB,IAAf3B,IAA4BA,EAAa,QAC3B2B,IAAdzI,IAA2BA,EAAYU,KAAKC,WAAWipB,cAC3CnhB,IAAZigB,IAAyBA,EAAU,GAEvC,IAAI1hB,EAAS9E,KAAKkK,YAElBpF,EAAOlH,OAAS4oB,EAChB1hB,EAAOjH,QAAU2oB,EAEjB,IAAI+oE,EAAe,IAAI/wF,KAAKupB,aAAajjB,EAAOlH,MAAQgH,EAAYE,EAAOjH,OAAS+G,GAEhF7G,EAAUS,KAAKqO,QAAQ6d,WAAW6kE,EAAar4E,OAAQpZ,GAU3D,OARAC,EAAQqI,YAAYxB,WAAaA,EAEjC2qF,EAAazhF,QAAQhN,MAAM8D,EAAYA,GAEvC2qF,EAAazhF,QAAQ+tB,WAAW/2B,EAAOf,GAAIe,EAAOd,GAElDxF,KAAK6pB,eAAe02D,eAAe/+E,KAAMuvF,EAAazhF,SAE/C/P,GAUXyD,EAAOwiC,SAAS1hC,UAAUyD,aAAe,SAAUH,GAG/C,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKwH,OAAvD,CAKA,GAAIxH,KAAKoC,eAiBL,OAfIpC,KAAKwR,OAASxR,KAAKssF,qBAEnBtsF,KAAKqF,wBAGLrF,KAAKwvF,4BAELxvF,KAAKssF,mBAAoB,EACzBtsF,KAAKwR,OAAQ,GAGjBxR,KAAK6F,cAAcvE,WAAatB,KAAKsB,gBAErC9C,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAK6F,cAAeD,GAoB5D,GAdAA,EAAcmG,YAAYI,OAC1BvG,EAAcqS,iBAAiBkD,aAAanb,KAAKiI,WAE7CjI,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAG/C5F,KAAKyG,UAELb,EAAcqG,cAAcC,WAAWlM,KAAK+H,cAI5C/H,KAAKiI,YAAcrC,EAAcmG,YAAY8B,iBACjD,CACIjI,EAAcmG,YAAY8B,iBAAmB7N,KAAKiI,UAClD,IAAI4V,EAAiBrf,KAAK4d,gBAAgBxW,EAAcmG,YAAY8B,kBACpEjI,EAAcmG,YAAYpO,GAAGmgB,UAAUD,EAAe,GAAIA,EAAe,IAa7E,GATI7d,KAAKqsF,aAELrsF,KAAKwR,OAAQ,EACbxR,KAAKqsF,YAAa,GAGtB7tF,KAAKwf,cAAc+gE,eAAe/+E,KAAM4F,GAGpC5F,KAAKyC,SAASE,OAClB,CACIiD,EAAcmG,YAAYO,QAG1B,IAAK,IAAI5J,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlCA,EAAcmG,YAAYI,OAG1BnM,KAAKyG,UAELb,EAAcqG,cAAcO,YAG5BxM,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQvM,KAAKuH,KAAM3B,GAGjDA,EAAcwS,YAEdxS,EAAcmG,YAAYO,UAWlC9K,EAAOwiC,SAAS1hC,UAAU0D,cAAgB,SAAUJ,GAGhD,IAAqB,IAAjB5F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKwH,OAAvD,CAYA,GANIxH,KAAKyvF,YAAczvF,KAAK+M,OAExB/M,KAAKwR,OAAQ,EACbxR,KAAKyvF,UAAYzvF,KAAK+M,MAGtB/M,KAAKoC,eAiBL,OAfIpC,KAAKwR,OAASxR,KAAKssF,qBAEnBtsF,KAAKqF,wBAGLrF,KAAKwvF,4BAELxvF,KAAKssF,mBAAoB,EACzBtsF,KAAKwR,OAAQ,GAGjBxR,KAAK6F,cAAc5E,MAAQjB,KAAKiB,WAEhCzC,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAK6F,cAAeD,GAM7D,IAAIkI,EAAUlI,EAAckI,QACxBsa,EAAYpoB,KAAKuB,eAEjBvB,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtC6F,EAAQC,yBAA2BvP,KAAKwP,iBAAiBpI,EAAciI,mBAGvE7N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnD,IAAIhB,EAAagB,EAAchB,WAC3BtB,EAAM8kB,EAAU9kB,GAAKsC,EAAchB,WAAcgB,EAAc0I,OAC/D/K,EAAM6kB,EAAU7kB,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAEnET,EAAQe,aAAauZ,EAAUllB,EAAI0B,EAC/BwjB,EAAUjlB,EAAIyB,EACdwjB,EAAUhlB,EAAIwB,EACdwjB,EAAU/kB,EAAIuB,EACdtB,EACAC,GAEJ/E,KAAK6pB,eAAe02D,eAAe/+E,KAAM8N,GAGzC,IAAK,IAAIpL,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAG/B5F,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,KAgB9CpE,EAAOwiC,SAAS1hC,UAAU4H,UAAY,SAAUwD,GAE5C,GAAI1N,KAAKkC,eAEL,OAAOlC,KAAKkC,eAIhB,GAAIlC,KAAKwH,OAEL,OAAOhG,EAAOogC,eAGd5hC,KAAKwR,QAELxR,KAAKusF,oBACLvsF,KAAKqsF,YAAa,EAClBrsF,KAAKssF,mBAAoB,EACzBtsF,KAAKwR,OAAQ,GAGjB,IAAI1M,EAAS9E,KAAKmsF,aAEdjhF,EAAKpG,EAAOf,EACZoH,EAAKrG,EAAOlH,MAAQkH,EAAOf,EAE3BqH,EAAKtG,EAAOd,EACZqH,EAAKvG,EAAOjH,OAASiH,EAAOd,EAE5BzC,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAKpI,EAAIiI,EAAK/H,EAAIiI,EAAK/H,EACvBiI,EAAKlI,EAAIgI,EAAKlI,EAAIgI,EAAK5H,EAEvBiI,EAAKtI,EAAIgI,EAAK9H,EAAIiI,EAAK/H,EACvBmI,EAAKpI,EAAIgI,EAAKlI,EAAI+H,EAAK3H,EAEvBmI,EAAKxI,EAAIgI,EAAK9H,EAAIgI,EAAK9H,EACvBqI,EAAKtI,EAAI+H,EAAKjI,EAAI+H,EAAK3H,EAEvBqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAEvBwH,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,EAExBhL,KAAKgC,QAAQ+B,EAAI6G,EACjB5K,KAAKgC,QAAQpE,MAAQmN,EAAOH,EAE5B5K,KAAKgC,QAAQgC,EAAI8G,EACjB9K,KAAKgC,QAAQnE,OAASmN,EAAOF,EAE7B9K,KAAKkC,eAAiBlC,KAAKgC,QAEpBhC,KAAKkC,gBAShBV,EAAOwiC,SAAS1hC,UAAUyC,eAAiB,WAEvC,IAAIwF,EAAcvK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,EAAOgJ,eAE7B,IAAK,IAAI9H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGI,kBAGrB,IAAIgC,EAAS9E,KAAKkK,YAIlB,IAFAlK,KAAKuB,eAAiBgJ,EAEjB7H,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGI,kBAGrB,OAAOgC,GASXtD,EAAOwiC,SAAS1hC,UAAUg/B,cAAgB,SAAUlL,EAAOs5D,QAErCnpF,IAAdmpF,IAA2BA,EAAY,IAAIluF,EAAOX,OAEtDb,KAAKuB,eAAemE,aAAa0wB,EAAOs5D,GAIxC,IAAK,IAFD5oC,EAAe9mD,KAAK8mD,aAEfpkD,EAAI,EAAGA,EAAIokD,EAAankD,OAAQD,IACzC,CACI,IAAI0R,EAAO0yC,EAAapkD,GAExB,GAAK0R,EAAK2yC,OAMN3yC,EAAK4yC,OAED5yC,EAAK4yC,MAAM18C,SAASolF,EAAU3rF,EAAG2rF,EAAU1rF,IAE3C,OAAO,EAKnB,OAAO,GAaXxC,EAAOwiC,SAAS1hC,UAAUqtF,gBAAkB,SAAUj6D,GAQlD,OANI11B,KAAKosF,eAELpsF,KAAKusF,oBACLvsF,KAAKosF,cAAe,GAGjBpsF,KAAKmsF,aAAaj4D,MAAMwB,IAQnCl0B,EAAOwiC,SAAS1hC,UAAUiqF,kBAAoB,WAE1C,IAAI3hF,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAEZ,GAAI7K,KAAK8mD,aAAankD,OAIlB,IAAK,IAFDqkD,EAAO1oB,EAAQv6B,EAAGC,EAAGqR,EAAGkP,EAEnB7hB,EAAI,EAAGA,EAAI1C,KAAK8mD,aAAankD,OAAQD,IAC9C,CACI,IAAI0R,EAAOpU,KAAK8mD,aAAapkD,GACzB8Q,EAAOY,EAAKZ,KACZ4sE,EAAYhsE,EAAKgsE,UAGrB,GAFAp5B,EAAQ5yC,EAAK4yC,MAETxzC,IAAShS,EAAOgsB,WAAaha,IAAShS,EAAOosB,iBAE7C7pB,EAAIijD,EAAMjjD,EAAIq8E,EAAY,EAC1Bp8E,EAAIgjD,EAAMhjD,EAAIo8E,EAAY,EAC1B/qE,EAAI2xC,EAAMppD,MAAQwiF,EAClB77D,EAAIyiC,EAAMnpD,OAASuiF,EAEnBx1E,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EACtBE,EAAOhH,EAAIugB,EAAIvZ,EAAOhH,EAAIugB,EAAIvZ,OAE7B,GAAIwI,IAAShS,EAAO+rB,OAErBxpB,EAAIijD,EAAMjjD,EACVC,EAAIgjD,EAAMhjD,EACVqR,EAAI2xC,EAAM7xB,OAASirD,EAAY,EAC/B77D,EAAIyiC,EAAM7xB,OAASirD,EAAY,EAE/Bx1E,EAAO7G,EAAIsR,EAAIzK,EAAO7G,EAAIsR,EAAIzK,EAC9BG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAIugB,EAAIzZ,EAAO9G,EAAIugB,EAAIzZ,EAC9BE,EAAOhH,EAAIugB,EAAIvZ,EAAOhH,EAAIugB,EAAIvZ,OAE7B,GAAIwI,IAAShS,EAAO0rB,QAErBnpB,EAAIijD,EAAMjjD,EACVC,EAAIgjD,EAAMhjD,EACVqR,EAAI2xC,EAAMppD,MAAQwiF,EAAY,EAC9B77D,EAAIyiC,EAAMnpD,OAASuiF,EAAY,EAE/Bx1E,EAAO7G,EAAIsR,EAAIzK,EAAO7G,EAAIsR,EAAIzK,EAC9BG,EAAOhH,EAAIsR,EAAItK,EAAOhH,EAAIsR,EAAItK,EAE9BD,EAAO9G,EAAIugB,EAAIzZ,EAAO9G,EAAIugB,EAAIzZ,EAC9BE,EAAOhH,EAAIugB,EAAIvZ,EAAOhH,EAAIugB,EAAIvZ,MAGlC,CAEIszB,EAAS0oB,EAAM1oB,OAEf,IAAK,IAAIz2B,EAAI,EAAGA,EAAIy2B,EAAO37B,OAAQkF,IAE3By2B,EAAOz2B,aAAcrG,EAAOX,OAE5BkD,EAAIu6B,EAAOz2B,GAAG9D,EACdC,EAAIs6B,EAAOz2B,GAAG7D,IAIdD,EAAIu6B,EAAOz2B,GACX7D,EAAIs6B,EAAOz2B,EAAI,GAEXA,EAAIy2B,EAAO37B,OAAS,GAEpBkF,KAIR+C,EAAO7G,EAAIq8E,EAAYx1E,EAAO7G,EAAIq8E,EAAYx1E,EAC9CG,EAAOhH,EAAIq8E,EAAYr1E,EAAOhH,EAAIq8E,EAAYr1E,EAE9CD,EAAO9G,EAAIo8E,EAAYt1E,EAAO9G,EAAIo8E,EAAYt1E,EAC9CE,EAAOhH,EAAIo8E,EAAYp1E,EAAOhH,EAAIo8E,EAAYp1E,QAO1DJ,EAAO,EACPG,EAAO,EACPD,EAAO,EACPE,EAAO,EAGX,IAAIwb,EAAUxmB,KAAKksF,cAEnBlsF,KAAKmsF,aAAapoF,EAAI6G,EAAO4b,EAC7BxmB,KAAKmsF,aAAavuF,MAASmN,EAAOH,EAAkB,EAAV4b,EAE1CxmB,KAAKmsF,aAAanoF,EAAI8G,EAAO0b,EAC7BxmB,KAAKmsF,aAAatuF,OAAUmN,EAAOF,EAAkB,EAAV0b,GAS/ChlB,EAAOwiC,SAAS1hC,UAAU+C,sBAAwB,WAE9C,IAAIP,EAAS9E,KAAK+E,iBAElB,GAAK/E,KAAK6F,cAYN7F,KAAK6F,cAAcqV,OAAO/U,OAAOrB,EAAOlH,MAAOkH,EAAOjH,YAX1D,CACI,IAAI0xF,EAAe,IAAI/wF,KAAKupB,aAAajjB,EAAOlH,MAAOkH,EAAOjH,QAC1DE,EAAUS,KAAKqO,QAAQ6d,WAAW6kE,EAAar4E,QAEnDlX,KAAK6F,cAAgB,IAAIrH,KAAKsH,OAAO/H,GACrCiC,KAAK6F,cAAcqV,OAASq0E,EAE5BvvF,KAAK6F,cAActE,eAAiBvB,KAAKuB,eAQ7CvB,KAAK6F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOlH,MAClDoC,KAAK6F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOjH,OAGlDmC,KAAK6F,cAAcqV,OAAOpN,QAAQ+tB,WAAW/2B,EAAOf,GAAIe,EAAOd,GAG/DhE,KAAKsB,WAAa,EAGlB9C,KAAK6pB,eAAe02D,eAAe/+E,KAAMA,KAAK6F,cAAcqV,OAAOpN,SACnE9N,KAAK6F,cAAc5E,MAAQjB,KAAKiB,OASpCO,EAAOwiC,SAAS1hC,UAAUktF,0BAA4B,WAElD,IAAII,EAAe5vF,KAAK6F,cACpB9H,EAAU6xF,EAAa7xF,QACvBmZ,EAAS04E,EAAa10E,OAAOhE,OAEjCnZ,EAAQqI,YAAYxI,MAAQsZ,EAAOtZ,MACnCG,EAAQqI,YAAYvI,OAASqZ,EAAOrZ,OACpCE,EAAQ6P,KAAKhQ,MAAQG,EAAQsP,MAAMzP,MAAQsZ,EAAOtZ,MAClDG,EAAQ6P,KAAK/P,OAASE,EAAQsP,MAAMxP,OAASqZ,EAAOrZ,OAEpD+xF,EAAaljF,OAASwK,EAAOtZ,MAC7BgyF,EAAajjF,QAAUuK,EAAOrZ,OAG9BE,EAAQqI,YAAYoL,SAQxBhQ,EAAOwiC,SAAS1hC,UAAUutF,oBAAsB,WAE5C7vF,KAAK6F,cAAc9H,QAAQyE,SAAQ,GACnCxC,KAAK6F,cAAgB,MAUzBrE,EAAOwiC,SAAS1hC,UAAU8qF,UAAY,SAAUpmC,GAExChnD,KAAKisF,aAGDjsF,KAAKisF,YAAYjlC,MAAM1oB,OAAO37B,QAAU,GAExC3C,KAAK8mD,aAAalmC,MAI1B5gB,KAAKisF,YAAc,KAGfjlC,aAAiBxlD,EAAOy9B,UAExB+nB,EAAQA,EAAM9yB,SACRqL,UAGV,IAAInrB,EAAO,IAAI5S,EAAOwqF,aAAahsF,KAAKogF,UAAWpgF,KAAK4qF,UAAW5qF,KAAK6qF,UAAW7qF,KAAK8nF,UAAW9nF,KAAK+nF,UAAW/nF,KAAK4uF,QAAS5nC,GAajI,OAXAhnD,KAAK8mD,aAAah/C,KAAKsM,GAEnBA,EAAKZ,OAAShS,EAAOsrB,UAErB1Y,EAAK4yC,MAAM5nB,OAASp/B,KAAK4uF,QACzB5uF,KAAKisF,YAAc73E,GAGvBpU,KAAKwR,OAAQ,EACbxR,KAAKosF,cAAe,EAEbh4E,GAcXpN,OAAOyF,eAAejL,EAAOwiC,SAAS1hC,UAAW,iBAE7C4E,IAAK,WAED,OAAOlH,KAAKoC,gBAGhB+E,IAAK,SAAUC,GAEXpH,KAAKoC,eAAiBgF,EAElBpH,KAAKoC,eAELpC,KAAKqF,wBAILrF,KAAK6vF,sBAGT7vF,KAAKwR,OAAQ,EACbxR,KAAKqsF,YAAa,KAwB1B7qF,EAAOyD,cAAgB,SAAUlC,EAAMnF,EAAOC,EAAQmV,EAAKlV,EAAW8G,EAAYC,EAAU5F,GAiExF,QA/DcsH,IAAV3I,IAAuBA,EAAQ,UACpB2I,IAAX1I,IAAwBA,EAAS,UACzB0I,IAARyM,IAAqBA,EAAM,SACbzM,IAAdzI,IAA2BA,EAAY0D,EAAO/C,WAAWipB,cAC1CnhB,IAAf3B,IAA4BA,EAAa,QAC5B2B,IAAb1B,IAA0BA,EAAWrG,KAAKiY,sBAC1BlQ,IAAhBtH,IAA6BA,EAAc,GAK/Ce,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAKXhT,KAAKwT,KAAOhS,EAAOkrB,cAMnB1sB,KAAKkF,YAAc,IAAI1D,EAAOC,OAE9BzB,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK4E,WAAaA,EAElB5E,KAAKqN,MAAQ,IAAI7L,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAEzF5E,KAAK4N,KAAO5N,KAAKqN,MAAM6mB,QAQvBl0B,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAC5BnqB,KAAKoG,YAAYxI,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAC3C5E,KAAKoG,YAAYvI,OAASmC,KAAKnC,OAASmC,KAAK4E,WAC7C5E,KAAKoG,YAAY6N,eACjBjU,KAAKoG,YAAYxB,WAAa5E,KAAK4E,WAEnC5E,KAAKoG,YAAYtI,UAAYA,EAE7BkC,KAAKoG,YAAY+G,WAAY,EAE7B3O,KAAKqO,QAAQrI,KAAKxE,KAAMA,KAAKoG,YAAapG,KAAKqN,MAAM6mB,SAQrDl0B,KAAK6E,SAAWA,EAEZ7E,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAClC,CACI,IAAIhZ,EAAKqC,KAAK6E,SAASlH,GACvBqC,KAAKoG,YAAYE,aAAerH,EAChCe,KAAKoG,YAAYkP,OAAO3X,EAAGuW,KAAM,EAEjClU,KAAK8vF,cAAgB,IAAItxF,KAAK+nB,cAAc5oB,EAAIqC,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKoG,YAAYtI,UAAWmB,GACrGe,KAAKoG,YAAY6N,YAAYtW,EAAGuW,IAAMlU,KAAK8vF,cAAc/xF,QAEzDiC,KAAKwX,WAAa,IAAIhW,EAAOX,MAAmB,GAAbb,KAAKpC,MAA4B,IAAdoC,KAAKnC,aAI3DmC,KAAK8vF,cAAgB,IAAItxF,KAAKupB,aAAa/nB,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAC5F5E,KAAKoG,YAAYgJ,OAASpP,KAAK8vF,cAAc54E,OAOjDlX,KAAKyN,OAAQ,EAEbzN,KAAK+vF,WAAa,IAAIvuF,EAAOC,OAE7BzB,KAAKirB,cAGTzpB,EAAOyD,cAAc3C,UAAY0E,OAAOwB,OAAOhK,KAAKqO,QAAQvK,WAC5Dd,EAAOyD,cAAc3C,UAAUC,YAAcf,EAAOyD,cAepDzD,EAAOyD,cAAc3C,UAAU0tF,SAAW,SAAU/0E,EAAelX,EAAGC,EAAG4W,GAErEK,EAAcnY,kBAEd9C,KAAKkF,YAAYmwB,SAASpa,EAAc1Z,gBACxCvB,KAAKkF,YAAY5B,GAAKS,EACtB/D,KAAKkF,YAAY3B,GAAKS,EAElBhE,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAakV,EAAejb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAciV,EAAejb,KAAKkF,YAAa0V,IAiB5DpZ,EAAOyD,cAAc3C,UAAU2tF,YAAc,SAAUh1E,EAAelX,EAAGC,EAAG4W,GAExE5a,KAAKkF,YAAY+2B,WAAWJ,UAAU93B,EAAGC,GAErChE,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAakV,EAAejb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAciV,EAAejb,KAAKkF,YAAa0V,IAmB5DpZ,EAAOyD,cAAc3C,UAAU6C,OAAS,SAAU8V,EAAevN,EAAQkN,QAEtDrU,IAAXmH,GAAmC,OAAXA,EAExB1N,KAAKkF,YAAYmwB,SAASpa,EAAc1Z,gBAIxCvB,KAAKkF,YAAYmwB,SAAS3nB,GAG1B1N,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAE9B3W,KAAK+F,aAAakV,EAAejb,KAAKkF,YAAa0V,GAInD5a,KAAKgG,cAAciV,EAAejb,KAAKkF,YAAa0V,IAY5DpZ,EAAOyD,cAAc3C,UAAU6D,OAAS,SAAUvI,EAAOC,EAAQqyF,GAEzDtyF,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAK5CmC,KAAKyN,MAAS7P,EAAQ,GAAKC,EAAS,EAEpCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKqN,MAAMzP,MAAQoC,KAAK4N,KAAKhQ,MAAQA,EAAQoC,KAAK4E,WAClD5E,KAAKqN,MAAMxP,OAASmC,KAAK4N,KAAK/P,OAASA,EAASmC,KAAK4E,WAEjDsrF,IAEAlwF,KAAKoG,YAAYxI,MAAQoC,KAAKpC,MAAQoC,KAAK4E,WAC3C5E,KAAKoG,YAAYvI,OAASmC,KAAKnC,OAASmC,KAAK4E,YAG7C5E,KAAK6E,SAAS2O,OAAShS,EAAOmV,QAE9B3W,KAAKwX,WAAWzT,EAAI/D,KAAKpC,MAAQ,EACjCoC,KAAKwX,WAAWxT,GAAKhE,KAAKnC,OAAS,GAGlCmC,KAAKyN,OAKVzN,KAAK8vF,cAAc3pF,OAAOnG,KAAKpC,MAAOoC,KAAKnC,UAQ/C2D,EAAOyD,cAAc3C,UAAUsY,MAAQ,WAE9B5a,KAAKyN,QAKNzN,KAAK6E,SAAS2O,OAAShS,EAAOmV,OAE9B3W,KAAK6E,SAASlH,GAAG+B,gBAAgBM,KAAK6E,SAASlH,GAAGgC,YAAaK,KAAK8vF,cAAcrpE,aAGtFzmB,KAAK8vF,cAAcl1E,UAavBpZ,EAAOyD,cAAc3C,UAAUyD,aAAe,SAAUkV,EAAevN,EAAQkN,GAE3E,GAAK5a,KAAKyN,OAAiC,IAAxBwN,EAAcha,MAAjC,CASA,IAAIwC,EAAKwX,EAAc1Z,eACvBkC,EAAGw4B,WACHx4B,EAAGo4B,UAAU,EAAuB,EAApB77B,KAAKwX,WAAWxT,GAE5B0J,GAEAjK,EAAGs4B,OAAOruB,GAGdjK,EAAG3C,MAAM,GAAI,GAGb,IAAK,IAAI4B,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/CuY,EAAcxY,SAASC,GAAGI,kBAI9B,IAAInF,EAAKqC,KAAK6E,SAASlH,GAEvBA,EAAG6c,SAAS,EAAG,EAAGxa,KAAKpC,MAAQoC,KAAK4E,WAAY5E,KAAKnC,OAASmC,KAAK4E,YAEnEjH,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAK8vF,cAAcrpE,aAElD7L,GAEA5a,KAAK8vF,cAAcl1E,QAGvB5a,KAAK6E,SAASkH,YAAYyF,OAAQ,EAElCxR,KAAK6E,SAASmW,oBAAoBC,EAAejb,KAAKwX,WAAYxX,KAAK8vF,cAAcrpE,YAAa/Y,GAElG1N,KAAK6E,SAASkH,YAAYyF,OAAQ,EAElC7T,EAAG+B,gBAAgB/B,EAAGgC,YAAa,QAYvC6B,EAAOyD,cAAc3C,UAAU0D,cAAgB,SAAUiV,EAAevN,EAAQkN,GAE5E,GAAK5a,KAAKyN,OAAiC,IAAxBwN,EAAcha,MAAjC,CASA,IAAIwC,EAAKwX,EAAc1Z,eACvBkC,EAAGw4B,WAECvuB,GAEAjK,EAAGs4B,OAAOruB,GAId,IAAK,IAAIhL,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/CuY,EAAcxY,SAASC,GAAGI,kBAG1B8X,GAEA5a,KAAK8vF,cAAcl1E,QAGvB,IAAIu1E,EAAiBnwF,KAAK6E,SAASD,WAEnC5E,KAAK6E,SAASD,WAAa5E,KAAK4E,WAEhC5E,KAAK6E,SAASmW,oBAAoBC,EAAejb,KAAK8vF,cAAchiF,QAASJ,GAE7E1N,KAAK6E,SAASD,WAAaurF,IAmB/B3uF,EAAOyD,cAAc3C,UAAUiwE,SAAW,SAAU/+D,EAAMsoE,EAAgBE,EAAgBC,GAEtF,IAAI/hE,EAAQ,IAAI45D,MAMhB,OALA55D,EAAMrK,IAAM7P,KAAK67E,UAAUroE,EAAMsoE,GAE7BE,IAAkB9hE,EAAMgiE,OAASF,GACjCC,IAAmB/hE,EAAMiiE,QAAUF,GAEhC/hE,GAaX1Y,EAAOyD,cAAc3C,UAAUu5E,UAAY,SAAUroE,EAAMsoE,GAEvD,OAAO97E,KAAKw+E,YAAYzC,UAAUvoE,EAAMsoE,IAS5Ct6E,EAAOyD,cAAc3C,UAAUk8E,UAAY,WAEvC,GAAIx+E,KAAK6E,SAAS2O,OAAShS,EAAOmV,MAClC,CACI,IAAIhZ,EAAKqC,KAAK6E,SAASlH,GACnBC,EAAQoC,KAAK8vF,cAAclyF,MAC3BC,EAASmC,KAAK8vF,cAAcjyF,OAE5BuyF,EAAc,IAAIC,WAAW,EAAIzyF,EAAQC,GAE7CF,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAK8vF,cAAcrpE,aACtD9oB,EAAG2yF,WAAW,EAAG,EAAG1yF,EAAOC,EAAQF,EAAGmB,KAAMnB,EAAGoB,cAAeqxF,GAC9DzyF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAEnC,IAAI4wF,EAAa,IAAI/xF,KAAKupB,aAAanqB,EAAOC,GAC1C2yF,EAAaD,EAAWziF,QAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAK9D,OAJA2yF,EAAWp8E,KAAKjN,IAAIipF,GAEpBG,EAAWziF,QAAQub,aAAamnE,EAAY,EAAG,GAExCD,EAAWr5E,OAIlB,OAAOlX,KAAK8vF,cAAc54E,QA2ClC1V,EAAOqzE,KAAO,SAAU9xE,EAAMgB,EAAGC,EAAG4wE,EAAMt5D,GAEtCvX,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAIL4wE,OAFSruE,IAATquE,GAA+B,OAATA,EAEf,GAIAA,EAAKhsD,WAMhB5oB,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,MAEvCwB,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGxF,KAAKqO,QAAQ6d,WAAW1qB,KAAKkX,SAMlElX,KAAKwT,KAAOhS,EAAO8qB,KAMnBtsB,KAAK4yC,YAAcpxC,EAAO0qB,OAO1BlsB,KAAKwmB,QAAU,IAAIhlB,EAAOX,MAQ1Bb,KAAKywF,WAAa,KAKlBzwF,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAKtCxY,KAAKsiB,UAKLtiB,KAAK0wF,gBAKL1wF,KAAK2wF,cAKL3wF,KAAK4wF,eAQL5wF,KAAK6wF,WAAY,EAajB7wF,KAAK8wF,iBAAkB,EAQvB9wF,KAAK+wF,YAAc,iBAOnB/wF,KAAKgxF,oBAAsB,EAO3BhxF,KAAKixF,qBAAuB,GAO5BjxF,KAAKkxF,YAAc,OAMnBlxF,KAAKmxF,KAAOpuF,EAAK8B,SAASD,WAM1B5E,KAAKoxF,MAAQxc,EAMb50E,KAAKqxF,gBAAkB,KAMvBrxF,KAAKsxF,aAAe,EAMpBtxF,KAAKuxF,WAAa,EAMlBvxF,KAAK0M,OAAS,EAMd1M,KAAK2M,QAAU,EAMf3M,KAAKsb,SAELtb,KAAKwxF,SAASl2E,OAED,KAATs5D,GAEA50E,KAAKyxF,cAIbjwF,EAAOqzE,KAAKvyE,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACpDd,EAAOqzE,KAAKvyE,UAAUC,YAAcf,EAAOqzE,KAQ3CrzE,EAAOqzE,KAAKvyE,UAAUoC,UAAY,WAE9B,SAAK1E,KAAK82E,oBAAuB92E,KAAK+2E,qBAAwB/2E,KAAKg3E,qBAK5Dh3E,KAAKi3E,iBAShBz1E,EAAOqzE,KAAKvyE,UAAU6iC,OAAS,aAW/B3jC,EAAOqzE,KAAKvyE,UAAUE,QAAU,SAAUo4C,GAEtC56C,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAO0pE,UAAU8C,QAAQ1rE,UAAUE,QAAQgC,KAAKxE,KAAM46C,IAkB1Dp5C,EAAOqzE,KAAKvyE,UAAUovF,UAAY,SAAU3tF,EAAGC,EAAGqS,EAAO4oE,EAAM0S,EAAcC,GAiBzE,YAfUrrF,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV8P,IAAuBA,EAAQ,yBACtB9P,IAAT04E,IAAsBA,EAAO,QACZ14E,IAAjBorF,IAA8BA,GAAe,QAC9BprF,IAAfqrF,IAA4BA,GAAa,GAE7C5xF,KAAKsb,MAAM8jE,cAAgBr7E,EAC3B/D,KAAKsb,MAAM+jE,cAAgBr7E,EAC3BhE,KAAKsb,MAAM4jE,YAAc7oE,EACzBrW,KAAKsb,MAAM6jE,WAAaF,EACxBj/E,KAAKsb,MAAMq2E,aAAeA,EAC1B3xF,KAAKsb,MAAMs2E,WAAaA,EACxB5xF,KAAKwR,OAAQ,EAENxR,MA2BXwB,EAAOqzE,KAAKvyE,UAAUkvF,SAAW,SAAUl2E,EAAO6pB,QAE/B5+B,IAAX4+B,IAAwBA,GAAS,GAErC,IAAI0sD,EAAW7qF,OAAOiqB,UAAW3V,GACjCu2E,EAASrc,KAAOl6D,EAAMk6D,MAAQ,kBAC9Bqc,EAAS/hD,gBAAkBx0B,EAAMw0B,iBAAmB,KACpD+hD,EAAS9qC,KAAOzrC,EAAMyrC,MAAQ,QAC9B8qC,EAAS18C,OAAS75B,EAAM65B,OAAS,QAAQqZ,cACzCqjC,EAASC,cAAgBx2E,EAAMw2E,cAAgB,QAAQtjC,cACvDqjC,EAASE,cAAgBz2E,EAAMy2E,cAAgB,OAAOvjC,cACtDqjC,EAASvR,OAAShlE,EAAMglE,QAAU,QAClCuR,EAASG,gBAAkBnyD,OAAOvkB,EAAM02E,kBAAoB,EAC5DH,EAASI,SAAW32E,EAAM22E,WAAY,EACtCJ,EAASK,cAAgB52E,EAAM42E,eAAiB,IAChDL,EAASM,SAAW72E,EAAM62E,UAAY,EACtCN,EAASzS,cAAgB9jE,EAAM8jE,eAAiB,EAChDyS,EAASxS,cAAgB/jE,EAAM+jE,eAAiB,EAChDwS,EAAS3S,YAAc5jE,EAAM4jE,aAAe,gBAC5C2S,EAAS1S,WAAa7jE,EAAM6jE,YAAc,EAC1C0S,EAASO,KAAO92E,EAAM82E,MAAQ,EAE9B,IAAI/lB,EAAarsE,KAAKqyF,iBAAiBR,EAASrc,MAuChD,OArCIqc,EAASS,YAETjmB,EAAWimB,UAAYT,EAASS,WAGhCT,EAASU,cAETlmB,EAAWkmB,YAAcV,EAASU,aAGlCV,EAASW,aAETnmB,EAAWmmB,WAAaX,EAASW,YAGjCX,EAASY,WAEwB,iBAAtBZ,EAASY,WAEhBZ,EAASY,SAAWZ,EAASY,SAAW,MAG5CpmB,EAAWomB,SAAWZ,EAASY,UAGnCzyF,KAAKqxF,gBAAkBhlB,EAEvBwlB,EAASrc,KAAOx1E,KAAK0yF,iBAAiB1yF,KAAKqxF,iBAE3CrxF,KAAKsb,MAAQu2E,EACb7xF,KAAKwR,OAAQ,EAET2zB,GAEAnlC,KAAKyxF,aAGFzxF,MASXwB,EAAOqzE,KAAKvyE,UAAUmvF,WAAa,WAE/BzxF,KAAKjC,QAAQqI,YAAYxB,WAAa5E,KAAKmxF,KAE3CnxF,KAAK8N,QAAQ0nE,KAAOx1E,KAAKsb,MAAMk6D,KAE/B,IAAImd,EAAa3yF,KAAK40E,KAElB50E,KAAKgxF,oBAAsB,GAAKhxF,KAAKgxF,mBAAqB2B,EAAWhwF,SAErEgwF,EAAa3yF,KAAK40E,KAAKge,UAAU,EAAG5yF,KAAKgxF,oBAAsBhxF,KAAKixF,sBAGpEjxF,KAAKsb,MAAM22E,WAEXU,EAAa3yF,KAAK6yF,YAAY7yF,KAAK40E,OAIvC,IAAIke,EAAQH,EAAW9gE,MAAM7xB,KAAK+wF,aAG9BqB,EAAOpyF,KAAKsb,MAAM82E,KAClBW,KACAC,EAAe,EACfC,EAAiBjzF,KAAKkzF,wBAAwBlzF,KAAKsb,MAAMk6D,MAEzD2d,EAAaL,EAAMnwF,OAEnB3C,KAAKsb,MAAM62E,SAAW,GAAKnyF,KAAKsb,MAAM62E,SAAWW,EAAMnwF,SAEvDwwF,EAAanzF,KAAKsb,MAAM62E,UAG5BnyF,KAAKuxF,WAAa,EAElB,IAAK,IAAI7uF,EAAI,EAAGA,EAAIywF,EAAYzwF,IAChC,CACI,GAAa,IAAT0vF,EACJ,CAEQhS,EAAYpgF,KAAKsb,MAAM02E,gBAAkBhyF,KAAKwmB,QAAQziB,EAEtD/D,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAK0wF,aAAa/tF,OAAS,GAAK3C,KAAK4wF,YAAYjuF,OAAS,GAAK3C,KAAK2wF,WAAWhuF,OAAS,EAElHy9E,GAAapgF,KAAKozF,YAAYN,EAAMpwF,IAIpC09E,GAAapgF,KAAK8N,QAAQulF,YAAYP,EAAMpwF,IAAI9E,MAIhDoC,KAAKsb,MAAM22E,WAEX7R,GAAapgF,KAAK8N,QAAQulF,YAAY,KAAKz1F,WAInD,CAEI,IAAI86B,EAAOo6D,EAAMpwF,GAAGmvB,MAAM,UACtBuuD,EAAYpgF,KAAKwmB,QAAQziB,EAAI/D,KAAKsb,MAAM02E,gBAE5C,GAAIvqF,MAAMC,QAAQ0qF,GAId,IAAK,IAFDkB,EAAM,EAEDlwF,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IACjC,CACI,IAAImwF,EAAU,EAIVA,EAFAvzF,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAK0wF,aAAa/tF,OAAS,GAAK3C,KAAK4wF,YAAYjuF,OAAS,GAAK3C,KAAK2wF,WAAWhuF,OAAS,EAExG3C,KAAKozF,YAAY16D,EAAKt1B,IAItBM,KAAKwC,KAAKlG,KAAK8N,QAAQulF,YAAY36D,EAAKt1B,IAAIxF,OAGtDwF,EAAI,IAEJkwF,GAAOlB,EAAKhvF,EAAI,IAGpBg9E,EAAYkT,EAAMC,OAKtB,IAASnwF,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IAGzBpD,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAK0wF,aAAa/tF,OAAS,GAAK3C,KAAK4wF,YAAYjuF,OAAS,GAAK3C,KAAK2wF,WAAWhuF,OAAS,EAElHy9E,GAAapgF,KAAKozF,YAAY16D,EAAKt1B,IAInCg9E,GAAa18E,KAAKwC,KAAKlG,KAAK8N,QAAQulF,YAAY36D,EAAKt1B,IAAIxF,OAK7DwiF,GAFWpgF,KAAK+C,KAAK8iC,KAAK2tD,WAAWpT,EAAWgS,GAAQhS,EAOpE2S,EAAWrwF,GAAKgB,KAAKwC,KAAKk6E,GAC1B4S,EAAetvF,KAAKuC,IAAI+sF,EAAcD,EAAWrwF,IAGrD1C,KAAKkX,OAAOtZ,MAAQo1F,EAAehzF,KAAKmxF,KAGxC,IAAIsC,EAAaR,EAAeR,SAAWzyF,KAAKsb,MAAM02E,gBAAkBhyF,KAAKwmB,QAAQxiB,EACjFnG,EAAS41F,EAAaN,EACtBO,EAAc1zF,KAAKsxF,aAEnBoC,EAAc,GAAKhwF,KAAKizB,IAAI+8D,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,IAEA71F,GAAW61F,EAAc,EAAKA,EAAcZ,EAAMnwF,OAAS+wF,GAAeZ,EAAMnwF,OAAS,IAG7F3C,KAAKkX,OAAOrZ,OAASA,EAASmC,KAAKmxF,KAEnCnxF,KAAK8N,QAAQhN,MAAMd,KAAKmxF,KAAMnxF,KAAKmxF,MAE/BxnE,UAAUC,YAEV5pB,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAKkX,OAAOtZ,MAAOoC,KAAKkX,OAAOrZ,QAG5DmC,KAAKsb,MAAMw0B,kBAEX9vC,KAAK8N,QAAQ6a,UAAY3oB,KAAKsb,MAAMw0B,gBACpC9vC,KAAK8N,QAAQgb,SAAS,EAAG,EAAG9oB,KAAKkX,OAAOtZ,MAAOoC,KAAKkX,OAAOrZ,SAG/DmC,KAAK8N,QAAQ6a,UAAY3oB,KAAKsb,MAAMyrC,KACpC/mD,KAAK8N,QAAQ0nE,KAAOx1E,KAAKsb,MAAMk6D,KAC/Bx1E,KAAK8N,QAAQuyE,YAAcrgF,KAAKsb,MAAMglE,OACtCtgF,KAAK8N,QAAQ6lF,aAAe,aAE5B3zF,KAAK8N,QAAQsyE,UAAYpgF,KAAKsb,MAAM02E,gBACpChyF,KAAK8N,QAAQ8lF,QAAU,QACvB5zF,KAAK8N,QAAQ+lF,SAAW,QAExB,IAAIC,EACAC,EAKJ,IAHA/zF,KAAKuxF,WAAa,EAGb7uF,EAAI,EAAGA,EAAIywF,EAAYzwF,IAIxBoxF,EAAgB9zF,KAAKsb,MAAM02E,gBAAkB,EAC7C+B,EAAiB/zF,KAAKsb,MAAM02E,gBAAkB,EAAItvF,EAAI+wF,EAAcR,EAAee,OAE/EtxF,EAAI,IAEJqxF,GAAkBL,EAAchxF,GAGX,UAArB1C,KAAKsb,MAAM65B,MAEX2+C,GAAiBd,EAAeD,EAAWrwF,GAEjB,WAArB1C,KAAKsb,MAAM65B,QAEhB2+C,IAAkBd,EAAeD,EAAWrwF,IAAM,GAGlD1C,KAAK6wF,YAELiD,EAAgBpwF,KAAK+xB,MAAMq+D,GAC3BC,EAAgBrwF,KAAK+xB,MAAMs+D,IAG3B/zF,KAAKsiB,OAAO3f,OAAS,GAAK3C,KAAK0wF,aAAa/tF,OAAS,GAAK3C,KAAK4wF,YAAYjuF,OAAS,GAAK3C,KAAK2wF,WAAWhuF,OAAS,EAElH3C,KAAKi0F,WAAWnB,EAAMpwF,GAAIoxF,EAAeC,IAIrC/zF,KAAKsb,MAAMglE,QAAUtgF,KAAKsb,MAAM02E,kBAEhChyF,KAAKk0F,aAAal0F,KAAKsb,MAAMq2E,cAEhB,IAATS,EAEApyF,KAAK8N,QAAQqmF,WAAWrB,EAAMpwF,GAAIoxF,EAAeC,GAIjD/zF,KAAKo0F,cAActB,EAAMpwF,GAAIoxF,EAAeC,GAAe,IAI/D/zF,KAAKsb,MAAMyrC,OAEX/mD,KAAKk0F,aAAal0F,KAAKsb,MAAMs2E,YAEhB,IAATQ,EAEApyF,KAAK8N,QAAQgyE,SAASgT,EAAMpwF,GAAIoxF,EAAeC,GAI/C/zF,KAAKo0F,cAActB,EAAMpwF,GAAIoxF,EAAeC,GAAe,KAM3E/zF,KAAKwV,gBAELxV,KAAKwR,OAAQ,GAcjBhQ,EAAOqzE,KAAKvyE,UAAU8xF,cAAgB,SAAU17D,EAAM30B,EAAGC,EAAG+iD,GAExD,IAAI6tB,EAAOl8C,EAAK7G,MAAM,UAClBugE,EAAOpyF,KAAKsb,MAAM82E,KAClBiC,EAAO,EAEX,GAAI5sF,MAAMC,QAAQ0qF,GAId,IAAK,IAFDkB,EAAM,EAEDlwF,EAAI,EAAGA,EAAIwxE,EAAKjyE,OAAQS,IAEzBA,EAAI,IAEJkwF,GAAOlB,EAAKhvF,EAAI,IAGpBixF,EAAOtwF,EAAIuvF,EAEPvsC,EAEA/mD,KAAK8N,QAAQgyE,SAASlL,EAAKxxE,GAAIixF,EAAMrwF,GAIrChE,KAAK8N,QAAQqmF,WAAWvf,EAAKxxE,GAAIixF,EAAMrwF,QAM/C,IAASZ,EAAI,EAAGA,EAAIwxE,EAAKjyE,OAAQS,IACjC,CACI,IAAImwF,EAAU7vF,KAAKwC,KAAKlG,KAAK8N,QAAQulF,YAAYze,EAAKxxE,IAAIxF,OAG1Dy2F,EAAOr0F,KAAK+C,KAAK8iC,KAAK2tD,WAAWzvF,EAAGquF,GAEhCrrC,EAEA/mD,KAAK8N,QAAQgyE,SAASlL,EAAKxxE,GAAIixF,EAAMrwF,GAIrChE,KAAK8N,QAAQqmF,WAAWvf,EAAKxxE,GAAIixF,EAAMrwF,GAG3CD,EAAIswF,EAAOd,IAYvB/xF,EAAOqzE,KAAKvyE,UAAU4xF,aAAe,SAAUvtD,GAEvCA,GAEA3mC,KAAK8N,QAAQsxE,cAAgBp/E,KAAKsb,MAAM8jE,cACxCp/E,KAAK8N,QAAQuxE,cAAgBr/E,KAAKsb,MAAM+jE,cACxCr/E,KAAK8N,QAAQoxE,YAAcl/E,KAAKsb,MAAM4jE,YACtCl/E,KAAK8N,QAAQqxE,WAAan/E,KAAKsb,MAAM6jE,aAIrCn/E,KAAK8N,QAAQsxE,cAAgB,EAC7Bp/E,KAAK8N,QAAQuxE,cAAgB,EAC7Br/E,KAAK8N,QAAQoxE,YAAc,EAC3Bl/E,KAAK8N,QAAQqxE,WAAa,IAYlC39E,EAAOqzE,KAAKvyE,UAAU8wF,YAAc,SAAU16D,GAI1C,IAAK,IAFD47D,EAAa,EAER5xF,EAAI,EAAGA,EAAIg2B,EAAK/1B,OAAQD,IACjC,CACI,IAAI6xF,EAAS77D,EAAKh2B,GAElB,GAAI1C,KAAK4wF,YAAYjuF,OAAS,GAAK3C,KAAK2wF,WAAWhuF,OAAS,EAC5D,CACI,IAAI0pE,EAAarsE,KAAKqyF,iBAAiBryF,KAAK8N,QAAQ0nE,MAEhDx1E,KAAK2wF,WAAW3wF,KAAKuxF,cAErBllB,EAAWimB,UAAYtyF,KAAK2wF,WAAW3wF,KAAKuxF,aAG5CvxF,KAAK4wF,YAAY5wF,KAAKuxF,cAEtBllB,EAAWmmB,WAAaxyF,KAAK4wF,YAAY5wF,KAAKuxF,aAGlDvxF,KAAK8N,QAAQ0nE,KAAOx1E,KAAK0yF,iBAAiBrmB,GAG1CrsE,KAAKsb,MAAMglE,QAAUtgF,KAAKsb,MAAM02E,kBAE5BhyF,KAAK0wF,aAAa1wF,KAAKuxF,cAEvBvxF,KAAK8N,QAAQuyE,YAAcrgF,KAAK0wF,aAAa1wF,KAAKuxF,aAGtDvxF,KAAKk0F,aAAal0F,KAAKsb,MAAMq2E,eAG7B3xF,KAAKsb,MAAMyrC,OAEP/mD,KAAKsiB,OAAOtiB,KAAKuxF,cAEjBvxF,KAAK8N,QAAQ6a,UAAY3oB,KAAKsiB,OAAOtiB,KAAKuxF,aAG9CvxF,KAAKk0F,aAAal0F,KAAKsb,MAAMs2E,aAGjC0C,GAAct0F,KAAK8N,QAAQulF,YAAYkB,GAAQ32F,MAE/CoC,KAAKuxF,aAGT,OAAO7tF,KAAKwC,KAAKouF,IASrB9yF,EAAOqzE,KAAKvyE,UAAU2xF,WAAa,SAAUv7D,EAAM30B,EAAGC,GAElD,IAAK,IAAItB,EAAI,EAAGA,EAAIg2B,EAAK/1B,OAAQD,IACjC,CACI,IAAI6xF,EAAS77D,EAAKh2B,GAElB,GAAI1C,KAAK4wF,YAAYjuF,OAAS,GAAK3C,KAAK2wF,WAAWhuF,OAAS,EAC5D,CACI,IAAI0pE,EAAarsE,KAAKqyF,iBAAiBryF,KAAK8N,QAAQ0nE,MAEhDx1E,KAAK2wF,WAAW3wF,KAAKuxF,cAErBllB,EAAWimB,UAAYtyF,KAAK2wF,WAAW3wF,KAAKuxF,aAG5CvxF,KAAK4wF,YAAY5wF,KAAKuxF,cAEtBllB,EAAWmmB,WAAaxyF,KAAK4wF,YAAY5wF,KAAKuxF,aAGlDvxF,KAAK8N,QAAQ0nE,KAAOx1E,KAAK0yF,iBAAiBrmB,GAG1CrsE,KAAKsb,MAAMglE,QAAUtgF,KAAKsb,MAAM02E,kBAE5BhyF,KAAK0wF,aAAa1wF,KAAKuxF,cAEvBvxF,KAAK8N,QAAQuyE,YAAcrgF,KAAK0wF,aAAa1wF,KAAKuxF,aAGtDvxF,KAAKk0F,aAAal0F,KAAKsb,MAAMq2E,cAC7B3xF,KAAK8N,QAAQqmF,WAAWI,EAAQxwF,EAAGC,IAGnChE,KAAKsb,MAAMyrC,OAEP/mD,KAAKsiB,OAAOtiB,KAAKuxF,cAEjBvxF,KAAK8N,QAAQ6a,UAAY3oB,KAAKsiB,OAAOtiB,KAAKuxF,aAG9CvxF,KAAKk0F,aAAal0F,KAAKsb,MAAMs2E,YAC7B5xF,KAAK8N,QAAQgyE,SAASyU,EAAQxwF,EAAGC,IAGrCD,GAAK/D,KAAK8N,QAAQulF,YAAYkB,GAAQ32F,MAEtCoC,KAAKuxF,eAUb/vF,EAAOqzE,KAAKvyE,UAAUkyF,YAAc,WAMhC,OAJAx0F,KAAKsiB,UACLtiB,KAAK0wF,gBACL1wF,KAAKwR,OAAQ,EAENxR,MASXwB,EAAOqzE,KAAKvyE,UAAUmyF,gBAAkB,WAMpC,OAJAz0F,KAAK2wF,cACL3wF,KAAK4wF,eACL5wF,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOqzE,KAAKvyE,UAAUoyF,SAAW,SAAUr+E,EAAOzV,GAK9C,OAHAZ,KAAKsiB,OAAO1hB,GAAYyV,EACxBrW,KAAKwR,OAAQ,EAENxR,MAoBXwB,EAAOqzE,KAAKvyE,UAAUqyF,eAAiB,SAAUt+E,EAAOzV,GAKpD,OAHAZ,KAAK0wF,aAAa9vF,GAAYyV,EAC9BrW,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOqzE,KAAKvyE,UAAUsyF,aAAe,SAAUt5E,EAAO1a,GAKlD,OAHAZ,KAAK2wF,WAAW/vF,GAAY0a,EAC5Btb,KAAKwR,OAAQ,EAENxR,MAkBXwB,EAAOqzE,KAAKvyE,UAAUuyF,cAAgB,SAAUC,EAAQl0F,GAKpD,OAHAZ,KAAK4wF,YAAYhwF,GAAYk0F,EAC7B90F,KAAKwR,OAAQ,EAENxR,MAcXwB,EAAOqzE,KAAKvyE,UAAUyyF,qBAAuB,SAAUngB,GAOnD,OALA50E,KAAKjC,QAAQqI,YAAYxB,WAAa5E,KAAKmxF,KAC3CnxF,KAAK8N,QAAQ0nE,KAAOx1E,KAAKsb,MAAMk6D,KAEZx1E,KAAK6yF,YAAYje,GAEhB/iD,MAAM,mBAU9BrwB,EAAOqzE,KAAKvyE,UAAUuwF,YAAc,SAAUje,GAE1C,OAAI50E,KAAK8wF,gBAEE9wF,KAAKg1F,iBAAiBpgB,GAItB50E,KAAKi1F,cAAcrgB,IAclCpzE,EAAOqzE,KAAKvyE,UAAU0yF,iBAAmB,SAAUpgB,GAiB/C,IAAK,IAfD9mE,EAAU9N,KAAK8N,QACfokF,EAAgBlyF,KAAKsb,MAAM42E,cAE3Bx8D,EAAS,GAMTo9D,EAAQle,EACPtgD,QAAQ,OAAQ,KAChBzC,MAAM,WAEPqjE,EAAapC,EAAMnwF,OAEdD,EAAI,EAAGA,EAAIwyF,EAAYxyF,IAChC,CACI,IAAIg2B,EAAOo6D,EAAMpwF,GACbuyB,EAAM,GAWV,GARAyD,EAAOA,EAAKpE,QAAQ,aAAc,IAMlBxmB,EAAQulF,YAAY36D,GAAM96B,MAE1Bs0F,EAEZx8D,GAAUgD,EAAO,SAFrB,CAYA,IAAK,IALDy8D,EAAmBjD,EAGnBkD,EAAQ18D,EAAK7G,MAAM,KAEdhqB,EAAI,EAAGA,EAAIutF,EAAMzyF,OAAQkF,IAClC,CACI,IAAIwtF,EAAOD,EAAMvtF,GACbytF,EAAgBD,EAAO,IACvBE,EAAYznF,EAAQulF,YAAYiC,GAAe13F,MAEnD,GAAI23F,EAAYJ,EAChB,CAEI,GAAU,IAANttF,EACJ,CAII,IAFA,IAAI2tF,EAAUF,EAEPE,EAAQ7yF,SAEX6yF,EAAUA,EAAQxlE,MAAM,GAAI,MAC5BulE,EAAYznF,EAAQulF,YAAYmC,GAAS53F,QAExBu3F,MAUrB,IAAKK,EAAQ7yF,OAET,MAAM,IAAIoG,MAAM,sEAIpB,IAAI0sF,EAAaJ,EAAKxsE,OAAO2sE,EAAQ7yF,QAErCyyF,EAAMvtF,GAAK4tF,EAGXxgE,GAAOugE,EAIX,IAAI/9E,EAAU29E,EAAMvtF,GAAS,OAAIA,EAAIA,EAAI,EAGrCqnF,EAAYkG,EAAMplE,MAAMvY,GAAQ3H,KAAK,KAGpCwkB,QAAQ,YAAa,IAG1Bw+D,EAAMpwF,EAAI,GAAKwsF,EAAY,KAAO4D,EAAMpwF,EAAI,IAAM,IAClDwyF,EAAapC,EAAMnwF,OAEnB,MAMAsyB,GAAOqgE,EACPH,GAAoBI,EAK5B7/D,GAAUT,EAAIX,QAAQ,YAAa,IAAM,MAM7C,OAFAoB,EAASA,EAAOpB,QAAQ,cAAe,KAY3C9yB,EAAOqzE,KAAKvyE,UAAU2yF,cAAgB,SAAUrgB,GAK5C,IAAK,IAHDh8C,EAAS,GACTk6D,EAAQle,EAAK/iD,MAAM,MAEdnvB,EAAI,EAAGA,EAAIowF,EAAMnwF,OAAQD,IAClC,CAII,IAAK,IAHDgzF,EAAY11F,KAAKsb,MAAM42E,cACvBkD,EAAQtC,EAAMpwF,GAAGmvB,MAAM,KAElBhqB,EAAI,EAAGA,EAAIutF,EAAMzyF,OAAQkF,IAClC,CACI,IAAI0tF,EAAYv1F,KAAK8N,QAAQulF,YAAY+B,EAAMvtF,IAAIjK,MAC/C+3F,EAAqBJ,EAAYv1F,KAAK8N,QAAQulF,YAAY,KAAKz1F,MAE/D+3F,EAAqBD,GAGjB7tF,EAAI,IAEJ+wB,GAAU,MAEdA,GAAUw8D,EAAMvtF,GAAK,IACrB6tF,EAAY11F,KAAKsb,MAAM42E,cAAgBqD,IAIvCG,GAAaC,EACb/8D,GAAUw8D,EAAMvtF,GAAK,KAIzBnF,EAAIowF,EAAMnwF,OAAS,IAEnBi2B,GAAU,MAIlB,OAAOA,GAUXp3B,EAAOqzE,KAAKvyE,UAAUszF,WAAa,SAAUvpB,GAEzC,IAAImJ,EAAOx1E,KAAK0yF,iBAAiBrmB,GAE7BrsE,KAAKsb,MAAMk6D,OAASA,IAEpBx1E,KAAKsb,MAAMk6D,KAAOA,EAClBx1E,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,oBAYjBtB,EAAOqzE,KAAKvyE,UAAU+vF,iBAAmB,SAAU7c,GAY/C,IAAIp+C,EAAIo+C,EAAKvK,MAAM,wSAEnB,GAAI7zC,EACJ,CACI,IAAIy+D,EAASz+D,EAAE,GAAGhpB,OAQlB,MALK,2DAA6D0nF,KAAKD,IAAY,QAAUC,KAAKD,KAE9FA,EAAS,IAAOA,EAAS,MAIzBrgB,KAAMA,EACN8c,UAAWl7D,EAAE,IAAM,SACnBm7D,YAAan7D,EAAE,IAAM,SACrBo7D,WAAYp7D,EAAE,IAAM,SACpBq7D,SAAUr7D,EAAE,IAAM,SAClB2+D,WAAYF,GAOhB,OAFAv1F,QAAQ+Z,KAAK,sCAAwCm7D,IAE7CA,KAAMA,IAWtBh0E,EAAOqzE,KAAKvyE,UAAUowF,iBAAmB,SAAUrmB,GAE/C,IACIxtB,EADA5sB,KAwBJ,OArBA4sB,EAAIwtB,EAAWimB,YACA,WAANzzC,GAAkB5sB,EAAMnqB,KAAK+2C,IAEtCA,EAAIwtB,EAAWkmB,cACA,WAAN1zC,GAAkB5sB,EAAMnqB,KAAK+2C,IAEtCA,EAAIwtB,EAAWmmB,aACA,WAAN3zC,GAAkB5sB,EAAMnqB,KAAK+2C,IAEtCA,EAAIwtB,EAAWomB,WACA,WAAN5zC,GAAkB5sB,EAAMnqB,KAAK+2C,IAEtCA,EAAIwtB,EAAW0pB,aACN9jE,EAAMnqB,KAAK+2C,GAEf5sB,EAAMtvB,QAGPsvB,EAAMnqB,KAAKukE,EAAWmJ,MAGnBvjD,EAAMniB,KAAK,MAkBtBtO,EAAOqzE,KAAKvyE,UAAU0zF,QAAU,SAAUphB,EAAMgJ,GAM5C,YAJkBr3E,IAAdq3E,IAA2BA,GAAY,IAE3ChJ,EAAOA,EAAKhsD,YAAc,MAEb5oB,KAAKoxF,MAEPpxF,MAGXA,KAAK40E,KAAOA,EAERgJ,EAEA59E,KAAKyxF,aAILzxF,KAAKwR,OAAQ,EAGVxR,OAwBXwB,EAAOqzE,KAAKvyE,UAAU2zF,UAAY,SAAU/7C,GAExC,IAAKzyC,MAAMC,QAAQwyC,GAEf,OAAOl6C,KAMP,IAAK,IAFDqE,EAAI,GAEC3B,EAAI,EAAGA,EAAIw3C,EAAKv3C,OAAQD,IAEzB+E,MAAMC,QAAQwyC,EAAKx3C,KAEnB2B,GAAK61C,EAAKx3C,GAAGoN,KAAK,MAEdpN,EAAIw3C,EAAKv3C,OAAS,IAElB0B,GAAK,QAKTA,GAAK61C,EAAKx3C,GAENA,EAAIw3C,EAAKv3C,OAAS,IAElB0B,GAAK,OASrB,OAHArE,KAAK40E,KAAOvwE,EACZrE,KAAKwR,OAAQ,EAENxR,MAkCXwB,EAAOqzE,KAAKvyE,UAAU4zF,cAAgB,SAAUnyF,EAAGC,EAAGpG,EAAOC,GAyBzD,YAvBU0I,IAANxC,EAEA/D,KAAKywF,WAAa,MAIbzwF,KAAKywF,WAMNzwF,KAAKywF,WAAWr7D,MAAMrxB,EAAGC,EAAGpG,EAAOC,GAJnCmC,KAAKywF,WAAa,IAAIjvF,EAAOS,UAAU8B,EAAGC,EAAGpG,EAAOC,GAOpDmC,KAAKsb,MAAM42E,cAAgBt0F,IAE3BoC,KAAKsb,MAAM42E,cAAgBt0F,IAInCoC,KAAKwV,gBAEExV,MASXwB,EAAOqzE,KAAKvyE,UAAUkT,cAAgB,WAElC,IAAI4E,EAAOpa,KAAKjC,QAAQqI,YACpBwH,EAAO5N,KAAKjC,QAAQ6P,KACpBP,EAAQrN,KAAKjC,QAAQsP,MAErBgI,EAAIrV,KAAKkX,OAAOtZ,MAChB2mB,EAAIvkB,KAAKkX,OAAOrZ,OAiBpB,GAfAuc,EAAKxc,MAAQyX,EACb+E,EAAKvc,OAAS0mB,EAEd3W,EAAKhQ,MAAQyX,EACbzH,EAAK/P,OAAS0mB,EAEdlX,EAAMzP,MAAQyX,EACdhI,EAAMxP,OAAS0mB,EAEfvkB,KAAKjC,QAAQH,MAAQyX,EACrBrV,KAAKjC,QAAQF,OAAS0mB,EAEtBvkB,KAAK0M,OAAS2I,EACdrV,KAAK2M,QAAU4X,EAEXvkB,KAAKywF,WACT,CACI,IAAI1sF,EAAI/D,KAAKywF,WAAW1sF,EACpBC,EAAIhE,KAAKywF,WAAWzsF,EAGQ,UAA5BhE,KAAKsb,MAAMw2E,aAEX/tF,GAAK/D,KAAKywF,WAAW7yF,MAAQoC,KAAKkX,OAAOtZ,MAAQoC,KAAK4E,WAErB,WAA5B5E,KAAKsb,MAAMw2E,eAEhB/tF,GAAK/D,KAAKywF,WAAW75D,UAAa52B,KAAKkX,OAAOtZ,MAAQoC,KAAK4E,WAAa,GAG5C,WAA5B5E,KAAKsb,MAAMy2E,aAEX/tF,GAAKhE,KAAKywF,WAAW5yF,OAASmC,KAAKkX,OAAOrZ,OAASmC,KAAK4E,WAEvB,WAA5B5E,KAAKsb,MAAMy2E,eAEhB/tF,GAAKhE,KAAKywF,WAAW55D,WAAc72B,KAAKkX,OAAOrZ,OAASmC,KAAK4E,WAAa,GAG9E5E,KAAKe,MAAMgD,GAAKA,EAChB/D,KAAKe,MAAMiD,GAAKA,EAIpBhE,KAAKoB,WAAoB,IAANiU,GAAiB,IAANkP,EAE9BvkB,KAAKjC,QAAQ+Q,gBAAiB,EAE9B9O,KAAKjC,QAAQqI,YAAYoL,SAU7BhQ,EAAOqzE,KAAKvyE,UAAUyD,aAAe,SAAUH,GAEvC5F,KAAKwR,QAELxR,KAAKyxF,aACLzxF,KAAKwR,OAAQ,GAGjBhT,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAM4F,IAUlDpE,EAAOqzE,KAAKvyE,UAAU0D,cAAgB,SAAUJ,GAExC5F,KAAKwR,QAELxR,KAAKyxF,aACLzxF,KAAKwR,OAAQ,GAGjBhT,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAM4F,IAUnDpE,EAAOqzE,KAAKvyE,UAAU4wF,wBAA0B,SAAUZ,GAEtD,IAAI6D,EAAa30F,EAAOqzE,KAAKuhB,oBAAoB9D,GAC7Ce,EAAcrzF,KAAKq2F,YAAc,OAErC,IAAKF,EACL,CACIA,KAEA,IAAIj/E,EAAS1V,EAAOqzE,KAAKyhB,qBACrBxoF,EAAUtM,EAAOqzE,KAAK0hB,sBAE1BzoF,EAAQ0nE,KAAO8c,EAEf,IAAI10F,EAAQ8F,KAAKwC,KAAK4H,EAAQulF,YAAYA,GAAaz1F,OACnD44F,EAAW9yF,KAAKwC,KAAK4H,EAAQulF,YAAYA,GAAaz1F,OACtDC,EAAS,EAAI24F,EAgBjB,GAdAA,EAAsB,IAAXA,EAAiB,EAE5Bt/E,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,EAEhBiQ,EAAQ6a,UAAY,OACpB7a,EAAQgb,SAAS,EAAG,EAAGlrB,EAAOC,GAE9BiQ,EAAQ0nE,KAAO8c,EAEfxkF,EAAQ6lF,aAAe,aACvB7lF,EAAQ6a,UAAY,OACpB7a,EAAQgyE,SAASuT,EAAa,EAAGmD,IAE5B1oF,EAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAQnC,OANAs4F,EAAWnC,OAASwC,EACpBL,EAAWM,QAAUD,EAAW,EAChCL,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWM,QAErDj1F,EAAOqzE,KAAKuhB,oBAAoB9D,GAAa6D,EAEtCA,EAGX,IAIIzzF,EAAGmF,EAJH6uF,EAAY5oF,EAAQob,aAAa,EAAG,EAAGtrB,EAAOC,GAAQuW,KACtD+U,EAASutE,EAAU/zF,OACnB+1B,EAAe,EAAR96B,EAIP+4F,EAAM,EACNxqF,GAAO,EAGX,IAAKzJ,EAAI,EAAGA,EAAI8zF,EAAU9zF,IAC1B,CACI,IAAKmF,EAAI,EAAGA,EAAI6wB,EAAM7wB,GAAK,EAEvB,GAA2B,MAAvB6uF,EAAUC,EAAM9uF,GACpB,CACIsE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAwqF,GAAOj+D,EAcf,IANAy9D,EAAWnC,OAASwC,EAAW9zF,EAE/Bi0F,EAAMxtE,EAASuP,EACfvsB,GAAO,EAGFzJ,EAAI7E,EAAQ6E,EAAI8zF,EAAU9zF,IAC/B,CACI,IAAKmF,EAAI,EAAGA,EAAI6wB,EAAM7wB,GAAK,EAEvB,GAA2B,MAAvB6uF,EAAUC,EAAM9uF,GACpB,CACIsE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAwqF,GAAOj+D,EAQfy9D,EAAWM,QAAU/zF,EAAI8zF,EAGzBL,EAAWM,SAAW,EACtBN,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWM,QAErDj1F,EAAOqzE,KAAKuhB,oBAAoB9D,GAAa6D,EAGjD,OAAOA,GAWX30F,EAAOqzE,KAAKvyE,UAAU4H,UAAY,SAAUwD,GAQxC,OANI1N,KAAKwR,QAELxR,KAAKyxF,aACLzxF,KAAKwR,OAAQ,GAGVhT,KAAKsH,OAAOxD,UAAU4H,UAAU1F,KAAKxE,KAAM0N,IAWtDlM,EAAOqzE,KAAKvyE,UAAUs0F,kBAAoB,SAAUC,EAAgBC,GAEhE92F,KAAKixF,0BAAmC1qF,IAAXuwF,EAAwB,GAAKA,EAC1D92F,KAAKgxF,mBAAqB6F,EAE1B72F,KAAKyxF,cAWTzqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKoxF,OAGhBjqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKoxF,QAEfpxF,KAAKoxF,MAAQhqF,EAAMwhB,YAAc,GACjC5oB,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,sBAkBrBkE,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,WAEzC4E,IAAK,WAED,OAAOlH,KAAK0yF,iBAAiB1yF,KAAKqxF,kBAGtClqF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,kBACjBpH,KAAKqxF,gBAAkBrxF,KAAKqyF,iBAAiBjrF,GAC7CpH,KAAK41F,WAAW51F,KAAKqxF,oBAgB7BrqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKqxF,gBAAgB0E,YAGhC5uF,IAAK,SAAUC,GAGXA,GADAA,EAAQA,GAAS,SACHgH,OAGT,2DAA6D0nF,KAAK1uF,IAAW,QAAU0uF,KAAK1uF,KAE7FA,EAAQ,IAAOA,EAAQ,KAG3BpH,KAAKqxF,gBAAgB0E,WAAa3uF,EAClCpH,KAAK41F,WAAW51F,KAAKqxF,oBAc7BrqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,YAEzC4E,IAAK,WAED,IAAI4a,EAAO9hB,KAAKqxF,gBAAgBoB,SAEhC,OAAI3wE,GAAQ,cAAgBg0E,KAAKh0E,GAEtBqR,SAASrR,EAAM,IAIfA,GAIf3a,IAAK,SAAUC,GAIU,iBAFrBA,EAAQA,GAAS,OAIbA,GAAgB,MAGpBpH,KAAKqxF,gBAAgBoB,SAAWrrF,EAChCpH,KAAK41F,WAAW51F,KAAKqxF,oBAU7BrqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKqxF,gBAAgBmB,YAAc,UAG9CrrF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKqxF,gBAAgBmB,WAAaprF,EAClCpH,KAAK41F,WAAW51F,KAAKqxF,oBAU7BrqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,aAEzC4E,IAAK,WAED,OAAOlH,KAAKqxF,gBAAgBiB,WAAa,UAG7CnrF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKqxF,gBAAgBiB,UAAYlrF,EACjCpH,KAAK41F,WAAW51F,KAAKqxF,oBAU7BrqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKqxF,gBAAgBkB,aAAe,UAG/CprF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,SACjBpH,KAAKqxF,gBAAgBkB,YAAcnrF,EACnCpH,KAAK41F,WAAW51F,KAAKqxF,oBAS7BrqF,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMyrC,MAGtB5/C,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMyrC,OAErB/mD,KAAKsb,MAAMyrC,KAAO3/C,EAClBpH,KAAKwR,OAAQ,MAazBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM65B,OAGtBhuC,IAAK,SAAUC,IAEXA,EAAQA,EAAMonD,iBACAxuD,KAAKsb,MAAM65B,QAErBn1C,KAAKsb,MAAM65B,MAAQ/tC,EACnBpH,KAAKwR,OAAQ,MAYzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKmxF,MAGhBhqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKmxF,OAEfnxF,KAAKmxF,KAAO/pF,EACZpH,KAAKwR,OAAQ,MAezBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM82E,MAGtBjrF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM82E,OAErBpyF,KAAKsb,MAAM82E,KAAOhrF,EAClBpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMw2E,cAGtB3qF,IAAK,SAAUC,IAEXA,EAAQA,EAAMonD,iBACAxuD,KAAKsb,MAAMw2E,eAErB9xF,KAAKsb,MAAMw2E,aAAe1qF,EAC1BpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMy2E,cAGtB5qF,IAAK,SAAUC,IAEXA,EAAQA,EAAMonD,iBACAxuD,KAAKsb,MAAMy2E,eAErB/xF,KAAKsb,MAAMy2E,aAAe3qF,EAC1BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMglE,QAGtBn5E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMglE,SAErBtgF,KAAKsb,MAAMglE,OAASl5E,EACpBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,mBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM02E,iBAGtB7qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM02E,kBAErBhyF,KAAKsb,MAAM02E,gBAAkBnyD,OAAOz4B,GACpCpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,YAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM22E,UAGtB9qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM22E,WAErBjyF,KAAKsb,MAAM22E,SAAW7qF,EACtBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM42E,eAGtB/qF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM42E,gBAErBlyF,KAAKsb,MAAM42E,cAAgB9qF,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKsxF,cAGhBnqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsxF,eAEftxF,KAAKsxF,aAAe3yD,WAAWv3B,GAC/BpH,KAAKwR,OAAQ,EAETxR,KAAKqB,QAELrB,KAAK8C,sBAWrBkE,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM8jE,eAGtBj4E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM8jE,gBAErBp/E,KAAKsb,MAAM8jE,cAAgBh4E,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,iBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM+jE,eAGtBl4E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM+jE,gBAErBr/E,KAAKsb,MAAM+jE,cAAgBj4E,EAC3BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,eAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM4jE,aAGtB/3E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM4jE,cAErBl/E,KAAKsb,MAAM4jE,YAAc93E,EACzBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAM6jE,YAGtBh4E,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAM6jE,aAErBn/E,KAAKsb,MAAM6jE,WAAa/3E,EACxBpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,gBAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMq2E,cAGtBxqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMq2E,eAErB3xF,KAAKsb,MAAMq2E,aAAevqF,EAC1BpH,KAAKwR,OAAQ,MAUzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKsb,MAAMs2E,YAGtBzqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKsb,MAAMs2E,aAErB5xF,KAAKsb,MAAMs2E,WAAaxqF,EACxBpH,KAAKwR,OAAQ,MAWzBxK,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,SAEzC4E,IAAK,WAQD,OANIlH,KAAKwR,QAELxR,KAAKyxF,aACLzxF,KAAKwR,OAAQ,GAGVxR,KAAKc,MAAMiD,GAAK/D,KAAKjC,QAAQsP,MAAMzP,MAAQoC,KAAK4E,aAG3DuC,IAAK,SAAUC,GAEXpH,KAAKc,MAAMiD,EAAIqD,EAAQpH,KAAKjC,QAAQsP,MAAMzP,MAC1CoC,KAAK0M,OAAStF,KAUtBJ,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,UAEzC4E,IAAK,WAQD,OANIlH,KAAKwR,QAELxR,KAAKyxF,aACLzxF,KAAKwR,OAAQ,GAGVxR,KAAKc,MAAMkD,GAAKhE,KAAKjC,QAAQsP,MAAMxP,OAASmC,KAAK4E,aAG5DuC,IAAK,SAAUC,GAEXpH,KAAKc,MAAMkD,EAAIoD,EAAQpH,KAAKjC,QAAQsP,MAAMxP,OAC1CmC,KAAK2M,QAAUvF,KAUvBJ,OAAOyF,eAAejL,EAAOqzE,KAAKvyE,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKkxF,aAGhB/pF,IAAK,SAAUC,GAEXpH,KAAKkxF,YAAc9pF,EACnBpH,KAAKyxF,gBAKbjwF,EAAOqzE,KAAKuhB,uBAEZ50F,EAAOqzE,KAAKyhB,qBAAuBjmD,SAAS0mD,cAAc,UAC1Dv1F,EAAOqzE,KAAK0hB,sBAAwB/0F,EAAOqzE,KAAKyhB,qBAAqB99E,WAAW,MAuDhFhX,EAAO8sE,WAAa,SAAUvrE,EAAMgB,EAAGC,EAAGwxE,EAAMZ,EAAM9yD,EAAMqzB,GAExDpxC,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTwxE,EAAOA,GAAQ,GACfZ,EAAOA,GAAQ,GACf9yD,EAAOA,GAAQ,GACfqzB,EAAQA,GAAS,OAEjB32C,KAAK8J,uBAAuB9D,KAAKxE,MAMjCA,KAAKwT,KAAOhS,EAAOgrB,WAMnBxsB,KAAK4yC,YAAcpxC,EAAO0qB,OAM1BlsB,KAAKg3F,UAAY,EAMjBh3F,KAAKi3F,WAAa,EAKlBj3F,KAAK2G,OAAS,IAAInF,EAAOX,MAMzBb,KAAKk3F,YAAc,IAAI11F,EAAOX,MAM9Bb,KAAKuuE,WAMLvuE,KAAKm3F,UAAY,EAMjBn3F,KAAKoxF,MAAQxc,EAAKhsD,YAAc,GAMhC5oB,KAAKo3F,MAAQr0F,EAAKiX,MAAMq9E,cAAc7hB,GAMtCx1E,KAAKs3F,MAAQ9hB,EAMbx1E,KAAKu3F,UAAYz1E,EAMjB9hB,KAAKw3F,OAASriD,EAMdn1C,KAAKy3F,eAAiB,EAMtBz3F,KAAK03F,MAAQ,SAEb13F,KAAKyxF,aAKLzxF,KAAKwR,OAAQ,EAEbhQ,EAAO0pE,UAAUiB,KAAKz6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAG,GAAI,OAG1DxC,EAAO8sE,WAAWhsE,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WACxEd,EAAO8sE,WAAWhsE,UAAUC,YAAcf,EAAO8sE,WAEjD9sE,EAAO0pE,UAAUiB,KAAKC,QAAQ5nE,KAAKhD,EAAO8sE,WAAWhsE,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAO8sE,WAAWhsE,UAAUw0E,iBAAmBt1E,EAAO0pE,UAAUsB,YAAY9nE,UAC5ElD,EAAO8sE,WAAWhsE,UAAUy0E,kBAAoBv1E,EAAO0pE,UAAUuG,SAAS/sE,UAC1ElD,EAAO8sE,WAAWhsE,UAAU00E,iBAAmBx1E,EAAO0pE,UAAUgG,QAAQxsE,UACxElD,EAAO8sE,WAAWhsE,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UASlElD,EAAO8sE,WAAWhsE,UAAUoC,UAAY,WAEpC,SAAK1E,KAAK82E,oBAAuB92E,KAAK+2E,qBAAwB/2E,KAAKg3E,qBAK5Dh3E,KAAKi3E,iBAOhBz1E,EAAO8sE,WAAWhsE,UAAU4kC,WAAa,WAErC1lC,EAAO0pE,UAAUsB,YAAYtlC,WAAW1iC,KAAKxE,MAC7CwB,EAAO0pE,UAAUyB,cAAczlC,WAAW1iC,KAAKxE,MAE3CA,KAAKmyC,MAAQnyC,KAAKmyC,KAAK3+B,OAAShS,EAAOkxC,QAAQC,SAE1C3yC,KAAKg3F,YAAch3F,KAAKmyC,KAAKwlD,aAAiB33F,KAAKi3F,aAAej3F,KAAKmyC,KAAKylD,cAE7E53F,KAAKmyC,KAAKhM,QAAQnmC,KAAKg3F,UAAWh3F,KAAKi3F,cAanDz1F,EAAO8sE,WAAWhsE,UAAU0zF,QAAU,SAAUphB,GAE5C50E,KAAK40E,KAAOA,GAchBpzE,EAAO8sE,WAAWhsE,UAAUu1F,SAAW,SAAUzjF,EAAMtT,EAAO8zE,GAW1D,IAAK,IATD7wE,EAAI,EACJsR,EAAI,EACJyiF,GAAa,EACbC,EAAe,EACfC,EAAe,KACfC,EAAYj4F,KAAKm3F,UAAY,EAAKn3F,KAAKm3F,UAAY,KACnDxhB,KAGKjzE,EAAI,EAAGA,EAAIkyE,EAAKjyE,OAAQD,IACjC,CACI,IAAI2Y,EAAO3Y,IAAMkyE,EAAKjyE,OAAS,EAE/B,GAAI,iBAAmBu1F,KAAKtjB,EAAKujB,OAAOz1F,IAEpC,OAAS9E,MAAOyX,EAAGu/D,KAAMA,EAAK/rD,OAAO,EAAGnmB,GAAI2Y,IAAKA,EAAKs6D,MAAOA,GAI7D,IAAI5Q,EAAW6P,EAAK3P,WAAWviE,GAC3B01F,EAAWhkF,EAAKuhE,MAAM5Q,GAEtB3hE,EAAI,OAMSmD,IAAb6xF,IAEArzB,EAAW,GACXqzB,EAAWhkF,EAAKuhE,MAAM5Q,IAI1B,IAAIszB,EAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,EAalG,GAVI,OAASE,KAAKtjB,EAAKujB,OAAOz1F,MAE1Bo1F,EAAYp1F,EACZq1F,EAAe1iF,GAInBjS,GAAKi1F,EAAUD,EAASr6F,QAAQH,MAAQw6F,EAASriB,SAAWj1E,EAGxDm3F,GAAc5iF,EAAIjS,GAAM60F,GAAaH,GAAa,EAGlD,OAASl6F,MAAOm6F,GAAgB1iF,EAAGu/D,KAAMA,EAAK/rD,OAAO,EAAGnmB,GAAKA,EAAIo1F,IAAaz8E,KAAK,EAAOs6D,MAAOA,GAIjGtgE,IAAM+iF,EAASE,SAAWD,EAAUr4F,KAAKu4F,eAAiBz3F,EAE1D60E,EAAM7tE,KAAK/D,GAAKq0F,EAASriB,QAAUsiB,EAAUr4F,KAAKu4F,eAAiBz3F,GAEnEiD,IAAMq0F,EAASE,SAAWD,EAAUr4F,KAAKu4F,eAAiBz3F,EAE1Dk3F,EAAejzB,EAK3B,OAASnnE,MAAOyX,EAAGu/D,KAAMA,EAAMv5D,IAAKA,EAAKs6D,MAAOA,IAcpDn0E,EAAO8sE,WAAWhsE,UAAUk2F,UAAY,SAAU5jB,EAAMtgD,QAEpC/tB,IAAZ+tB,IAEAA,EAAU,IAGd,IAAIlgB,EAAOpU,KAAKo3F,MAAM5hB,KAEtB,IAAKphE,EAED,MAAO,GAMX,IAAK,IAHDqkF,EAAK,mBACL3F,EAAQle,EAAKtgD,QAAQmkE,EAAI,MAAM5mE,MAAM,MAEhCnvB,EAAI,EAAGA,EAAIowF,EAAMnwF,OAAQD,IAClC,CAII,IAAK,IAHDgzB,EAAS,GACTgD,EAAOo6D,EAAMpwF,GAERU,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IAIzBsyB,EAFAthB,EAAKuhE,MAAMj9C,EAAKusC,WAAW7hE,IAElBsyB,EAAOrF,OAAOqI,EAAKt1B,IAInBsyB,EAAOrF,OAAOiE,GAI/Bw+D,EAAMpwF,GAAKgzB,EAGf,OAAOo9D,EAAMhjF,KAAK,OAStBtO,EAAO8sE,WAAWhsE,UAAUmvF,WAAa,WAErC,IAAIr9E,EAAOpU,KAAKo3F,MAAM5hB,KAEtB,GAAKphE,EAAL,CAKA,IAAIwgE,EAAO50E,KAAK40E,KACZ9zE,EAAQd,KAAKu3F,UAAYnjF,EAAK0N,KAC9BgxE,KAEA9uF,EAAI,EAERhE,KAAKg3F,UAAY,EAEjB,IAEQt+D,EAAO14B,KAAK63F,SAASzjF,EAAMtT,EAAO8zE,IAEjC5wE,EAAIA,EAET8uF,EAAMhrF,KAAK4wB,GAEPA,EAAK96B,MAAQoC,KAAKg3F,YAElBh3F,KAAKg3F,UAAYt+D,EAAK96B,OAG1BoG,GAAMoQ,EAAKq/E,WAAa3yF,EAExB8zE,EAAOA,EAAK/rD,OAAO6P,EAAKk8C,KAAKjyE,OAAS,UACpB,IAAb+1B,EAAKrd,KAEdrb,KAAKi3F,WAAajzF,EAOlB,IAAK,IALD6sB,EAAI,EACJskB,EAAQ,EACRkxC,EAAKrmF,KAAKg3F,UAAYh3F,KAAK2G,OAAO5C,EAClCuiF,EAAKtmF,KAAKi3F,WAAaj3F,KAAK2G,OAAO3C,EAE9BtB,EAAI,EAAGA,EAAIowF,EAAMnwF,OAAQD,IAClC,CACI,IAAIg2B,EAAOo6D,EAAMpwF,GAEG,UAAhB1C,KAAKw3F,OAELriD,EAAQn1C,KAAKg3F,UAAYt+D,EAAK96B,MAET,WAAhBoC,KAAKw3F,SAEVriD,GAASn1C,KAAKg3F,UAAYt+D,EAAK96B,OAAS,GAG5C,IAAK,IAAIwF,EAAI,EAAGA,EAAIs1B,EAAKk8C,KAAKjyE,OAAQS,IACtC,CACI,IAAI2hE,EAAWrsC,EAAKk8C,KAAK3P,WAAW7hE,GAChCg1F,EAAWhkF,EAAKuhE,MAAM5Q,QAETx+D,IAAb6xF,IAEArzB,EAAW,GACXqzB,EAAWhkF,EAAKuhE,MAAM5Q,IAG1B,IAAIpqD,EAAI3a,KAAKuuE,QAAQ19C,GAEjBlW,EAGAA,EAAE5c,QAAUq6F,EAASr6F,UAKrB4c,EAAI,IAAInc,KAAKsH,OAAOsyF,EAASr6F,UAC3Bi0B,KAAO0G,EAAKk8C,KAAKxxE,GACnBpD,KAAKuuE,QAAQzmE,KAAK6S,IAGtBA,EAAE/Z,SAASmD,EAAK20B,EAAKi9C,MAAMvyE,GAAK+xC,EAASkxC,EACzC1rE,EAAE/Z,SAASoD,EAAK00B,EAAK10B,EAAKo0F,EAASpiB,QAAUl1E,EAAUwlF,EAEvD3rE,EAAE7Z,MAAMqG,IAAIrG,GACZ6Z,EAAE5N,KAAO/M,KAAK+M,KACd4N,EAAE5c,QAAQ+Q,gBAAiB,EAC3B6L,EAAE3N,WAAa,SAEV2N,EAAEtZ,QAEHrB,KAAKyI,SAASkS,GAGlBkW,KAQR,IAAKnuB,EAAImuB,EAAGnuB,EAAI1C,KAAKuuE,QAAQ5rE,OAAQD,IAEjC1C,KAAK6I,YAAY7I,KAAKuuE,QAAQ7rE,MAiBtClB,EAAO8sE,WAAWhsE,UAAUo2F,YAAc,WAKtC,IAAK,IAHD5nE,EAAM9wB,KAAKuuE,QAAQ5rE,OACnBg2F,KAEKj2F,EAAI,EAAGA,EAAI1C,KAAKuuE,QAAQ5rE,OAAQD,IAEjC1C,KAAKuuE,QAAQ7rE,GAAGrB,SAAWrB,KAE3BA,KAAKuuE,QAAQ7rE,GAAGF,UAIhBm2F,EAAK7wF,KAAK9H,KAAKuuE,QAAQ7rE,IAS/B,OALA1C,KAAKuuE,WACLvuE,KAAKuuE,QAAUoqB,EAEf34F,KAAKyxF,aAEE3gE,EAAM6nE,EAAKh2F,QAStBnB,EAAO8sE,WAAWhsE,UAAUQ,gBAAkB,YAEtC9C,KAAKwR,OAAUxR,KAAK2G,OAAO4vB,OAAOv2B,KAAKk3F,eAEvCl3F,KAAKyxF,aACLzxF,KAAKwR,OAAQ,EACbxR,KAAKk3F,YAAY7hE,SAASr1B,KAAK2G,SAGnCnI,KAAK8J,uBAAuBhG,UAAUQ,gBAAgB0B,KAAKxE,OAO/DgH,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,iBAE/C4E,IAAK,WAED,OAAOlH,KAAKy3F,gBAGhBtwF,IAAK,SAAUC,GAEW,iBAAZ,IAENpH,KAAKy3F,eAAiBrwF,EACtBpH,KAAKyxF,iBAUjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,SAE/C4E,IAAK,WAED,OAAOlH,KAAKw3F,QAGhBrwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKw3F,QAAqB,SAAVpwF,GAA8B,WAAVA,GAAgC,UAAVA,IAEpEpH,KAAKw3F,OAASpwF,EACdpH,KAAKyxF,iBAUjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAK03F,OAGhBvwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAK03F,QAEf13F,KAAK03F,MAAQtwF,EACbpH,KAAKyxF,iBAUjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKs3F,OAGhBnwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKs3F,QAEft3F,KAAKs3F,MAAQlwF,EAAMgH,OACnBpO,KAAKo3F,MAAQp3F,KAAK+C,KAAKiX,MAAMq9E,cAAcr3F,KAAKs3F,OAChDt3F,KAAKyxF,iBAUjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,YAE/C4E,IAAK,WAED,OAAOlH,KAAKu3F,WAGhBpwF,IAAK,SAAUC,IAEXA,EAAQ+rB,SAAS/rB,EAAO,OAEVpH,KAAKu3F,WAAanwF,EAAQ,IAEpCpH,KAAKu3F,UAAYnwF,EACjBpH,KAAKyxF,iBAUjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,QAE/C4E,IAAK,WAED,OAAOlH,KAAKoxF,OAGhBjqF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKoxF,QAEfpxF,KAAKoxF,MAAQhqF,EAAMwhB,YAAc,GACjC5oB,KAAKyxF,iBAmBjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,YAE/C4E,IAAK,WAED,OAAOlH,KAAKm3F,WAGhBhwF,IAAK,SAAUC,GAEPA,IAAUpH,KAAKm3F,YAEfn3F,KAAKm3F,UAAY/vF,EACjBpH,KAAKyxF,iBAgBjBzqF,OAAOyF,eAAejL,EAAO8sE,WAAWhsE,UAAW,YAE/C4E,IAAK,WAED,OAAQlH,KAAKo3F,MAAMh9E,KAAKtc,WAG5BqJ,IAAK,SAAUC,GAIPpH,KAAKo3F,MAAMh9E,KAAKtc,UAFhBsJ,EAE4B,EAIA,EAEhCpH,KAAKo3F,MAAMh9E,KAAK5I,WA6BxBhQ,EAAOy0E,UAAY,SAAUlzE,EAAMiQ,EAAKyiE,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAKjzE,EAAKiX,MAAM4+E,cAAc5lF,GAE1B,OAAO,OAGSzM,IAAhBqvE,GAA6C,OAAhBA,IAE7BA,EAAc7yE,EAAKiX,MAAMu4D,SAASv/D,GAAKpV,MAAQ63E,GAMnDz1E,KAAKy1E,eAAiBA,EAKtBz1E,KAAK01E,gBAAkBA,EAKvB11E,KAAK64F,kBAAoBhjB,GAAY,EAKrC71E,KAAK84F,kBAAoBhjB,GAAY,EAKrC91E,KAAK+4F,gBAAkBnjB,EAMvB51E,KAAK0kB,QAAUqxD,GAAW,EAM1B/1E,KAAK2kB,QAAUqxD,GAAW,EAK1Bh2E,KAAKm1C,MAAQ,OAMbn1C,KAAKg5F,WAAY,EAMjBh5F,KAAKi5F,eAAgB,EAMrBj5F,KAAKk5F,eAAiB,EAMtBl5F,KAAKm5F,eAAiB,EAOtBn5F,KAAKo5F,WAAa,EAKlBp5F,KAAKq5F,QAAUt2F,EAAKiX,MAAMu4D,SAASv/D,GAMnChT,KAAKoxF,MAAQ,GAMbpxF,KAAKs5F,YAKLt5F,KAAKmyE,UAAY,IAAI3wE,EAAO+4E,UAO5B,IAAK,IAJDgf,EAAWv5F,KAAK0kB,QAChB80E,EAAWx5F,KAAK2kB,QAChBzgB,EAAI,EAECd,EAAI,EAAGA,EAAIuyE,EAAMhzE,OAAQS,IAClC,CACI,IAAIiK,EAAQrN,KAAKmyE,UAAUsI,SAAS,IAAIj5E,EAAOk5E,MAAMt3E,EAAGm2F,EAAUC,EAAUx5F,KAAKy1E,eAAgBz1E,KAAK01E,kBAEtG11E,KAAKs5F,SAAS3jB,EAAM1Q,WAAW7hE,IAAMiK,EAAMzE,QAE3C1E,IAEUlE,KAAK+4F,iBAEX70F,EAAI,EACJq1F,EAAWv5F,KAAK0kB,QAChB80E,GAAYx5F,KAAK01E,gBAAkB11E,KAAK84F,mBAIxCS,GAAYv5F,KAAKy1E,eAAiBz1E,KAAK64F,kBAI/C91F,EAAKiX,MAAMy/E,gBAAgBzmF,EAAKhT,KAAKmyE,WAMrCnyE,KAAK05F,MAAQ,IAAIl4F,EAAOsyE,MAAM/wE,EAAM,EAAG,EAAGiQ,EAAK,GAE/CxR,EAAOyD,cAAcT,KAAKxE,KAAM+C,EAAM,IAAK,IAAK,GAAIvB,EAAO/C,WAAWE,SAKtEqB,KAAKwT,KAAOhS,EAAO4rB,WAGvB5rB,EAAOy0E,UAAU3zE,UAAY0E,OAAOwB,OAAOhH,EAAOyD,cAAc3C,WAChEd,EAAOy0E,UAAU3zE,UAAUC,YAAcf,EAAOy0E,UAOhDz0E,EAAOy0E,UAAU0jB,WAAa,OAO9Bn4F,EAAOy0E,UAAU2jB,YAAc,QAO/Bp4F,EAAOy0E,UAAU4jB,aAAe,SAOhCr4F,EAAOy0E,UAAU6jB,UAAY,oGAO7Bt4F,EAAOy0E,UAAU8jB,UAAY,+DAO7Bv4F,EAAOy0E,UAAU+jB,UAAY,wCAO7Bx4F,EAAOy0E,UAAUgkB,UAAY,wCAO7Bz4F,EAAOy0E,UAAUikB,UAAY,mDAO7B14F,EAAOy0E,UAAUkkB,UAAY,oDAO7B34F,EAAOy0E,UAAUmkB,UAAY,oDAO7B54F,EAAOy0E,UAAUokB,UAAY,yCAO7B74F,EAAOy0E,UAAUqkB,UAAY,kDAO7B94F,EAAOy0E,UAAUskB,WAAa,6BAO9B/4F,EAAOy0E,UAAUukB,WAAa,oDAW9Bh5F,EAAOy0E,UAAU3zE,UAAUm4F,cAAgB,SAAU78F,EAAO88F,QAElCn0F,IAAlBm0F,IAA+BA,EAAgB,QAEnD16F,KAAKo5F,WAAax7F,EAClBoC,KAAKm1C,MAAQulD,GAejBl5F,EAAOy0E,UAAU3zE,UAAU0zF,QAAU,SAAU2E,EAAS3B,EAAW4B,EAAkBlH,EAAagH,EAAeG,GAE7G76F,KAAKg5F,UAAYA,IAAa,EAC9Bh5F,KAAKk5F,eAAiB0B,GAAoB,EAC1C56F,KAAKm5F,eAAiBzF,GAAe,EACrC1zF,KAAKm1C,MAAQulD,GAAiB,OAI1B16F,KAAKi5F,eAFL4B,EASAF,EAAQh4F,OAAS,IAEjB3C,KAAK40E,KAAO+lB,IAUpBn5F,EAAOy0E,UAAU3zE,UAAUw4F,mBAAqB,WAE5C,IAAI5rF,EAAK,EACLC,EAAK,EAKT,GAFAnP,KAAK4a,QAED5a,KAAKg5F,UACT,CACI,IAAIlG,EAAQ9yF,KAAKoxF,MAAMv/D,MAAM,MAEzB7xB,KAAKo5F,WAAa,EAElBp5F,KAAKmG,OAAOnG,KAAKo5F,WAAatG,EAAMnwF,QAAU3C,KAAK01E,gBAAkB11E,KAAKm5F,gBAAmBn5F,KAAKm5F,gBAAgB,GAIlHn5F,KAAKmG,OAAOnG,KAAK+6F,kBAAoB/6F,KAAKy1E,eAAiBz1E,KAAKk5F,gBAAkBpG,EAAMnwF,QAAU3C,KAAK01E,gBAAkB11E,KAAKm5F,gBAAmBn5F,KAAKm5F,gBAAgB,GAI1K,IAAK,IAAIz2F,EAAI,EAAGA,EAAIowF,EAAMnwF,OAAQD,IAG9BwM,EAAK,EAGDlP,KAAKm1C,QAAU3zC,EAAOy0E,UAAU2jB,YAEhC1qF,EAAKlP,KAAKpC,MAASk1F,EAAMpwF,GAAGC,QAAU3C,KAAKy1E,eAAiBz1E,KAAKk5F,gBAE5Dl5F,KAAKm1C,QAAU3zC,EAAOy0E,UAAU4jB,eAErC3qF,EAAMlP,KAAKpC,MAAQ,EAAOk1F,EAAMpwF,GAAGC,QAAU3C,KAAKy1E,eAAiBz1E,KAAKk5F,gBAAmB,EAC3FhqF,GAAMlP,KAAKk5F,eAAiB,GAI5BhqF,EAAK,IAELA,EAAK,GAGTlP,KAAKg7F,UAAUlI,EAAMpwF,GAAIwM,EAAIC,EAAInP,KAAKk5F,gBAEtC/pF,GAAMnP,KAAK01E,gBAAkB11E,KAAKm5F,oBAKlCn5F,KAAKo5F,WAAa,EAElBp5F,KAAKmG,OAAOnG,KAAKo5F,WAAYp5F,KAAK01E,iBAAiB,GAInD11E,KAAKmG,OAAOnG,KAAKoxF,MAAMzuF,QAAU3C,KAAKy1E,eAAiBz1E,KAAKk5F,gBAAiBl5F,KAAK01E,iBAAiB,GAIvGxmE,EAAK,EAEDlP,KAAKm1C,QAAU3zC,EAAOy0E,UAAU2jB,YAEhC1qF,EAAKlP,KAAKpC,MAASoC,KAAKoxF,MAAMzuF,QAAU3C,KAAKy1E,eAAiBz1E,KAAKk5F,gBAE9Dl5F,KAAKm1C,QAAU3zC,EAAOy0E,UAAU4jB,eAErC3qF,EAAMlP,KAAKpC,MAAQ,EAAOoC,KAAKoxF,MAAMzuF,QAAU3C,KAAKy1E,eAAiBz1E,KAAKk5F,gBAAmB,EAC7FhqF,GAAMlP,KAAKk5F,eAAiB,GAI5BhqF,EAAK,IAELA,EAAK,GAGTlP,KAAKg7F,UAAUh7F,KAAKoxF,MAAOliF,EAAI,EAAGlP,KAAKk5F,gBAG3Cl5F,KAAK8O,gBAAiB,GAc1BtN,EAAOy0E,UAAU3zE,UAAU04F,UAAY,SAAUtiE,EAAM30B,EAAGC,EAAGk1F,GAEzD,IAAK,IAAI91F,EAAI,EAAGA,EAAIs1B,EAAK/1B,OAAQS,IAG7B,GAAuB,MAAnBs1B,EAAKy/D,OAAO/0F,GAEZW,GAAK/D,KAAKy1E,eAAiByjB,OAK3B,GAAIl5F,KAAKs5F,SAAS5gE,EAAKusC,WAAW7hE,KAAO,IAErCpD,KAAK05F,MAAMrsF,MAAQrN,KAAKs5F,SAAS5gE,EAAKusC,WAAW7hE,IACjDpD,KAAKgwF,SAAShwF,KAAK05F,MAAO31F,EAAGC,GAAG,IAEhCD,GAAK/D,KAAKy1E,eAAiByjB,GAEnBl5F,KAAKpC,OAET,OAcpB4D,EAAOy0E,UAAU3zE,UAAUy4F,eAAiB,WAExC,IAAIE,EAAc,EAElB,GAAIj7F,KAAKoxF,MAAMzuF,OAAS,EAIpB,IAAK,IAFDmwF,EAAQ9yF,KAAKoxF,MAAMv/D,MAAM,MAEpBnvB,EAAI,EAAGA,EAAIowF,EAAMnwF,OAAQD,IAE1BowF,EAAMpwF,GAAGC,OAASs4F,IAElBA,EAAcnI,EAAMpwF,GAAGC,QAKnC,OAAOs4F,GAYXz5F,EAAOy0E,UAAU3zE,UAAU44F,4BAA8B,SAAUC,GAI/D,IAAK,IAFDC,EAAY,GAEPh4F,EAAI,EAAGA,EAAIpD,KAAKoxF,MAAMzuF,OAAQS,IACvC,CACI,IAAIi4F,EAAQr7F,KAAKoxF,MAAMhuF,GACnBk4F,EAAOD,EAAMp2B,WAAW,IAExBjlE,KAAKs5F,SAASgC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAU/qE,OAAOgrE,IAIrC,OAAOD,GAaX55F,EAAOy0E,UAAU3zE,UAAUi5F,aAAe,SAAUx3F,EAAGC,GAEnD,GAAIhE,KAAK0kB,UAAY3gB,GAAK/D,KAAK2kB,UAAY3gB,EAA3C,CAWA,IANA,IAAIw3F,EAAQz3F,EAAI/D,KAAK0kB,QACjB+2E,EAAQz3F,EAAIhE,KAAK2kB,QAEjB+2E,EAAS17F,KAAK+C,KAAKiX,MAAMk4D,aAAalyE,KAAK05F,MAAM1mF,KAAK2oF,YACtDj5F,EAAIg5F,EAAO/4F,OAERD,KAEHg5F,EAAOh5F,GAAGqB,GAAKy3F,EACfE,EAAOh5F,GAAGsB,GAAKy3F,EAGnBz7F,KAAK86F,uBAOT9zF,OAAOyF,eAAejL,EAAOy0E,UAAU3zE,UAAW,QAE9C4E,IAAK,WAED,OAAOlH,KAAKoxF,OAGhBjqF,IAAK,SAAUC,GAEX,IAAIw0F,GAIAA,EAFA57F,KAAKi5F,cAEK7xF,EAAMy0F,cAINz0F,KAGEpH,KAAKoxF,QAEjBpxF,KAAKoxF,MAAQwK,EAEb57F,KAAKk7F,4BAA4Bl7F,KAAKg5F,WAEtCh5F,KAAK86F,yBAUjB9zF,OAAOyF,eAAejL,EAAOy0E,UAAU3zE,UAAW,YAE9C4E,IAAK,WAED,OAAOlH,KAAK05F,MAAMl6C,UAGtBr4C,IAAK,SAAUC,GAEXpH,KAAK05F,MAAMl6C,SAAWp4C,EACtBpH,KAAK86F,wBAgDbt5F,EAAOmzE,KAAO,SAAU5xE,EAAMgB,EAAGC,EAAGgP,EAAK3F,EAAOixB,GAE5Ct+B,KAAKs+B,OAASA,MACdt+B,KAAK87F,qBAAsB,EAC3B97F,KAAK+7F,yBAA2B,KAChCh4F,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTgP,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAMjBrN,KAAKwT,KAAOhS,EAAO8rB,KAEnB9uB,KAAK8J,uBAAuB9D,KAAKxE,MAEjCA,KAAKjC,QAAUyD,EAAOmtC,MAAMjnB,QAG5B1nB,KAAKujB,IAAM,IAAIlB,cAAe,EAAG,EAC7B,EAAG,EACH,EAAG,EACH,EAAG,IAEPriB,KAAKkiB,SAAW,IAAIG,cAAe,EAAG,EAClC,IAAK,EACL,IAAK,IACL,EAAG,MAEPriB,KAAKsiB,OAAS,IAAID,cAAe,EAAG,EAAG,EAAG,IAE1CriB,KAAK4S,QAAU,IAAI4P,aAAc,EAAG,EAAG,EAAG,IAEtC8b,IAEAt+B,KAAKkiB,SAAW,IAAIG,aAA6B,EAAhBic,EAAO37B,QACxC3C,KAAKujB,IAAM,IAAIlB,aAA6B,EAAhBic,EAAO37B,QACnC3C,KAAKsiB,OAAS,IAAID,aAA6B,EAAhBic,EAAO37B,QACtC3C,KAAK4S,QAAU,IAAI4P,YAA4B,EAAhB8b,EAAO37B,SAS1C3C,KAAKwR,OAAQ,EAQbxR,KAAKg8F,cAAgB,EAErBh8F,KAAKi8F,SAAWz6F,EAAOmzE,KAAKh1D,eAE5Bne,EAAO0pE,UAAUiB,KAAKz6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEvDrN,KAAKwpB,WAGThoB,EAAOmzE,KAAKryE,UAAY0E,OAAOwB,OAAOhK,KAAK8J,uBAAuBhG,WAClEd,EAAOmzE,KAAKryE,UAAUC,YAAcf,EAAOmzE,KAE3CnzE,EAAO0pE,UAAUiB,KAAKC,QAAQ5nE,KAAKhD,EAAOmzE,KAAKryE,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAOmzE,KAAKryE,UAAUw0E,iBAAmBt1E,EAAO0pE,UAAUsB,YAAY9nE,UACtElD,EAAOmzE,KAAKryE,UAAUy0E,kBAAoBv1E,EAAO0pE,UAAUuG,SAAS/sE,UACpElD,EAAOmzE,KAAKryE,UAAU00E,iBAAmBx1E,EAAO0pE,UAAUgG,QAAQxsE,UAClElD,EAAOmzE,KAAKryE,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UAE5DlD,EAAOmzE,KAAKh1D,eAAiB,EAC7Bne,EAAOmzE,KAAKhvD,UAAY,EAQxBnkB,EAAOmzE,KAAKryE,UAAUoC,UAAY,WAE9B,SAAK1E,KAAK82E,oBAAuB92E,KAAK+2E,qBAAwB/2E,KAAKg3E,qBAK5Dh3E,KAAKi3E,iBAShBz1E,EAAOmzE,KAAKryE,UAAU6iC,OAAS,WAEvBnlC,KAAK87F,qBAEL97F,KAAKk8F,gBAAgB13F,KAAKxE,OAelCwB,EAAOmzE,KAAKryE,UAAU8jC,MAAQ,SAAUriC,EAAGC,GAIvC,OAFAxC,EAAO0pE,UAAUgI,MAAM5wE,UAAU8jC,MAAM5hC,KAAKxE,KAAM+D,EAAGC,GAE9ChE,MASXwB,EAAOmzE,KAAKryE,UAAUknB,QAAU,WAE5B,IAAI8U,EAASt+B,KAAKs+B,OAElB,KAAIA,EAAO37B,OAAS,GAApB,CAKA,IAAI4gB,EAAMvjB,KAAKujB,IAEX3Q,EAAU5S,KAAK4S,QACf0P,EAAStiB,KAAKsiB,OAElBtiB,KAAKue,OAAS,GAMd,IAAK,IAJDy6B,EAAQ1a,EAAO37B,OACfiG,EAAQ,EACRquC,EAAS,EAEJv0C,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAKvBu0C,EAASv0C,GAAKs2C,EAAQ,GAEtBz1B,EALA3a,EAAY,EAAJlG,GAKKu0C,EACb1zB,EAAI3a,EAAQ,GAAK,EACjB2a,EAAI3a,EAAQ,GAAKquC,EACjB1zB,EAAI3a,EAAQ,GAAK,EAGjB0Z,EADA1Z,EAAY,EAAJlG,GACQ,EAChB4f,EAAO1Z,EAAQ,GAAK,EAGpBgK,EADAhK,EAAY,EAAJlG,GACSkG,EACjBgK,EAAQhK,EAAQ,GAAKA,EAAQ,IAUrCpH,EAAOmzE,KAAKryE,UAAUQ,gBAAkB,WAEpC,IAAIw7B,EAASt+B,KAAKs+B,OAElB,KAAIA,EAAO37B,OAAS,GAApB,CAKA,IACIw5F,EADA1S,EAAYnrD,EAAO,GAEnBV,GAAS75B,EAAG,EAAGC,EAAG,GAEtBhE,KAAKue,OAAS,GAUd,IAAK,IAND6X,EACAxtB,EACAwzF,EACAC,EALAn6E,EAAWliB,KAAKkiB,SAChB82B,EAAQ1a,EAAO37B,OAKfk0B,EAAa72B,KAAKjC,QAAQF,OAAS,EAE9B6E,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAEvB0zB,EAAQkI,EAAO57B,GACfkG,EAAY,EAAJlG,EAIJy5F,EAFDz5F,EAAIs2C,EAAQ,EAEC1a,EAAO57B,EAAI,GAIX0zB,EAGhBwH,EAAK55B,IAAMm4F,EAAUp4F,EAAI0lF,EAAU1lF,GACnC65B,EAAK75B,EAAIo4F,EAAUn4F,EAAIylF,EAAUzlF,EAEjCo4F,EAAa14F,KAAKS,KAAMy5B,EAAK75B,EAAI65B,EAAK75B,EAAM65B,EAAK55B,EAAI45B,EAAK55B,GAC1Dq4F,EAAMxlE,EACN+G,EAAK75B,GAAKq4F,EACVx+D,EAAK55B,GAAKo4F,EAEVx+D,EAAK75B,GAAKs4F,EACVz+D,EAAK55B,GAAKq4F,EAEVn6E,EAAStZ,GAASwtB,EAAMryB,EAAI65B,EAAK75B,EACjCme,EAAStZ,EAAQ,GAAKwtB,EAAMpyB,EAAI45B,EAAK55B,EACrCke,EAAStZ,EAAQ,GAAKwtB,EAAMryB,EAAI65B,EAAK75B,EACrCme,EAAStZ,EAAQ,GAAKwtB,EAAMpyB,EAAI45B,EAAK55B,EAErCylF,EAAYrzD,EAGhB53B,KAAK8J,uBAAuBhG,UAAUQ,gBAAgB0B,KAAKxE,QAU/DwB,EAAOmzE,KAAKryE,UAAUgL,WAAa,SAAUvP,GAEzCiC,KAAKjC,QAAUA,GAUnByD,EAAOmzE,KAAKryE,UAAUyD,aAAe,SAAUH,IAEtC5F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAKnC2E,EAAcmG,YAAYI,OAErBnM,KAAKs8F,eAENt8F,KAAKu8F,WAAW32F,GAGpBA,EAAc8R,cAAcoI,UAAUla,EAAc8R,cAAcyJ,aAElEnhB,KAAKw8F,aAAa52F,GAElBA,EAAcmG,YAAYO,UAU9B9K,EAAOmzE,KAAKryE,UAAUi6F,WAAa,SAAU32F,GAGzC,IAAIjI,EAAKiI,EAAcjI,GAEvBqC,KAAKs8F,cAAgB3+F,EAAGulB,eACxBljB,KAAKy8F,aAAe9+F,EAAGulB,eACvBljB,KAAK08F,UAAY/+F,EAAGulB,eACpBljB,KAAK28F,aAAeh/F,EAAGulB,eAEvBvlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKs8F,eACpC3+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAG0lB,cAEjD1lB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK08F,WACpC/+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKujB,IAAK5lB,EAAGylB,aAE5CzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK28F,cACpCh/F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKsiB,OAAQ3kB,EAAGylB,aAE/CzlB,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAKy8F,cAC5C9+F,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,cAU5D5hB,EAAOmzE,KAAKryE,UAAUk6F,aAAe,SAAU52F,GAE3C,IAAIjI,EAAKiI,EAAcjI,GACnB6Z,EAAa5R,EAAc4R,WAC3BC,EAAS7R,EAAc6R,OACvBxK,EAASrH,EAAc8R,cAAcyJ,YAErC86E,EAAYj8F,KAAKi8F,WAAaz6F,EAAOmzE,KAAKh1D,eAAkBhiB,EAAGgiB,eAAiBhiB,EAAGgoB,UAEvF/f,EAAcqS,iBAAiBkD,aAAanb,KAAKiI,WAGjDtK,EAAGoW,iBAAiB9G,EAAO+I,mBAAmB,EAAOhW,KAAKuB,eAAeye,SAAQ,IACjFriB,EAAGsiB,UAAUhT,EAAOmF,iBAAkBoF,EAAWzT,GAAIyT,EAAWxT,GAChErG,EAAGsiB,UAAUhT,EAAOoF,cAAeoF,EAAO1T,GAAI0T,EAAOzT,GACrDrG,EAAGoiB,UAAU9S,EAAOhM,MAAOjB,KAAKsB,YAE3BtB,KAAKwR,OA2BNxR,KAAKwR,OAAQ,EAEb7T,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKs8F,eACpC3+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKkiB,SAAUvkB,EAAGylB,aACjDzlB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAG,GAGtE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK08F,WACpC/+F,EAAGwlB,WAAWxlB,EAAG2iB,aAActgB,KAAKujB,IAAK5lB,EAAGylB,aAC5CzlB,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAO,EAAG,GAEpE7iB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQqI,YAAYkP,OAAO3X,EAAGuW,IAEnCtO,EAAcf,SAAS2Q,cAAcxV,KAAKjC,QAAQqI,aAIlDzI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQqI,YAAY6N,YAAYtW,EAAGuW,KAG1EvW,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAKy8F,cAC5C9+F,EAAGwlB,WAAWxlB,EAAG8iB,qBAAsBzgB,KAAK4S,QAASjV,EAAGylB,eAjDxDzlB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAKs8F,eACpC3+F,EAAGqnB,cAAcrnB,EAAG2iB,aAAc,EAAGtgB,KAAKkiB,UAC1CvkB,EAAG4iB,oBAAoBtT,EAAOsF,gBAAiB,EAAG5U,EAAG6iB,OAAO,EAAO,EAAG,GAGtE7iB,EAAG0iB,WAAW1iB,EAAG2iB,aAActgB,KAAK08F,WACpC/+F,EAAG4iB,oBAAoBtT,EAAOwF,cAAe,EAAG9U,EAAG6iB,OAAO,EAAO,EAAG,GAEpE7iB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQqI,YAAYkP,OAAO3X,EAAGuW,IAEnCtO,EAAcf,SAAS2Q,cAAcxV,KAAKjC,QAAQqI,aAKlDzI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQqI,YAAY6N,YAAYtW,EAAGuW,KAG1EvW,EAAG0iB,WAAW1iB,EAAG8iB,qBAAsBzgB,KAAKy8F,eA+BhD9+F,EAAG0hB,aAAa48E,EAAUj8F,KAAK4S,QAAQjQ,OAAQhF,EAAG4hB,eAAgB,IAUtE/d,EAAOmzE,KAAKryE,UAAU0D,cAAgB,SAAUJ,GAE5C,IAAIkI,EAAUlI,EAAckI,QAExBsa,EAAYpoB,KAAKuB,eAEjB+B,EAAM8kB,EAAU9kB,GAAKsC,EAAchB,WAAcgB,EAAc0I,OAC/D/K,EAAM6kB,EAAU7kB,GAAKqC,EAAchB,WAAcgB,EAAc2I,OAE/D3I,EAAcgJ,YAEdd,EAAQe,aAAauZ,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,EAAGglB,EAAU/kB,EAAQ,EAALC,EAAa,EAALC,GAIjFuK,EAAQe,aAAauZ,EAAUllB,EAAGklB,EAAUjlB,EAAGilB,EAAUhlB,EAAGglB,EAAU/kB,EAAGC,EAAIC,GAG7EvD,KAAKi8F,WAAaz6F,EAAOmzE,KAAKh1D,eAE9B3f,KAAK48F,2BAA2B9uF,GAIhC9N,KAAK68F,uBAAuB/uF,IAWpCtM,EAAOmzE,KAAKryE,UAAUs6F,2BAA6B,SAAU9uF,GAGzD,IAAIoU,EAAWliB,KAAKkiB,SAChBqB,EAAMvjB,KAAKujB,IAEX5gB,EAASuf,EAASvf,OAAS,EAE/B3C,KAAKue,QAEL,IAAK,IAAI7b,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CACI,IAAIkG,EAAY,EAAJlG,EACZ1C,KAAK88F,0BAA0BhvF,EAASoU,EAAUqB,EAAK3a,EAAQA,EAAQ,EAAKA,EAAQ,KAW5FpH,EAAOmzE,KAAKryE,UAAUu6F,uBAAyB,SAAU/uF,GAErD,IAAIoU,EAAWliB,KAAKkiB,SAChBqB,EAAMvjB,KAAKujB,IACX3Q,EAAU5S,KAAK4S,QAEfjQ,EAASiQ,EAAQjQ,OAErB3C,KAAKue,QAEL,IAAK,IAAI7b,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EACjC,CACI,IAAIq6F,EAAsB,EAAbnqF,EAAQlQ,GACjBwG,EAA0B,EAAjB0J,EAAQlQ,EAAI,GACrB0G,EAA0B,EAAjBwJ,EAAQlQ,EAAI,GAEzB1C,KAAK88F,0BAA0BhvF,EAASoU,EAAUqB,EAAKw5E,EAAQ7zF,EAAQE,KAW/E5H,EAAOmzE,KAAKryE,UAAUw6F,0BAA4B,SAAUhvF,EAASoU,EAAUqB,EAAKw5E,EAAQ7zF,EAAQE,GAEhG,IAAI4zF,EAAgBh9F,KAAKjC,QAAQqI,YAAYgJ,OACzC6tF,EAAej9F,KAAKjC,QAAQH,MAC5Bs/F,EAAgBl9F,KAAKjC,QAAQF,OAE7BqmB,EAAKhC,EAAS66E,GACdzxF,EAAK4W,EAAShZ,GACdsC,EAAK0W,EAAS9Y,GACd+a,EAAKjC,EAAS66E,EAAS,GACvBxxF,EAAK2W,EAAShZ,EAAS,GACvBuC,EAAKyW,EAAS9Y,EAAS,GAEvB+zF,EAAK55E,EAAIw5E,GAAUE,EACnBG,EAAK75E,EAAIra,GAAU+zF,EACnBI,EAAK95E,EAAIna,GAAU6zF,EACnBK,EAAK/5E,EAAIw5E,EAAS,GAAKG,EACvBK,EAAKh6E,EAAIra,EAAS,GAAKg0F,EACvBM,EAAKj6E,EAAIna,EAAS,GAAK8zF,EAE3B,GAAIl9F,KAAKg8F,cAAgB,EACzB,CACI,IAAIyB,EAAWz9F,KAAKg8F,cAAgBh8F,KAAKuB,eAAe2B,EACpDw6F,EAAW19F,KAAKg8F,cAAgBh8F,KAAKuB,eAAe8B,EACpDw0B,GAAW3T,EAAK5Y,EAAKE,GAAM,EAC3BssB,GAAW3T,EAAK5Y,EAAKE,GAAM,EAE3BkyF,EAAQz5E,EAAK2T,EACb+lE,EAAQz5E,EAAK2T,EAEb2yD,EAAO/mF,KAAKS,KAAMw5F,EAAQA,EAAUC,EAAQA,GAChD15E,EAAK2T,EAAW8lE,EAAQlT,GAASA,EAAOgT,GACxCt5E,EAAK2T,EAAW8lE,EAAQnT,GAASA,EAAOiT,GAGxCE,EAAQryF,EAAKusB,EAGbxsB,EAAKusB,GAJL8lE,EAAQryF,EAAKusB,IAGb4yD,EAAO/mF,KAAKS,KAAMw5F,EAAQA,EAAUC,EAAQA,KACXnT,EAAOgT,GACxClyF,EAAKusB,EAAW8lE,EAAQnT,GAASA,EAAOiT,GAGxCE,EAAQnyF,EAAKqsB,EAGbtsB,EAAKqsB,GAJL8lE,EAAQnyF,EAAKqsB,IAGb4yD,EAAO/mF,KAAKS,KAAMw5F,EAAQA,EAAUC,EAAQA,KACXnT,EAAOgT,GACxChyF,EAAKqsB,EAAW8lE,EAAQnT,GAASA,EAAOiT,GAG5C5vF,EAAQoa,OACRpa,EAAQiyE,YAERjyE,EAAQoyE,OAAOh8D,EAAIC,GACnBrW,EAAQqyE,OAAO70E,EAAIC,GACnBuC,EAAQqyE,OAAO30E,EAAIC,GAEnBqC,EAAQmyE,YAERnyE,EAAQya,OAGR,IAAI4gC,EAASg0C,EAAKI,EAAOD,EAAKD,EAAOD,EAAKI,EAAOD,EAAKF,EAAOC,EAAKF,EAAOD,EAAKK,EAC1EK,EAAU35E,EAAKq5E,EAAOD,EAAK9xF,EAAOF,EAAKkyF,EAAOD,EAAK/xF,EAAO8xF,EAAKhyF,EAAO4Y,EAAKs5E,EAC3EM,EAAUX,EAAK7xF,EAAO4Y,EAAKm5E,EAAOD,EAAK5xF,EAAOF,EAAK+xF,EAAOn5E,EAAKk5E,EAAOD,EAAK3xF,EAC3EuyF,EAAUZ,EAAKI,EAAK/xF,EAAO8xF,EAAKhyF,EAAK+xF,EAAOn5E,EAAKk5E,EAAKI,EAAOt5E,EAAKq5E,EAAKF,EAAOC,EAAKF,EAAK5xF,EAAO2xF,EAAK7xF,EAAKkyF,EACzGQ,EAAU75E,EAAKo5E,EAAOD,EAAK7xF,EAAOF,EAAKiyF,EAAOD,EAAK9xF,EAAO6xF,EAAK/xF,EAAO4Y,EAAKq5E,EAC3ES,EAAUd,EAAK5xF,EAAO4Y,EAAKk5E,EAAOD,EAAK3xF,EAAOF,EAAK8xF,EAAOl5E,EAAKi5E,EAAOD,EAAK1xF,EAC3EyyF,EAAUf,EAAKI,EAAK9xF,EAAO6xF,EAAK/xF,EAAK8xF,EAAOl5E,EAAKi5E,EAAKI,EAAOr5E,EAAKo5E,EAAKF,EAAOC,EAAKF,EAAK3xF,EAAO0xF,EAAK5xF,EAAKiyF,EAE7G1vF,EAAQsa,UACJy1E,EAAS10C,EACT60C,EAAS70C,EACT20C,EAAS30C,EACT80C,EAAS90C,EACT40C,EAAS50C,EACT+0C,EAAS/0C,GAEbr7C,EAAQmB,UAAU+tF,EAAe,EAAG,GACpClvF,EAAQ0a,WASZhnB,EAAOmzE,KAAKryE,UAAU67F,gBAAkB,SAAUC,GAE9C,IAAItwF,EAAU9N,KAAK8N,QACfoU,EAAWk8E,EAAMl8E,SAEjBvf,EAASuf,EAASvf,OAAS,EAE/B3C,KAAKue,QAELzQ,EAAQiyE,YAER,IAAK,IAAIr9E,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CAEI,IAAIkG,EAAY,EAAJlG,EAERwhB,EAAKhC,EAAStZ,GACd0C,EAAK4W,EAAStZ,EAAQ,GACtB4C,EAAK0W,EAAStZ,EAAQ,GACtBub,EAAKjC,EAAStZ,EAAQ,GACtB2C,EAAK2W,EAAStZ,EAAQ,GACtB6C,EAAKyW,EAAStZ,EAAQ,GAE1BkF,EAAQoyE,OAAOh8D,EAAIC,GACnBrW,EAAQqyE,OAAO70E,EAAIC,GACnBuC,EAAQqyE,OAAO30E,EAAIC,GAGvBqC,EAAQ6a,UAAY,UACpB7a,EAAQi5C,OACRj5C,EAAQmyE,aAWZz+E,EAAOmzE,KAAKryE,UAAU4H,UAAY,SAAUwD,GAmBxC,IAAK,IAjBDnM,EAAiBmM,GAAU1N,KAAKuB,eAEhC2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpBwH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPqX,EAAWliB,KAAKkiB,SAEXxf,EAAI,EAAGA,EAAIwf,EAASvf,OAAQD,GAAK,EAC1C,CACI,IAAI27F,EAAOn8E,EAASxf,GAChB47F,EAAOp8E,EAASxf,EAAI,GACpBqB,EAAKb,EAAIm7F,EAASj7F,EAAIk7F,EAAQh7F,EAC9BU,EAAKX,EAAIi7F,EAASn7F,EAAIk7F,EAAQ96F,EAElCqH,EAAO7G,EAAI6G,EAAO7G,EAAI6G,EACtBE,EAAO9G,EAAI8G,EAAO9G,EAAI8G,EAEtBC,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EACtBC,EAAOhH,EAAIgH,EAAOhH,EAAIgH,EAG1B,GAAIJ,KAAUC,EAAAA,GAAYG,IAASH,EAAAA,EAE/B,OAAOrJ,EAAOogC,eAGlB,IAAI98B,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXkC,OAAOyF,eAAejL,EAAOmzE,KAAKryE,UAAW,mBAEzC4E,IAAK,WAED,OAAOlH,KAAKu+F,kBAGhBp3F,IAAK,SAAUC,GAEPA,GAA0B,mBAAVA,GAEhBpH,KAAK87F,qBAAsB,EAC3B97F,KAAKu+F,iBAAmBn3F,IAIxBpH,KAAK87F,qBAAsB,EAC3B97F,KAAKu+F,iBAAmB,SAYpCv3F,OAAOyF,eAAejL,EAAOmzE,KAAKryE,UAAW,YAEzC4E,IAAK,WAKD,IAAK,IAFD0B,EAAO0C,EAAIC,EAAIC,EAAIC,EAAI7N,EAAOC,EAAQ+8B,EADtC2zD,KAGK7rF,EAAI,EAAGA,EAAI1C,KAAKs+B,OAAO37B,OAAQD,IAEpCkG,EAAY,EAAJlG,EAER4I,EAAKtL,KAAKkiB,SAAStZ,GAAS5I,KAAKc,MAAMiD,EACvCwH,EAAKvL,KAAKkiB,SAAStZ,EAAQ,GAAK5I,KAAKc,MAAMkD,EAC3CwH,EAAKxL,KAAKkiB,SAAStZ,EAAQ,GAAK5I,KAAKc,MAAMiD,EAC3C0H,EAAKzL,KAAKkiB,SAAStZ,EAAQ,GAAK5I,KAAKc,MAAMkD,EAE3CpG,EAAQ4D,EAAOkC,KAAK86F,WAAWlzF,EAAIE,GACnC3N,EAAS2D,EAAOkC,KAAK86F,WAAWjzF,EAAIE,GAEpCH,GAAMtL,KAAKiD,MAAMc,EACjBwH,GAAMvL,KAAKiD,MAAMe,EACjB42B,EAAO,IAAIp5B,EAAOS,UAAUqJ,EAAIC,EAAI3N,EAAOC,GAC3C0wF,EAASzmF,KAAK8yB,GAGlB,OAAO2zD,KA+Df/sF,EAAOqlD,WAAa,SAAU9jD,EAAMgB,EAAGC,EAAGpG,EAAOC,EAAQmV,EAAK3F,GAE1DtJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTpG,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnBmV,EAAMA,GAAO,KACb3F,EAAQA,GAAS,KAEjB7O,KAAKsH,OAAOtB,KAAKxE,KAAM,IAAIxB,KAAKqO,QAAQrL,EAAOmtC,MAAMjnB,QAAQthB,aAAcxI,EAAOC,GAMlFmC,KAAKwT,KAAOhS,EAAO+qB,WAMnBvsB,KAAK4yC,YAAcpxC,EAAO0qB,OAM1BlsB,KAAKy+F,QAAU,IAAIj9F,EAAOX,MAK1Bb,KAAK6kB,UAAY,IAAIrjB,EAAOX,MAAM,EAAG,GAKrCb,KAAKykB,gBAAkB,IAAIjjB,EAAOX,MAAM,EAAG,GAK3Cb,KAAKwkB,aAAe,IAAIhjB,EAAOX,MAQ/Bb,KAAK0+F,cAAe,EAOpB1+F,KAAKuvF,aAAe,KAOpBvvF,KAAKqkB,cAAgB,KAOrBrkB,KAAK2+F,YAAc,KAQnB3+F,KAAK6yE,gBAAiB,EAEtB7yE,KAAK4+F,WAAa,EAClB5+F,KAAK6+F,YAAc,EAEnB7+F,KAAK0M,OAAS9O,EACdoC,KAAK2M,QAAU9O,EAEf2D,EAAO0pE,UAAUiB,KAAKz6D,KAAKlN,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,IAG3D7L,EAAOqlD,WAAWvkD,UAAY0E,OAAOwB,OAAOhK,KAAKsH,OAAOxD,WACxDd,EAAOqlD,WAAWvkD,UAAUC,YAAcf,EAAOqlD,WAEjDrlD,EAAO0pE,UAAUiB,KAAKC,QAAQ5nE,KAAKhD,EAAOqlD,WAAWvkD,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJd,EAAOqlD,WAAWvkD,UAAUw0E,iBAAmBt1E,EAAO0pE,UAAUsB,YAAY9nE,UAC5ElD,EAAOqlD,WAAWvkD,UAAUy0E,kBAAoBv1E,EAAO0pE,UAAUuG,SAAS/sE,UAC1ElD,EAAOqlD,WAAWvkD,UAAU00E,iBAAmBx1E,EAAO0pE,UAAUgG,QAAQxsE,UACxElD,EAAOqlD,WAAWvkD,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UASlElD,EAAOqlD,WAAWvkD,UAAUoC,UAAY,WAYpC,OAVuB,IAAnB1E,KAAKy+F,QAAQ16F,IAEb/D,KAAKwkB,aAAazgB,GAAK/D,KAAKy+F,QAAQ16F,EAAI/D,KAAK+C,KAAKwiC,KAAKu5D,gBAGpC,IAAnB9+F,KAAKy+F,QAAQz6F,IAEbhE,KAAKwkB,aAAaxgB,GAAKhE,KAAKy+F,QAAQz6F,EAAIhE,KAAK+C,KAAKwiC,KAAKu5D,mBAGtD9+F,KAAK82E,oBAAuB92E,KAAK+2E,qBAAwB/2E,KAAKg3E,qBAK5Dh3E,KAAKi3E,iBAehBz1E,EAAOqlD,WAAWvkD,UAAUy8F,WAAa,SAAUh7F,EAAGC,GAIlD,OAFAhE,KAAKy+F,QAAQt3F,IAAIpD,EAAGC,GAEbhE,MAUXwB,EAAOqlD,WAAWvkD,UAAU08F,WAAa,WAIrC,OAFAh/F,KAAKy+F,QAAQt3F,IAAI,EAAG,GAEbnH,MAWXwB,EAAOqlD,WAAWvkD,UAAUE,QAAU,SAAUo4C,GAE5Cp5C,EAAO0pE,UAAU8C,QAAQ1rE,UAAUE,QAAQgC,KAAKxE,KAAM46C,GAEtDp8C,KAAKsH,OAAOxD,UAAUE,QAAQgC,KAAKxE,MAE/BA,KAAKuvF,eAELvvF,KAAKuvF,aAAa/sF,UAClBxC,KAAKuvF,aAAe,MAGxBvvF,KAAK6kB,UAAY,KACjB7kB,KAAKykB,gBAAkB,KACvBzkB,KAAKwkB,aAAe,KAEhBxkB,KAAKqkB,gBAELrkB,KAAKqkB,cAAc7hB,SAAQ,GAC3BxC,KAAKqkB,cAAgB,OAe7B7iB,EAAOqlD,WAAWvkD,UAAU8jC,MAAQ,SAAUriC,EAAGC,GAO7C,OALAxC,EAAO0pE,UAAUgI,MAAM5wE,UAAU8jC,MAAM5hC,KAAKxE,KAAM+D,EAAGC,GAErDhE,KAAKwkB,aAAazgB,EAAI,EACtB/D,KAAKwkB,aAAaxgB,EAAI,EAEfhE,MAYXwB,EAAOqlD,WAAWvkD,UAAUgL,WAAa,SAAUvP,GAS/C,OAPIiC,KAAKjC,UAAYA,IAEjBiC,KAAKjC,QAAUA,EACfiC,KAAK6yE,gBAAiB,EACtB7yE,KAAKgN,WAAa,UAGfhN,MAWXwB,EAAOqlD,WAAWvkD,UAAUyD,aAAe,SAAUH,GAEjD,GAAK5F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAkBA,GAbIjB,KAAKmC,QAELyD,EAAcmG,YAAYI,OAC1BvG,EAAcwG,YAAYC,SAASrM,KAAKuH,KAAM3B,GAC9CA,EAAcmG,YAAYO,SAG1BtM,KAAKyG,WAELb,EAAcmG,YAAYC,QAC1BpG,EAAcqG,cAAcC,WAAWlM,KAAK+H,eAG5C/H,KAAK6yE,eACT,CAGI,GAFA7yE,KAAKi/F,uBAAsB,EAAMr5F,IAE7B5F,KAAKqkB,cAWL,OATIrkB,KAAKqkB,cAAc66E,cAEnBl/F,KAAKqkB,cAAcje,YAAYE,aAAetG,KAAKjC,QAAQqI,YAAYE,aACvEV,EAAcf,SAAS2Q,cAAcxV,KAAKqkB,cAAcje,aACxDpG,KAAKqkB,cAAc66E,aAAc,GAS7Ct5F,EAAcmG,YAAYqY,mBAAmBpkB,MAE7C,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,aAAaH,GAGlC,IAAIu5F,GAAe,EAEfn/F,KAAKyG,WAEL04F,GAAe,EACfv5F,EAAcmG,YAAYI,OAC1BvG,EAAcqG,cAAcO,aAG5BxM,KAAKmC,QAEAg9F,GAEDv5F,EAAcmG,YAAYI,OAG9BvG,EAAcwG,YAAYG,QAAQvM,KAAKmC,MAAOyD,IAG9Cu5F,GAEAv5F,EAAcmG,YAAYO,UAYlC9K,EAAOqlD,WAAWvkD,UAAU0D,cAAgB,SAAUJ,GAElD,GAAK5F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAKA,IAAI6M,EAAUlI,EAAckI,QAExB9N,KAAKmC,OAELyD,EAAcwG,YAAYC,SAASrM,KAAKmC,MAAOyD,GAGnDkI,EAAQG,YAAcjO,KAAKsB,WAE3B,IAAImC,EAAKzD,KAAKuB,eACVqD,EAAagB,EAAchB,WAC3BtB,EAAMG,EAAGH,GAAKsB,EAAcgB,EAAc0I,OAC1C/K,EAAME,EAAGF,GAAKqB,EAAcgB,EAAc2I,OAa9C,GAXAT,EAAQe,aAAapL,EAAGP,EAAI0B,EAAYnB,EAAGN,EAAIyB,EAAYnB,EAAGL,EAAIwB,EAAYnB,EAAGJ,EAAIuB,EAAYtB,EAAIC,GAEnF,WAAdvD,KAAK+M,OAAsB/M,KAAKjC,QAAQ+Q,gBAAkB9O,KAAKgN,aAAehN,KAAK+M,OAEnF/M,KAAK4G,cAAgBpI,KAAKuQ,aAAaC,iBAAiBhP,KAAMA,KAAK+M,MAEnE/M,KAAKgN,WAAahN,KAAK+M,KACvB/M,KAAKjC,QAAQ+Q,gBAAiB,EAC9B9O,KAAK6yE,gBAAiB,GAGtB7yE,KAAK6yE,eACT,CAGI,GAFA7yE,KAAKi/F,uBAAsB,EAAOr5F,IAE9B5F,KAAKqkB,cAML,OAJArkB,KAAK2+F,YAAc7wF,EAAQ2yE,cAAczgF,KAAKqkB,cAAcje,YAAYgJ,OAAQ,UAQxF,IAAIgwF,EAAmBx5F,EAAciI,iBAGjC7N,KAAKiI,YAAcrC,EAAciI,mBAEjCjI,EAAciI,iBAAmB7N,KAAKiI,UACtC6F,EAAQC,yBAA2BvP,KAAKwP,iBAAiBpI,EAAciI,mBAG3E,IAAI2W,EAAexkB,KAAKwkB,aACpBK,EAAY7kB,KAAK6kB,UAErBL,EAAazgB,GAAK/D,KAAKqkB,cAAcje,YAAYxI,MACjD4mB,EAAaxgB,GAAKhE,KAAKqkB,cAAcje,YAAYvI,OAGjDiQ,EAAQhN,MAAM+jB,EAAU9gB,EAAG8gB,EAAU7gB,GACrC8J,EAAQ+tB,UAAUrX,EAAazgB,EAAK/D,KAAK2G,OAAO5C,GAAK/D,KAAK0M,OAAS8X,EAAaxgB,EAAKhE,KAAK2G,OAAO3C,GAAKhE,KAAK2M,SAE3GmB,EAAQ6a,UAAY3oB,KAAK2+F,YAEzBr7F,GAAMkhB,EAAazgB,EACnBR,GAAMihB,EAAaxgB,EAEnB,IAAIknB,EAAKlrB,KAAK0M,OAASmY,EAAU9gB,EAC7BonB,EAAKnrB,KAAK2M,QAAUkY,EAAU7gB,EAG9B4B,EAAcgJ,cAEdtL,GAAM,EACNC,GAAM,EACN2nB,GAAM,EACNC,GAAM,GAGVrd,EAAQgb,SAASxlB,EAAIC,EAAI2nB,EAAIC,GAG7Brd,EAAQhN,MAAM,EAAI+jB,EAAU9gB,EAAG,EAAI8gB,EAAU7gB,GAC7C8J,EAAQ+tB,WAAWrX,EAAazgB,EAAK/D,KAAK2G,OAAO5C,EAAI/D,KAAK0M,QAAU8X,EAAaxgB,EAAKhE,KAAK2G,OAAO3C,EAAIhE,KAAK2M,SAEvG3M,KAAKmC,OAELyD,EAAcwG,YAAYG,QAAQ3G,GAGtC,IAAK,IAAIlD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGsD,cAAcJ,GAI/Bw5F,IAAqBp/F,KAAKiI,YAE1BrC,EAAciI,iBAAmBuxF,EACjCtxF,EAAQC,yBAA2BvP,KAAKwP,iBAAiBoxF,MAWjE59F,EAAOqlD,WAAWvkD,UAAU8K,gBAAkB,aAc9C5L,EAAOqlD,WAAWvkD,UAAU28F,sBAAwB,SAAUI,GAE1D,GAAKr/F,KAAKjC,QAAQqI,YAAY+G,UAA9B,CAKA,IAAIpP,EAAUiC,KAAKjC,QACfsP,EAAQtP,EAAQsP,MAEhBiyF,EAAct/F,KAAK4tE,OAAO+E,aAAe3yE,KAAK4tE,OAAOhwE,MACrD2hG,EAAev/F,KAAK4tE,OAAOgF,aAAe5yE,KAAK4tE,OAAO/vE,OAEtDsQ,EAAK,EACLE,EAAK,EAELrO,KAAK4tE,OAAO4E,UAEZrkE,EAAKnO,KAAK4tE,OAAO6E,kBACjBpkE,EAAKrO,KAAK4tE,OAAO8E,mBAGjB2sB,IAEAC,EAAc99F,EAAOkC,KAAK87F,kBAAkBF,GAC5CC,EAAe/9F,EAAOkC,KAAK87F,kBAAkBD,IAG7Cv/F,KAAKuvF,cAELvvF,KAAKuvF,aAAappF,OAAOm5F,EAAaC,GACtCv/F,KAAKqkB,cAAcje,YAAYxI,MAAQ0hG,EACvCt/F,KAAKqkB,cAAcje,YAAYvI,OAAS0hG,EACxCv/F,KAAKqkB,cAAc66E,aAAc,IAIjCl/F,KAAKuvF,aAAe,IAAI/wF,KAAKupB,aAAau3E,EAAaC,GACvDv/F,KAAKqkB,cAAgB7lB,KAAKqO,QAAQ6d,WAAW1qB,KAAKuvF,aAAar4E,QAC/DlX,KAAKqkB,cAAcwG,UAAW,EAC9B7qB,KAAKqkB,cAAc66E,aAAc,GAGjCl/F,KAAK0+F,eAEL1+F,KAAKuvF,aAAazhF,QAAQuyE,YAAc,UACxCrgF,KAAKuvF,aAAazhF,QAAQq9E,WAAW,EAAG,EAAGmU,EAAaC,IAI5D,IAAIlqF,EAAItX,EAAQ6P,KAAKhQ,MACjB2mB,EAAIxmB,EAAQ6P,KAAK/P,OAEjBwX,IAAMiqF,GAAe/6E,IAAMg7E,IAE3BlqF,EAAIiqF,EACJ/6E,EAAIg7E,GAGR,IAAI9+F,EAAgBT,KAAK4G,cAAgB5G,KAAK4G,cAAgB7I,EAAQqI,YAAYgJ,OAElFpP,KAAKuvF,aAAazhF,QAAQmB,UACtBxO,EACA1C,EAAQ6P,KAAK7J,EACbhG,EAAQ6P,KAAK5J,EACbjG,EAAQ6P,KAAKhQ,MACbG,EAAQ6P,KAAK/P,OACbsQ,EACAE,EACAgH,EACAkP,GAGJvkB,KAAKykB,gBAAgB1gB,EAAIsJ,EAAMzP,MAAQ0hG,EACvCt/F,KAAKykB,gBAAgBzgB,EAAIqJ,EAAMxP,OAAS0hG,EAExCv/F,KAAK6yE,gBAAiB,EAEtB7yE,KAAKqkB,cAAcje,YAAY4V,WAAY,IAU/Cxa,EAAOqlD,WAAWvkD,UAAU4H,UAAY,WAEpC,IAAItM,EAAQoC,KAAK0M,OACb7O,EAASmC,KAAK2M,QAEdzB,EAAKtN,GAAS,EAAIoC,KAAK2G,OAAO5C,GAC9BoH,EAAKvN,GAASoC,KAAK2G,OAAO5C,EAE1BqH,EAAKvN,GAAU,EAAImC,KAAK2G,OAAO3C,GAC/BqH,EAAKxN,GAAUmC,KAAK2G,OAAO3C,EAE3BzC,EAAiBvB,KAAKuB,eAEtB2B,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAI9B,EAAe8B,EACnBC,EAAK/B,EAAe+B,GACpBC,EAAKhC,EAAegC,GAEpB+H,EAAMpI,EAAIiI,EAAO/H,EAAIiI,EAAM/H,EAC3BiI,EAAMlI,EAAIgI,EAAOlI,EAAIgI,EAAM5H,EAE3BiI,EAAMtI,EAAIgI,EAAO9H,EAAIiI,EAAM/H,EAC3BmI,EAAMpI,EAAIgI,EAAOlI,EAAI+H,EAAM3H,EAE3BmI,EAAMxI,EAAIgI,EAAO9H,EAAIgI,EAAM9H,EAC3BqI,EAAMtI,EAAI+H,EAAOjI,EAAI+H,EAAM3H,EAE3BqI,EAAK1I,EAAIiI,EAAK/H,EAAIgI,EAAK9H,EACvBuI,EAAKxI,EAAI+H,EAAKjI,EAAIgI,EAAK5H,EAEvBwH,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,IAAIlG,EAAS9E,KAAKgC,QAWlB,OATA8C,EAAOf,EAAI6G,EACX9F,EAAOlH,MAAQmN,EAAOH,EAEtB9F,EAAOd,EAAI8G,EACXhG,EAAOjH,OAASmN,EAAOF,EAGvB9K,KAAKkC,eAAiB4C,EAEfA,GASXkC,OAAOyF,eAAejL,EAAOqlD,WAAWvkD,UAAW,SAE/C4E,IAAK,WAED,OAAOlH,KAAK0M,QAGhBvF,IAAK,SAAUC,GAEXpH,KAAK0M,OAAStF,KAWtBJ,OAAOyF,eAAejL,EAAOqlD,WAAWvkD,UAAW,UAE/C4E,IAAK,WAED,OAAOlH,KAAK2M,SAGhBxF,IAAK,SAAUC,GAEXpH,KAAK2M,QAAUvF,KAiBvB5F,EAAOqF,YAYH2B,OAAQ,SAAUnH,EAAQzD,EAAOC,GAE7B,IACIqZ,EADAy/E,EAAMn1F,EAAOqF,WAAWsvC,WAG5B,IAAa,IAATwgD,EACJ,CACI,IAAI3qB,GACA3qE,OAAQA,EACR6V,OAAQm5B,SAAS0mD,cAAc,WAGnCv1F,EAAOqF,WAAW44F,KAAK33F,KAAKkkE,GAE5B90D,EAAS80D,EAAU90D,YAInB1V,EAAOqF,WAAW44F,KAAK9I,GAAKt1F,OAASA,EAErC6V,EAAS1V,EAAOqF,WAAW44F,KAAK9I,GAAKz/E,OASzC,YANc3Q,IAAV3I,IAEAsZ,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,GAGbqZ,GAUXi/B,SAAU,WAIN,IAAK,IAFDspD,EAAOj+F,EAAOqF,WAAW44F,KAEpB/8F,EAAI,EAAGA,EAAI+8F,EAAK98F,OAAQD,IAE7B,IAAK+8F,EAAK/8F,GAAGrB,OAET,OAAOqB,EAIf,OAAQ,GAWZyZ,OAAQ,SAAU9a,GAId,IAAK,IAFDo+F,EAAOj+F,EAAOqF,WAAW44F,KAEpB/8F,EAAI,EAAGA,EAAI+8F,EAAK98F,OAAQD,IAEzB+8F,EAAK/8F,GAAGrB,SAAWA,IAEnBo+F,EAAK/8F,GAAGrB,OAAS,KACjBo+F,EAAK/8F,GAAGwU,OAAOtZ,MAAQ,EACvB6hG,EAAK/8F,GAAGwU,OAAOrZ,OAAS,IAapCiJ,eAAgB,SAAUoQ,GAItB,IAAK,IAFDuoF,EAAOj+F,EAAOqF,WAAW44F,KAEpB/8F,EAAI,EAAGA,EAAI+8F,EAAK98F,OAAQD,IAEzB+8F,EAAK/8F,GAAGwU,SAAWA,IAEnBuoF,EAAK/8F,GAAGrB,OAAS,KACjBo+F,EAAK/8F,GAAGwU,OAAOtZ,MAAQ,EACvB6hG,EAAK/8F,GAAGwU,OAAOrZ,OAAS,IAYpC6hG,SAAU,WAKN,IAAK,IAHDD,EAAOj+F,EAAOqF,WAAW44F,KACzBr8F,EAAI,EAECV,EAAI,EAAGA,EAAI+8F,EAAK98F,OAAQD,IAEzB+8F,EAAK/8F,GAAGrB,QAER+B,IAIR,OAAOA,GAUXu8F,QAAS,WAKL,IAAK,IAHDF,EAAOj+F,EAAOqF,WAAW44F,KACzBr8F,EAAI,EAECV,EAAI,EAAGA,EAAI+8F,EAAK98F,OAAQD,IAExB+8F,EAAK/8F,GAAGrB,QAET+B,IAIR,OAAOA,GAUXiN,IAAK,WAED/P,QAAQ+P,IACJ,yCACA7O,EAAOqF,WAAW64F,WAClBl+F,EAAOqF,WAAW84F,UAClBn+F,EAAOqF,WAAW44F,KAAK98F,UAanCnB,EAAOqF,WAAW44F,QAWlBz4F,OAAOyF,eAAejL,EAAOqF,WAAY,UACrCK,IAAK,WAED,OAAOlH,KAAKy/F,KAAK98F,UA6CzBnB,EAAOm6C,OAAS,WAOZ37C,KAAK4/F,cAAgB,EAOrB5/F,KAAK6/F,aAAc,EAQnB7/F,KAAK8/F,SAAU,EAMf9/F,KAAKygD,KAAM,EAMXzgD,KAAK+/F,WAAa,EAMlB//F,KAAKu/C,UAAW,EAMhBv/C,KAAKqxC,aAAc,EAMnBrxC,KAAKwgD,SAAU,EAMfxgD,KAAKggG,MAAO,EAMZhgG,KAAKigG,YAAa,EAMlBjgG,KAAKkgG,UAAW,EAMhBlgG,KAAKmgG,QAAS,EAMdngG,KAAKogG,WAAY,EAMjBpgG,KAAKqgG,SAAU,EAMfrgG,KAAKsgG,UAAW,EAMhBtgG,KAAKugG,OAAQ,EAMbvgG,KAAKwgG,OAAQ,EAMbxgG,KAAKygG,SAAU,EAMfzgG,KAAK0gG,cAAe,EAQpB1gG,KAAKkX,QAAS,EAMdlX,KAAK2gG,kBAAoB,KAOzB3gG,KAAKopB,gBAAiB,EAUtBppB,KAAKkqB,gBAAiB,EAOtBlqB,KAAKo/C,OAAQ,EAMbp/C,KAAK4gG,MAAO,EAMZ5gG,KAAK6gG,YAAa,EAMlB7gG,KAAK8gG,cAAe,EAMpB9gG,KAAK+gG,QAAS,EAMd/gG,KAAKghG,OAAQ,EAMbhhG,KAAK6kD,aAAc,EAMnB7kD,KAAKihG,YAAa,EAMlBjhG,KAAKkhG,WAAY,EAMjBlhG,KAAKmhG,cAAe,EAMpBnhG,KAAKohG,YAAa,EAQlBphG,KAAKkjD,OAAQ,EAMbljD,KAAKmjD,WAAY,EAOjBnjD,KAAKqpD,WAAa,KAQlBrpD,KAAKqhG,OAAQ,EAMbrhG,KAAKshG,QAAS,EAMdthG,KAAKuhG,cAAgB,EAMrBvhG,KAAKwhG,UAAW,EAMhBxhG,KAAKyhG,SAAU,EAMfzhG,KAAK0hG,eAAiB,EAMtB1hG,KAAK++C,IAAK,EAMV/+C,KAAK2hG,UAAY,EAMjB3hG,KAAK4hG,SAAU,EAMf5hG,KAAK6hG,eAAiB,EAMtB7hG,KAAKu7B,MAAO,EAMZv7B,KAAK8hG,cAAe,EAMpB9hG,KAAK+hG,QAAS,EAMd/hG,KAAKgiG,OAAQ,EAMbhiG,KAAKiiG,QAAS,EAMdjiG,KAAKkiG,cAAgB,EAMrBliG,KAAKmiG,QAAS,EAMdniG,KAAKoiG,MAAO,EAQZpiG,KAAKqiG,WAAY,EAOjBriG,KAAK8+C,UAAW,EAMhB9+C,KAAKsiG,KAAM,EAMXtiG,KAAKuiG,MAAO,EAMZviG,KAAKwiG,KAAM,EAMXxiG,KAAKyiG,KAAM,EAOXziG,KAAK0iG,KAAM,EAMX1iG,KAAK2iG,MAAO,EAMZ3iG,KAAK4iG,OAAQ,EAQb5iG,KAAK6iG,UAAW,EAMhB7iG,KAAK8iG,WAAY,EAMjB9iG,KAAK+iG,UAAW,EAMhB/iG,KAAKgjG,WAAY,EAMjBhjG,KAAKijG,UAAW,EAMhBjjG,KAAKkjG,UAAW,EAQhBljG,KAAKmjG,QAAS,EAMdnjG,KAAKojG,SAAU,EAMfpjG,KAAKqjG,MAAO,EAQZrjG,KAAKsjG,WAAa,EAMlBtjG,KAAKujG,cAAe,EAMpBvjG,KAAK69E,eAAgB,EAMrB79E,KAAKwjG,cAAe,EAMpBxjG,KAAKyjG,YAAa,EAMlBzjG,KAAK0jG,kBAAoB,GAMzB1jG,KAAK2jG,iBAAmB,GAMxB3jG,KAAK4jG,oBAAqB,GAO9BpiG,EAAOm6C,OAAS,IAAIn6C,EAAOm6C,OAc3Bn6C,EAAOm6C,OAAOkoD,cAAgB,IAAIriG,EAAO6gC,OAgBzC7gC,EAAOm6C,OAAOwB,UAAY,SAAUnI,EAAUlnC,EAASg2F,GAEnD,IAAIC,EAAa/jG,KAAKgkG,YAEtB,GAAIhkG,KAAK4/F,gBAAkBmE,EAEvB/uD,EAASxwC,KAAKsJ,EAAS9N,WAEtB,GAAI+jG,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAOp8F,MAAOktC,EAAUlnC,QAGvC,CACIi2F,EAAWE,SAAWF,EAAWh0E,KAAK/vB,MACtC+jG,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAOp8F,MAAOktC,EAAUlnC,IAEnC,IAAI0yC,OAAoC,IAAnBpwC,OAAOowC,QACxBjB,EAAW51B,UAAUC,WAEG,aAAxBymB,SAAS8zD,YAAqD,gBAAxB9zD,SAAS8zD,WAG/C/zF,OAAOg0F,WAAWL,EAAWE,SAAU,GAElCzjD,IAAYjB,EAMjBlP,SAASW,iBAAiB,cAAe+yD,EAAWE,UAAU,IAI9D5zD,SAASW,iBAAiB,mBAAoB+yD,EAAWE,UAAU,GACnE7zF,OAAO4gC,iBAAiB,OAAQ+yD,EAAWE,UAAU,MAYjEziG,EAAOm6C,OAAOqoD,YAAc,WAExB,IAAID,EAAa/jG,KAAKgkG,YAEtB,GAAK3zD,SAAS8B,MAIT,IAAKnyC,KAAK4/F,cACf,CACI5/F,KAAK4/F,cAAgBtyD,KAAK4P,MAE1B7M,SAAS4B,oBAAoB,cAAe8xD,EAAWE,UACvD5zD,SAAS4B,oBAAoB,mBAAoB8xD,EAAWE,UAC5D7zF,OAAO6hC,oBAAoB,OAAQ8xD,EAAWE,UAE9CjkG,KAAKqkG,cACLrkG,KAAK6/F,aAAc,EAEnB7/F,KAAK6jG,cAAcp+D,SAASzlC,MAG5B,IADA,IAAIsH,EACIA,EAAOy8F,EAAWG,OAAOr1C,SACjC,CACI,IAAI7Z,EAAW1tC,EAAK,GAChBwG,EAAUxG,EAAK,GACnB0tC,EAASxwC,KAAKsJ,EAAS9N,MAI3BA,KAAKgkG,YAAc,KACnBhkG,KAAKqkG,YAAc,KACnBrkG,KAAK6jG,cAAgB,WA1BrBzzF,OAAOg0F,WAAWL,EAAWE,SAAU,KAqC/CziG,EAAOm6C,OAAO0oD,YAAc,WA0gBxB,SAASC,IAEL,IAAIphG,EAAI,IAAIif,YAAY,GACpBhf,EAAI,IAAIktF,WAAWntF,GACnBE,EAAI,IAAImf,YAAYrf,GAOxB,OALAC,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEM,aAATC,EAAE,IAKO,aAATA,EAAE,IAOK,KASf,SAASmhG,IAEL,QAA0Bh+F,IAAtBi+F,kBAEA,OAAO,EAGX,IACInqB,EADO74E,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GAC9BwY,WAAW,MAE1B,IAAK6hE,EAED,OAAO,EAGX,IAAIngE,EAAQmgE,EAAIoqB,gBAAgB,EAAG,GAInC,OAFAjjG,EAAOqF,WAAWsV,OAAOnc,MAElBka,EAAM9F,gBAAgBowF,kBA3jBjC,IAAIv6E,EAASjqB,MAKb,WAEI,IAAI06B,EAAK/Q,UAAU+wC,UAEf,mBAAqBw9B,KAAKx9D,GAE1BzQ,EAAOy6E,MAAO,EAET,SAAWxM,KAAKx9D,IAAO,kBAAoBw9D,KAAKx9D,IAAO,sBAAwBw9D,KAAKx9D,GAEzFzQ,EAAO06E,QAAS,EAOX,UAAYzM,KAAKx9D,GAEtBzQ,EAAOo2E,SAAU,EAEZ,OAASnI,KAAKx9D,GAEnBzQ,EAAOq2E,UAAW,EAEb,kBAAoBpI,KAAKx9D,IAE9BzQ,EAAOw2B,KAAM,EACZ92B,UAAoB,WAAEshD,MAAM,YAC7BhhD,EAAO81E,WAAa5sE,SAASyxE,OAAOC,GAAI,KAEnC,QAAU3M,KAAKx9D,GAEpBzQ,EAAOs2E,OAAQ,EAEV,SAAWrI,KAAKx9D,GAErBzQ,EAAOu2E,OAAQ,EAEV,UAAYtI,KAAKx9D,KAEtBzQ,EAAOw2E,SAAU,IAGjB,iBAAmBvI,KAAKx9D,IAAO,YAAcw9D,KAAKx9D,MAElDzQ,EAAOo2E,SAAU,EACjBp2E,EAAOw2B,KAAM,EACbx2B,EAAOu2E,OAAQ,EACfv2E,EAAOw2E,SAAU,EACjBx2E,EAAOy2E,cAAe,GAG1B,IAAI0B,EAAO,OAASlK,KAAKx9D,IAErBzQ,EAAOw2E,SAAWx2E,EAAOu2E,OAAUv2E,EAAOs2E,QAAU6B,GAASn4E,EAAOq2E,YAEpEr2E,EAAO61E,SAAU,IAIjB71E,EAAOy2E,cAAkB,cAAgBxI,KAAKx9D,IAAS,SAAWw9D,KAAKx9D,MAEvEzQ,EAAO61E,SAAU,GA6jBzBgF,GAvWA,WAEI,IAAIpqE,EAAK/Q,UAAU+wC,UA4FnB,GA1FI,QAAUw9B,KAAKx9D,GAEfzQ,EAAOo3E,OAAQ,EAEV,YAAcnJ,KAAKx9D,GAExBzQ,EAAOsR,MAAO,EAET,gBAAkB28D,KAAKx9D,KAAQzQ,EAAOy2E,cAE3Cz2E,EAAOq3E,QAAS,EAChBr3E,EAAOs3E,cAAgBpuE,SAASyxE,OAAOC,GAAI,KAEtC,WAAa3M,KAAKx9D,GAEvBzQ,EAAOu3E,UAAW,EAEb,kBAAoBtJ,KAAKx9D,IAE9BzQ,EAAOw3E,SAAU,EACjBx3E,EAAOy3E,eAAiBvuE,SAASyxE,OAAOC,GAAI,KAEvC,cAAgB3M,KAAKx9D,IAAOzQ,EAAOw2B,IAExCx2B,EAAO63E,cAAe,EAEjB,mBAAqB5J,KAAKx9D,IAE/BzQ,EAAO80B,IAAK,EACZ90B,EAAO03E,UAAYxuE,SAASyxE,OAAOC,GAAI,KAElC,SAAW3M,KAAKx9D,GAErBzQ,EAAO83E,QAAS,EAEX,QAAU7J,KAAKx9D,GAEpBzQ,EAAO+3E,OAAQ,EAEV,gBAAkB9J,KAAKx9D,KAAQzQ,EAAOy2E,cAE3Cz2E,EAAOg4E,QAAS,EAEZ,mBAAqB/J,KAAKx9D,KAE1BzQ,EAAOi4E,cAAgB/uE,SAASyxE,OAAOC,GAAI,MAG1C,uCAAyC3M,KAAKx9D,KAEnDzQ,EAAO80B,IAAK,EACZ90B,EAAO23E,SAAU,EACjB33E,EAAO43E,eAAiB1uE,SAASyxE,OAAOC,GAAI,IAC5C56E,EAAO03E,UAAYxuE,SAASyxE,OAAOG,GAAI,KAIvC,OAAS7M,KAAKx9D,KAEdzQ,EAAOm4E,MAAO,GAIdz4E,UAAUq7E,aAEV/6E,EAAOk4E,QAAS,QAGU,IAAnB/xF,OAAOowC,UAEdv2B,EAAOu2B,SAAU,GAGE,oBAAZykD,SAA8C,oBAAZC,UAEzCj7E,EAAO+1E,MAAO,GAGd/1E,EAAO+1E,MAAoC,iBAArBiF,QAAQE,WAE9Bl7E,EAAOg2E,aAAegF,QAAQE,SAAS,eAEvCl7E,EAAOi2E,WAAa+E,QAAQE,SAASjF,UAGrCv2E,UAAUC,aAEVK,EAAOs1B,UAAW,GAGlBt1B,EAAOs1B,SAEP,IAEIt1B,EAAOonB,YAAmC,oBAAbC,SAEjC,MAAM/wC,GAEF0pB,EAAOonB,aAAc,OAIA,IAAlBjhC,OAAO+vF,SAEdl2E,EAAOk2E,QAAS,GAGhB,YAAcjI,KAAKx9D,KAEnBzQ,EAAOm2E,WAAY,GAuP3BgF,GAtMA,WAEIn7E,EAAOo4E,YAAejyF,OAAY,MAClC6Z,EAAO60B,YAAc1uC,OAAOi1F,eAAgBj1F,OAAOk1F,oBACnD,IAAIC,EAAel1D,SAAS0mD,cAAc,SAE1C,IAEI,GAAIwO,EAAaC,cAETD,EAAaC,YAAY,8BAA8BlxE,QAAQ,OAAQ,MAEvErK,EAAOq4E,KAAM,IAGbiD,EAAaC,YAAY,4BAA4BlxE,QAAQ,OAAQ,KAAOixE,EAAaC,YAAY,eAAelxE,QAAQ,OAAQ,OAEpIrK,EAAOs4E,MAAO,GAGdgD,EAAaC,YAAY,eAAelxE,QAAQ,OAAQ,MAExDrK,EAAOu4E,KAAM,GAQb+C,EAAaC,YAAY,yBAAyBlxE,QAAQ,OAAQ,MAElErK,EAAOw4E,KAAM,IAGb8C,EAAaC,YAAY,iBAAmBD,EAAaC,YAAY,cAAclxE,QAAQ,OAAQ,OAEnGrK,EAAOy4E,KAAM,GAGb6C,EAAaC,YAAY,+BAA+BlxE,QAAQ,OAAQ,MAExErK,EAAO04E,MAAO,GAG0C,KAAxD4C,EAAaC,YAAY,4BAEzB,GAAIv7E,EAAOsR,KAEPtR,EAAO24E,OAAQ,OAEd,GAAI34E,EAAOg4E,QAAUh4E,EAAOi4E,eAAiB,GAE1C,uBAAyBhK,KAAKvuE,UAAU+wC,WAC5C,CACI,IAAI+qC,EAAQtyE,SAASyxE,OAAOC,GAAI,IAC5Ba,EAAQvyE,SAASyxE,OAAOe,GAAI,KAEjB,KAAVF,GAAgBC,GAAS,IAAOD,EAAQ,MAEzCx7E,EAAO24E,OAAQ,IAOvC,MAAOj0F,KAoIXi3F,GAjPA,WAEI,IAAIC,EAAex1D,SAAS0mD,cAAc,SAE1C,IAEQ8O,EAAaL,cAETK,EAAaL,YAAY,8BAA8BlxE,QAAQ,OAAQ,MAEvErK,EAAO44E,UAAW,GAGlBgD,EAAaL,YAAY,mCAAmClxE,QAAQ,OAAQ,MAG5ErK,EAAO64E,WAAY,EACnB74E,EAAO84E,UAAW,GAGlB8C,EAAaL,YAAY,oCAAoClxE,QAAQ,OAAQ,MAE7ErK,EAAO+4E,WAAY,GAGnB6C,EAAaL,YAAY,4BAA4BlxE,QAAQ,OAAQ,MAErErK,EAAOg5E,UAAW,GAGlB4C,EAAaL,YAAY,+CAA+ClxE,QAAQ,OAAQ,MAExFrK,EAAOi5E,UAAW,IAI9B,MAAOv0F,KA8MXm3F,GAhCA,WAEI,IACIC,EADAC,EAAK31D,SAAS0mD,cAAc,KAE5BkP,GACAC,gBAAiB,oBACjBC,WAAY,eACZC,YAAa,gBACbC,aAAc,iBACdj+E,UAAW,aAIfioB,SAAS8B,KAAKm0D,aAAaN,EAAI,MAE/B,IAAK,IAAIn1E,KAAKo1E,OAEU1/F,IAAhBy/F,EAAG1qF,MAAMuV,KAETm1E,EAAG1qF,MAAMuV,GAAK,2BACdk1E,EAAQ31F,OAAOm2F,iBAAiBP,GAAIQ,iBAAiBP,EAAWp1E,KAIxEwf,SAAS8B,KAAKtpC,YAAYm9F,GAC1B/7E,EAAO+2E,WAAmBz6F,IAAVw/F,GAAuBA,EAAMpjG,OAAS,GAAe,SAAVojG,EAQ/DU,GAlEIx8E,EAAOq5E,WAAalzF,OAAOs2F,kBAAoB,EAC/Cz8E,EAAOk5E,QAAkE,IAAzDx5E,UAAU+wC,UAAUlM,cAAcnlD,QAAQ,UAC1D4gB,EAAOm5E,QAAiC,IAAtBn5E,EAAOq5E,YAAoBr5E,EAAOk5E,OACpDl5E,EAAOo5E,MAA8D,IAAvD15E,UAAU+wC,UAAUlM,cAAcnlD,QAAQ,QAE/B,oBAAds9F,UAEP18E,EAAOg3E,YAAa,EAIpBh3E,EAAOg3E,YAAa,EAGG,oBAAhB9+E,aAAqD,oBAAfkuE,YAAqD,oBAAhB9tE,cAElF0H,EAAOs5E,aAAee,IACtBr6E,EAAO4zD,cAAgB5zD,EAAOs5E,cAGlCt5E,EAAOu5E,aAAuC,oBAAhBrhF,aAA4D,oBAAtBqiF,mBAA2D,oBAAfoC,YAAsD,OAAxB38E,EAAOs5E,cAAyBgB,IAE9K56E,UAAUk9E,QAAUl9E,UAAUk9E,SAAWl9E,UAAUm9E,eAAiBn9E,UAAUo9E,YAAcp9E,UAAUq9E,UAElGr9E,UAAUk9E,UAEV58E,EAAOi3E,WAAY,GAte3B,WAEIj3E,EAAO/S,SAAW9G,OAAO62F,0BAA4Bh9E,EAAOs1B,SAE5D,IAEIt1B,EAAO62E,eAAiBA,aAAaoG,QAEzC,MAAO3mG,GAEH0pB,EAAO62E,cAAe,EAG1B72E,EAAO22E,QAASxwF,OAAO+2F,MAAU/2F,OAAOg3F,YAAgBh3F,OAAOi3F,UAAcj3F,OAAOk3F,MACpFr9E,EAAO42E,aAAezwF,OAAOm3F,kBAE7Bt9E,EAAOm1B,QAAUhvC,OAAOo3F,sBAExBv9E,EAAO82E,SAAW3wF,OAAOq3F,OAEzBx9E,EAAOwvC,mBAAuB,uBAAwBppB,UAAa,sBAC7D,0BAA2BA,UAAa,yBACxC,6BAA8BA,UAAa,2BAEjDpmB,EAAOyvC,kBAAsB,wBAAyBrpB,UAAa,qBAC7D,2BAA4BA,UAAa,wBACzC,8BAA+BA,UAAa,0BAElDpmB,EAAO0vC,iBAAqB,uBAAwBtpB,UAAa,oBAC3D,0BAA2BA,UAAa,uBACxC,6BAA8BA,UAAa,yBAEjDpmB,EAAO46B,cAAgB56B,EAAOwvC,mBAE9BxvC,EAAOm3E,WAAsC,eAAxB/wD,SAASq3D,WAE9B/9E,UAAUw3E,aAAex3E,UAAUw3E,cAAgBx3E,UAAUg+E,oBAAsBh+E,UAAUi+E,iBAAmBj+E,UAAUk+E,gBAAkBl+E,UAAUm+E,cAEtJ13F,OAAO23F,IAAM33F,OAAO23F,KAAO33F,OAAO43F,WAAa53F,OAAO63F,QAAU73F,OAAO83F,MAEvEj+E,EAAOk3E,aAAel3E,EAAOk3E,gBAAkBx3E,UAAUw3E,gBAAkB/wF,OAAO23F,IAG9E99E,EAAOw3E,SAAWx3E,EAAOy3E,eAAiB,KAE1Cz3E,EAAOk3E,cAAe,IASrBl3E,EAAOw2B,MAAQx2B,EAAO80B,IAAM90B,EAAOw3E,SAAWx3E,EAAOq3E,UAEtDr3E,EAAO02E,mBAAoB,IAI3B12E,EAAOg4E,QAAUh4E,EAAO63E,gBAExB73E,EAAO02E,mBAAoB,GAkdnCwH,GA1jBA,WAEI,IAAIjxF,EAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,GAC3C8N,EAAUoJ,EAAOsB,WAAW,MAEhC1K,EAAQ6a,UAAY,wBAGpB7a,EAAQgb,SAAS,EAAG,EAAG,EAAG,GAG1B,IAAIs/E,EAAKt6F,EAAQob,aAAa,EAAG,EAAG,EAAG,GAEvC,GAAIk/E,EACJ,CAEIt6F,EAAQub,aAAa++E,EAAI,EAAG,GAG5B,IAAIC,EAAKv6F,EAAQob,aAAa,EAAG,EAAG,EAAG,GAGvCe,EAAOb,eACHi/E,EAAGj0F,KAAK,KAAOg0F,EAAGh0F,KAAK,IACvBi0F,EAAGj0F,KAAK,KAAOg0F,EAAGh0F,KAAK,IACvBi0F,EAAGj0F,KAAK,KAAOg0F,EAAGh0F,KAAK,IACvBi0F,EAAGj0F,KAAK,KAAOg0F,EAAGh0F,KAAK,GAK/BtG,EAAQC,yBAA2B,WACnCkc,EAAOC,eAAuD,aAArCpc,EAAQC,yBAEjCvM,EAAOqF,WAAWC,eAAeoQ,GAEjC1Y,KAAKuQ,aAAa0Z,WAAcwB,EAAqB,eAAIzrB,KAAKuQ,aAAa2Z,iBAAmBlqB,KAAKuQ,aAAaga,iBAuhBpHu/E,GAxaA,WAeI,IAAK,IAbDC,GACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGAr/C,EAAU7Y,SAAS0mD,cAAc,OAE5Br0F,EAAI,EAAGA,EAAI6lG,EAAG5lG,OAAQD,IAE3B,GAAIwmD,EAAQq/C,EAAG7lG,IACf,CACIunB,EAAOw5E,YAAa,EACpBx5E,EAAOy5E,kBAAoB6E,EAAG7lG,GAC9B,MAIR,IAAI8lG,GACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,qBAGJ,GAAIv+E,EAAOw5E,WAEP,IAAS/gG,EAAI,EAAGA,EAAI8lG,EAAI7lG,OAAQD,IAE5B,GAAI2tC,SAASm4D,EAAI9lG,IACjB,CACIunB,EAAO05E,iBAAmB6E,EAAI9lG,GAC9B,MAMR0N,OAAOq4F,SAAWA,QAAQC,uBAE1Bz+E,EAAO25E,oBAAqB,GAsXpC+E,IA3cQ,iBAAkBt4D,SAASu4D,iBAAoBx4F,OAAOuZ,UAAUk/E,gBAAkBz4F,OAAOuZ,UAAUk/E,gBAAkB,KAErH5+E,EAAOi5B,OAAQ,IAGf9yC,OAAO04F,cAAgB14F,OAAO24F,gBAAkB34F,OAAOuZ,UAAUq/E,kBAAoB54F,OAAOuZ,UAAUs/E,kBAEtGh/E,EAAOk5B,WAAY,GAGlBl5B,EAAOs1B,WAGJ,YAAanvC,QAAW6Z,EAAO80B,IAAM,eAAgB3uC,OAGrD6Z,EAAOo/B,WAAa,QAEf,iBAAkBj5C,OAGvB6Z,EAAOo/B,WAAa,aAEfp/B,EAAOw3E,SAAW,qBAAsBrxF,SAG7C6Z,EAAOo/B,WAAa,oBA6bpC7nD,EAAOm6C,OAAOutD,aAAe,SAAU11F,GAEnC,QAAa,QAATA,IAAkBxT,KAAKwiG,SAIT,QAAThvF,IAAmBxT,KAAKsiG,MAAOtiG,KAAKuiG,UAI3B,QAAT/uF,IAAkBxT,KAAK0iG,SAId,SAATlvF,IAAmBxT,KAAKuiG,UAIf,QAAT/uF,IAAkBxT,KAAKyiG,SAId,SAATjvF,IAAmBxT,KAAK2iG,SAIf,QAATnvF,IAAkBxT,KAAK4iG,aAgBpCphG,EAAOm6C,OAAOwtD,aAAe,SAAU31F,GAEnC,QAAa,SAATA,IAAoBxT,KAAKgjG,YAAahjG,KAAKijG,cAI7B,QAATzvF,IAAmBxT,KAAK+iG,WAAY/iG,KAAK8iG,eAI/B,QAATtvF,GAA2B,QAATA,IAAmBxT,KAAK6iG,aAIlC,SAATrvF,IAAmBxT,KAAKkjG,aAerC1hG,EAAOm6C,OAAOytD,iBAAmB,WAE7B,UAAWppG,KAAKu/C,WAAav/C,KAAKygD,KAAOzgD,KAAKqgG,UAAajwF,OAAOuuC,cAAgBvuC,OAAOuuC,aAAa0qD,mBAe1G7nG,EAAOm6C,OAAOyM,sBAAwB,WAElC,IAAIkhD,EAAUl5F,OAAOuZ,UAAU+wC,UAAUuQ,MAAM,kCAC/C,OAAOq+B,GAAWA,EAAQ,GAAK,KAgBnC9nG,EAAOioB,QAaHjhB,OAAQ,SAAUnH,EAAQzD,EAAOC,EAAQqW,EAAIkmE,GAEzCx8E,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEnB,IAAIqZ,EAAS,EAAam5B,SAAS0mD,cAAc,UAAYv1F,EAAOqF,WAAW2B,OAAOnH,EAAQzD,EAAOC,GAWrG,MATkB,iBAAPqW,GAA0B,KAAPA,IAE1BgD,EAAOhD,GAAKA,GAGhBgD,EAAOtZ,MAAQA,EACfsZ,EAAOrZ,OAASA,EAChBqZ,EAAOoE,MAAMiuF,QAAU,QAEhBryF,GAWX64B,mBAAoB,SAAU74B,EAAQb,GAMlC,OAJAA,EAAQA,GAAS,aAEjBa,EAAOoE,MAAMw0B,gBAAkBz5B,EAExBa,GAWXi5B,eAAgB,SAAUj5B,EAAQ9P,GAQ9B,OANAA,EAAQA,GAAS,OAEjB8P,EAAOoE,MAAMkuF,cAAgBpiG,EAC7B8P,EAAOoE,MAAM,mBAAqBlU,EAClC8P,EAAOoE,MAAM,gBAAkBlU,EAExB8P,GAWXg5B,cAAe,SAAUh5B,EAAQ9P,GAY7B,OAVAA,EAAQA,GAAS,OAEjB8P,EAAOoE,MAAM,yBAA2BlU,EACxC8P,EAAOoE,MAAM,uBAAyBlU,EACtC8P,EAAOoE,MAAM,sBAAwBlU,EACrC8P,EAAOoE,MAAM,oBAAsBlU,EACnC8P,EAAOoE,MAAM,mBAAqBlU,EAClC8P,EAAOoE,MAAM,eAAiBlU,EAC9B8P,EAAOoE,MAAM,+BAAiC,mBAEvCpE,GAaXuoC,SAAU,SAAUvoC,EAAQ7V,EAAQooG,GAEhC,IAAIzhG,EA+BJ,YA7BuBzB,IAAnBkjG,IAAgCA,GAAiB,GAEjDpoG,IAEsB,iBAAXA,EAGP2G,EAASqoC,SAASq5D,eAAeroG,GAEV,iBAAXA,GAA2C,IAApBA,EAAOwyB,WAG1C7rB,EAAS3G,IAKZ2G,IAEDA,EAASqoC,SAAS8B,MAGlBs3D,GAAkBzhG,EAAOsT,QAEzBtT,EAAOsT,MAAMquF,SAAW,UAG5B3hG,EAAO4hG,YAAY1yF,GAEZA,GASXqpC,cAAe,SAAUrpC,GAEjBA,EAAO2yF,YAEP3yF,EAAO2yF,WAAWhhG,YAAYqO,IAiBtCrI,aAAc,SAAUf,EAASy0E,EAAYC,EAAY59D,EAAQE,EAAQ29D,EAAOC,GAI5E,OAFA50E,EAAQe,aAAa+V,EAAQ69D,EAAOC,EAAO59D,EAAQy9D,EAAYC,GAExD10E,GAeXu0E,oBAAqB,SAAUv0E,EAAS1G,GAEpC,IAAI/C,EAAI7C,EAAOioB,OAAOC,mBAAmB5b,GAOzC,OALIzJ,IAEAyJ,EAAQzJ,GAAK+C,GAGV0G,GAUX4b,mBAAoB,SAAU5b,GAE1B,IAAIg8F,GAAW,IAAK,UAAW,MAAO,OAAQ,MAE9C,IAAK,IAAIC,KAAUD,EACnB,CACI,IAAIzlG,EAAIylG,EAAOC,GAAU,uBAEzB,GAAI1lG,KAAKyJ,EAEL,OAAOzJ,EAIf,OAAO,MAUX+9E,oBAAqB,SAAUt0E,GAE3B,IAAIzJ,EAAI7C,EAAOioB,OAAOC,mBAAmB5b,GAEzC,GAAIzJ,EAEA,OAAOyJ,EAAQzJ,IAgBvB86C,uBAAwB,SAAUjoC,GAI9B,IAAK,IAFD8yF,GAAU,4BAA6B,mBAAoB,cAAe,aAErEtnG,EAAI,EAAGA,EAAIsnG,EAAMrnG,OAAQD,IAE9BwU,EAAOoE,MAAM,mBAAqB0uF,EAAMtnG,GAK5C,OAFAwU,EAAOoE,MAAM2uF,oBAAsB,mBAE5B/yF,GAWXgzF,yBAA0B,SAAUhzF,GAKhC,OAHAA,EAAOoE,MAAM,mBAAqB,OAClCpE,EAAOoE,MAAM2uF,oBAAsB,UAE5B/yF,IAmBf1V,EAAO88C,sBAAwB,SAAUv7C,EAAMs7C,QAEnB93C,IAApB83C,IAAiCA,GAAkB,GAKvDr+C,KAAK+C,KAAOA,EAMZ/C,KAAKw7C,WAAY,EAKjBx7C,KAAKq+C,gBAAkBA,EASvB,IAAK,IAPD8rD,GACA,KACA,MACA,SACA,KAGKpmG,EAAI,EAAGA,EAAIomG,EAAQxnG,SAAWyN,OAAOg6F,sBAAuBrmG,IAEjEqM,OAAOg6F,sBAAwBh6F,OAAO+5F,EAAQpmG,GAAK,yBACnDqM,OAAOi6F,qBAAuBj6F,OAAO+5F,EAAQpmG,GAAK,yBAA2BqM,OAAO+5F,EAAQpmG,GAAK,+BAOrG/D,KAAKsqG,eAAgB,EAMrBtqG,KAAKuqG,QAAU,KAMfvqG,KAAKwqG,WAAa,MAGtBhpG,EAAO88C,sBAAsBh8C,WAMzBgK,MAAO,WAEHtM,KAAKw7C,WAAY,EAEjB,IAAI9O,EAAQ1sC,MAEPoQ,OAAOg6F,uBAAyBpqG,KAAKq+C,iBAEtCr+C,KAAKsqG,eAAgB,EAErBtqG,KAAKuqG,QAAU,WAEX,OAAO79D,EAAM+9D,oBAGjBzqG,KAAKwqG,WAAap6F,OAAOg0F,WAAWpkG,KAAKuqG,QAAS,KAIlDvqG,KAAKsqG,eAAgB,EAErBtqG,KAAKuqG,QAAU,SAAUhlE,GAErB,OAAOmH,EAAMg+D,UAAUnlE,IAG3BvlC,KAAKwqG,WAAap6F,OAAOg6F,sBAAsBpqG,KAAKuqG,WAQ5DG,UAAW,SAAUC,GAEb3qG,KAAKw7C,YAGLx7C,KAAK+C,KAAKoiC,OAAOzhC,KAAKmsB,MAAM86E,IAE5B3qG,KAAKwqG,WAAap6F,OAAOg6F,sBAAsBpqG,KAAKuqG,WAQ5DE,iBAAkB,WAEVzqG,KAAKw7C,YAELx7C,KAAK+C,KAAKoiC,OAAOmI,KAAK4P,OAEtBl9C,KAAKwqG,WAAap6F,OAAOg0F,WAAWpkG,KAAKuqG,QAASvqG,KAAK+C,KAAKwiC,KAAKqlE,cAQzEz+F,KAAM,WAEEnM,KAAKsqG,cAELO,aAAa7qG,KAAKwqG,YAIlBp6F,OAAOi6F,qBAAqBrqG,KAAKwqG,YAGrCxqG,KAAKw7C,WAAY,GAQrBsvD,aAAc,WAEV,OAAO9qG,KAAKsqG,eAQhBS,MAAO,WAEH,OAA+B,IAAvB/qG,KAAKsqG,gBAKrB9oG,EAAO88C,sBAAsBh8C,UAAUC,YAAcf,EAAO88C,sBAkB5D98C,EAAOkC,MAOHC,IAAe,EAAVD,KAAKsxB,GAOV1wB,QAAmB,GAAVZ,KAAKsxB,GAMdg2E,WAAYtnG,KAAKsxB,GAAK,IAMtBi2E,WAAY,IAAMvnG,KAAKsxB,GASvByB,SAAU,SAAUy0E,GAEhB,OAAOA,EAAU1pG,EAAOkC,KAAKsnG,YAUjChuE,SAAU,SAAUmuE,GAEhB,OAAOA,EAAU3pG,EAAOkC,KAAKunG,YAWjCzL,kBAAmB,SAAUp4F,GAEzB,GAAIA,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,GAG/B,OAAOA,EAMP,IAFA,IAAIwxB,EAAS,EAENA,EAASxxB,GAEZwxB,IAAW,EAGf,OAAOA,GAYfhd,aAAc,SAAUhe,EAAOC,GAE3B,OAAQD,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,IAA3BA,EAAUA,EAAS,IAY1F80B,OAAQ,SAAU2G,EAAKrzB,GAKnB,QAHYM,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,GAE3BqzB,IAAQrzB,EAER,OAAOqzB,EAGX,GAAIA,EAAMrzB,EACV,CACI,IAAI0H,EAAO2rB,EACXA,EAAMrzB,EACNA,EAAM0H,EAGV,OAAQjK,KAAKivB,UAAY1sB,EAAMqzB,GAAOA,GAY1C8hB,QAAS,SAAU9hB,EAAKrzB,GAKpB,QAHYM,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,GAE3BqzB,IAAQrzB,EAER,OAAOqzB,EAGX,GAAIA,EAAMrzB,EACV,CACI,IAAI0H,EAAO2rB,EACXA,EAAMrzB,EACNA,EAAM0H,EAMV,OAHA2rB,EAAM51B,KAAKwC,KAAKozB,GAChBrzB,EAAMvC,KAAKmsB,MAAM5pB,GAEVvC,KAAKmsB,MAAMnsB,KAAKivB,UAAY1sB,EAAMqzB,EAAM,IAAMA,GAYzDF,WAAY,SAAUl2B,EAAGC,EAAGg2B,GAIxB,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCz1B,KAAKizB,IAAIzzB,EAAIC,GAAKg2B,GAY7BiyE,cAAe,SAAUloG,EAAGC,EAAGg2B,GAI3B,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCj2B,EAAIC,EAAIg2B,GAYnBkyE,iBAAkB,SAAUnoG,EAAGC,EAAGg2B,GAI9B,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCj2B,EAAIC,EAAIg2B,GAWnBmyE,UAAW,SAAU/4E,EAAK4G,GAItB,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCz1B,KAAKwC,KAAKqsB,EAAM4G,IAW3BoyE,WAAY,SAAUh5E,EAAK4G,GAIvB,YAFgB5yB,IAAZ4yB,IAAyBA,EAAU,MAEhCz1B,KAAKmsB,MAAM0C,EAAM4G,IAU5BqyE,QAAS,WAKL,IAAK,IAHDhoB,EAAM,EACN1yD,EAAMR,UAAU3tB,OAEXD,EAAI,EAAGA,EAAIouB,EAAKpuB,IAErB8gF,IAASlzD,UAAU5tB,GAGvB,OAAO8gF,EAAM1yD,GAQjB26E,MAAO,SAAUp0E,GAEb,OAAOA,EAAI,GAcfq0E,OAAQ,SAAUllE,EAAOmlE,EAAKr/F,GAI1B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARq/F,EAEOnlE,GAGXA,GAASl6B,EACTk6B,EAAQmlE,EAAMjoG,KAAK+xB,MAAM+Q,EAAQmlE,GAE1Br/F,EAAQk6B,IAenBolE,YAAa,SAAUplE,EAAOmlE,EAAKr/F,GAI/B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARq/F,EAEOnlE,GAGXA,GAASl6B,EACTk6B,EAAQmlE,EAAMjoG,KAAKmsB,MAAM2W,EAAQmlE,GAE1Br/F,EAAQk6B,IAenBgtD,WAAY,SAAUhtD,EAAOmlE,EAAKr/F,GAI9B,YAFc/F,IAAV+F,IAAuBA,EAAQ,GAEvB,IAARq/F,EAEOnlE,GAGXA,GAASl6B,EACTk6B,EAAQmlE,EAAMjoG,KAAKwC,KAAKsgC,EAAQmlE,GAEzBr/F,EAAQk6B,IAsCnBqlE,QAAS,SAAUzkG,EAAO0kG,EAAO1xF,QAEf7T,IAAVulG,IAAuBA,EAAQ,QACtBvlG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKqoG,IAAI3xF,GAAO0xF,GAExB,OAAOpoG,KAAK+xB,MAAMruB,EAAQpE,GAAKA,GAanCgpG,QAAS,SAAU5kG,EAAO0kG,EAAO1xF,QAEf7T,IAAVulG,IAAuBA,EAAQ,QACtBvlG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKqoG,IAAI3xF,GAAO0xF,GAExB,OAAOpoG,KAAKmsB,MAAMzoB,EAAQpE,GAAKA,GAanCipG,OAAQ,SAAU7kG,EAAO0kG,EAAO1xF,QAEd7T,IAAVulG,IAAuBA,EAAQ,QACtBvlG,IAAT6T,IAAsBA,EAAO,IAEjC,IAAIpX,EAAIU,KAAKqoG,IAAI3xF,GAAO0xF,GAExB,OAAOpoG,KAAKwC,KAAKkB,EAAQpE,GAAKA,GAWlC4sB,MAAO,SAAUxoB,GAEb,OAAK8kG,SAAS9kG,GAKNA,EAAQA,EAAQ,IAAOA,EAAQ,GAAK,EAAc,IAAVA,EAAcA,EAAQ,GAH3DA,GAgBf+kG,cAAe,SAAUC,EAAcC,EAAalqE,GAIhD,YAFa57B,IAAT47B,IAAsBA,EAAO,KAE7BiqE,IAAiBC,EAEVD,GAGP1oG,KAAKizB,IAAI01E,EAAcD,IAAiBjqE,GAAQz+B,KAAKizB,IAAI01E,EAAcD,IAAkB5qG,EAAOkC,KAAKC,IAAMw+B,EAE3GiqE,EAAeC,GAIX3oG,KAAKizB,IAAI01E,EAAcD,GAAgB1oG,KAAKsxB,KAExCq3E,EAAcD,EAEdC,GAAe7qG,EAAOkC,KAAKC,IAI3B0oG,GAAe7qG,EAAOkC,KAAKC,KAI/B0oG,EAAcD,EAEdA,GAAgBjqE,EAEXkqE,EAAcD,IAEnBA,GAAgBjqE,IAIjBiqE,IAkBXE,iBAAkB,SAAUC,EAAQC,GAEhC,IAAIhO,EAAagO,EAASD,EAE1B,OAAmB,IAAf/N,EAEO,EAKJA,EAAsB,IAFjB96F,KAAKmsB,OAAO2uE,IAAe,KAAQ,MAenDiO,aAAc,SAAUnhG,EAAIC,EAAIC,EAAIC,GAEhC,OAAO/H,KAAKq5B,MAAMtxB,EAAKF,EAAIC,EAAKF,IAgBpCohG,cAAe,SAAUphG,EAAIC,EAAIC,EAAIC,GAEjC,OAAO/H,KAAKq5B,MAAMvxB,EAAKF,EAAIG,EAAKF,IAWpCohG,mBAAoB,SAAU3f,EAAQC,GAElC,OAAOvpF,KAAKq5B,MAAMkwD,EAAOjpF,EAAIgpF,EAAOhpF,EAAGipF,EAAOlpF,EAAIipF,EAAOjpF,IAU7D6oG,oBAAqB,SAAU5f,EAAQC,GAEnC,OAAOvpF,KAAKq5B,MAAMkwD,EAAOlpF,EAAIipF,EAAOjpF,EAAGkpF,EAAOjpF,EAAIgpF,EAAOhpF,IAS7D6oG,aAAc,SAAUC,GAEpB,OAAO9sG,KAAK+sG,eAAeD,EAAWppG,KAAKsxB,IAAI,IASnD+3E,eAAgB,SAAUD,GAGtB,OADAA,GAAuB,EAAIppG,KAAKsxB,KACb,EAAI83E,EAAWA,EAAW,EAAIppG,KAAKsxB,IAY1Dg4E,OAAQ,SAAU5lG,EAAO6vC,EAAQhxC,GAE7B,OAAOvC,KAAK41B,IAAIlyB,EAAQ6vC,EAAQhxC,IAYpCgnG,OAAQ,SAAU7lG,EAAO6vC,EAAQ3d,GAE7B,OAAO51B,KAAKuC,IAAImB,EAAQ6vC,EAAQ3d,IAcpCW,KAAM,SAAU7yB,EAAOkyB,EAAKrzB,GAExB,IAAI8D,EAAQ9D,EAAMqzB,EAElB,GAAIvvB,GAAS,EAET,OAAO,EAGX,IAAI6uB,GAAUxxB,EAAQkyB,GAAOvvB,EAO7B,OALI6uB,EAAS,IAETA,GAAU7uB,GAGP6uB,EAASU,GAcpB4zE,UAAW,SAAU9lG,EAAO6vC,EAAQhxC,GAQhC,OALAmB,EAAQ1D,KAAKizB,IAAIvvB,GACjB6vC,EAASvzC,KAAKizB,IAAIsgB,GAClBhxC,EAAMvC,KAAKizB,IAAI1wB,IACPmB,EAAQ6vC,GAAUhxC,GAY9BknG,MAAO,SAAU91E,GAGb,SAAc,EAAJA,IAUd+1E,OAAQ,SAAU/1E,GAGd,QAAa,EAAJA,IAYbiC,IAAK,WAED,GAAyB,IAArBhJ,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAGf,IAAK,IAAI5tB,EAAI,EAAG42B,EAAM,EAAGxI,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAK0R,EAAKklB,KAEfA,EAAM52B,GAId,OAAO0R,EAAKklB,IAYhBrzB,IAAK,WAED,GAAyB,IAArBqqB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAGf,IAAK,IAAI5tB,EAAI,EAAGuD,EAAM,EAAG6qB,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAK0R,EAAKnO,KAEfA,EAAMvD,GAId,OAAO0R,EAAKnO,IAUhBonG,YAAa,SAAUr2D,GAEnB,GAAyB,IAArB1mB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAAUN,MAAM,GAG/B,IAAK,IAAIttB,EAAI,EAAG42B,EAAM,EAAGxI,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAGs0C,GAAY5iC,EAAKklB,GAAK0d,KAE9B1d,EAAM52B,GAId,OAAO0R,EAAKklB,GAAK0d,IAUrBs2D,YAAa,SAAUt2D,GAEnB,GAAyB,IAArB1mB,UAAU3tB,QAAwC,iBAAjB2tB,UAAU,GAEvClc,EAAOkc,UAAU,QAIrB,IAAIlc,EAAOkc,UAAUN,MAAM,GAG/B,IAAK,IAAIttB,EAAI,EAAGuD,EAAM,EAAG6qB,EAAM1c,EAAKzR,OAAQD,EAAIouB,EAAKpuB,IAE7C0R,EAAK1R,GAAGs0C,GAAY5iC,EAAKnO,GAAK+wC,KAE9B/wC,EAAMvD,GAId,OAAO0R,EAAKnO,GAAK+wC,IAWrBo0B,UAAW,SAAUx1C,EAAOu1E,GAExB,OAAOA,EAAUnrG,KAAKi6B,KAAKrE,GAAQlyB,KAAKsxB,GAAItxB,KAAKsxB,IAAMh1B,KAAKi6B,KAAKrE,GAAQ,IAAK,MAWlF23E,oBAAqB,SAAU1uD,EAAG1nB,GAE9B,IAAIC,EAAIynB,EAAEl8C,OAAS,EACfswB,EAAImE,EAAID,EACRz0B,EAAIgB,KAAKmsB,MAAMoD,GAEnB,OAAIkE,EAAI,EAEGn3B,KAAKk2B,OAAO2oB,EAAE,GAAIA,EAAE,GAAI5rB,GAG/BkE,EAAI,EAEGn3B,KAAKk2B,OAAO2oB,EAAEznB,GAAIynB,EAAEznB,EAAI,GAAIA,EAAInE,GAGpCjzB,KAAKk2B,OAAO2oB,EAAEn8C,GAAIm8C,EAAEn8C,EAAI,EAAI00B,EAAIA,EAAI10B,EAAI,GAAIuwB,EAAIvwB,IAW3D8qG,oBAAqB,SAAU3uD,EAAG1nB,GAK9B,IAAK,IAHDh0B,EAAI,EACJk0B,EAAIwnB,EAAEl8C,OAAS,EAEVD,EAAI,EAAGA,GAAK20B,EAAG30B,IAEpBS,GAAKO,KAAKqoG,IAAI,EAAI50E,EAAGE,EAAI30B,GAAKgB,KAAKqoG,IAAI50E,EAAGz0B,GAAKm8C,EAAEn8C,GAAK1C,KAAKytG,UAAUp2E,EAAG30B,GAG5E,OAAOS,GAWXuqG,wBAAyB,SAAU7uD,EAAG1nB,GAElC,IAAIC,EAAIynB,EAAEl8C,OAAS,EACfswB,EAAImE,EAAID,EACRz0B,EAAIgB,KAAKmsB,MAAMoD,GAEnB,OAAI4rB,EAAE,KAAOA,EAAEznB,IAEPD,EAAI,IAEJz0B,EAAIgB,KAAKmsB,MAAMoD,EAAImE,GAAK,EAAID,KAGzBn3B,KAAK2tG,WAAW9uD,GAAGn8C,EAAI,EAAI00B,GAAKA,GAAIynB,EAAEn8C,GAAIm8C,GAAGn8C,EAAI,GAAK00B,GAAIynB,GAAGn8C,EAAI,GAAK00B,GAAInE,EAAIvwB,IAIjFy0B,EAAI,EAEG0nB,EAAE,IAAM7+C,KAAK2tG,WAAW9uD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAK5rB,GAAK4rB,EAAE,IAG/D1nB,EAAI,EAEG0nB,EAAEznB,IAAMp3B,KAAK2tG,WAAW9uD,EAAEznB,GAAIynB,EAAEznB,GAAIynB,EAAEznB,EAAI,GAAIynB,EAAEznB,EAAI,GAAInE,EAAImE,GAAKynB,EAAEznB,IAGvEp3B,KAAK2tG,WAAW9uD,EAAEn8C,EAAIA,EAAI,EAAI,GAAIm8C,EAAEn8C,GAAIm8C,EAAEznB,EAAI10B,EAAI,EAAI00B,EAAI10B,EAAI,GAAIm8C,EAAEznB,EAAI10B,EAAI,EAAI00B,EAAI10B,EAAI,GAAIuwB,EAAIvwB,IAa/GwzB,OAAQ,SAAUqB,EAAIC,EAAI3G,GAEtB,OAAQ2G,EAAKD,GAAM1G,EAAI0G,GAU3Bk2E,UAAW,SAAUp2E,EAAG30B,GAEpB,OAAO1C,KAAK4tG,UAAUv2E,GAAKr3B,KAAK4tG,UAAUlrG,GAAK1C,KAAK4tG,UAAUv2E,EAAI30B,IAQtEkrG,UAAW,SAAUxmG,GAEjB,GAAc,IAAVA,EAEA,OAAO,EAKX,IAFA,IAAIymG,EAAMzmG,IAEFA,GAEJymG,GAAOzmG,EAGX,OAAOymG,GAeXF,WAAY,SAAUp2E,EAAIC,EAAIwI,EAAI8tE,EAAIj9E,GAElC,IAAIysE,EAAiB,IAAXt9D,EAAKzI,GACXgmE,EAAiB,IAAXuQ,EAAKt2E,GACXk2D,EAAK78D,EAAIA,EAGb,OAAQ,EAAI2G,EAAK,EAAIwI,EAAKs9D,EAAKC,IAFtB1sE,EAAI68D,KAE+B,EAAIl2D,EAAK,EAAIwI,EAAK,EAAIs9D,EAAKC,GAAM7P,EAAK4P,EAAKzsE,EAAI2G,GAW/FgnE,WAAY,SAAUt7F,EAAGC,GAErB,OAAOO,KAAKizB,IAAIzzB,EAAIC,IAUxB4qG,kBAAmB,SAAU3mG,GAGzB,OAAQA,EAAQ,EAAK1D,KAAKwC,KAAKkB,GAAS1D,KAAKmsB,MAAMzoB,IAgBvD4mG,gBAAiB,SAAUrrG,EAAQsrG,EAAcC,EAAcC,QAEtC5nG,IAAjB0nG,IAA8BA,EAAe,QAC5B1nG,IAAjB2nG,IAA8BA,EAAe,QAC/B3nG,IAAd4nG,IAA2BA,EAAY,GAS3C,IAAK,IAPDtqG,EAAMoqG,EACNnqG,EAAMoqG,EACNE,EAAMD,EAAYzqG,KAAKsxB,GAAKryB,EAE5B0rG,KACAC,KAEKlrG,EAAI,EAAGA,EAAIT,EAAQS,IAGxBS,IADAC,GAAOD,EAAMuqG,GACAA,EAEbC,EAASjrG,GAAKU,EACdwqG,EAASlrG,GAAKS,EAGlB,OAASA,IAAKyqG,EAAUxqG,IAAKuqG,EAAU1rG,OAAQA,IAWnD4rG,MAAO,SAAUrrG,EAAGC,GAEhB,OAAOO,KAAKS,KAAKjB,EAAIA,EAAIC,EAAIA,IAajCqyB,SAAU,SAAUlqB,EAAIC,EAAIC,EAAIC,GAE5B,IAAI0C,EAAK7C,EAAKE,EACV6C,EAAK9C,EAAKE,EAEd,OAAO/H,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAcpCmgG,WAAY,SAAUljG,EAAIC,EAAIC,EAAIC,GAE9B,IAAI0C,EAAK7C,EAAKE,EACV6C,EAAK9C,EAAKE,EAEd,OAAO0C,EAAKA,EAAKE,EAAKA,GAc1BogG,YAAa,SAAUnjG,EAAIC,EAAIC,EAAIC,EAAIsgG,GAInC,YAFYxlG,IAARwlG,IAAqBA,EAAM,GAExBroG,KAAKS,KAAKT,KAAKqoG,IAAIvgG,EAAKF,EAAIygG,GAAOroG,KAAKqoG,IAAItgG,EAAKF,EAAIwgG,KAYhEtvE,MAAO,SAAUoiB,EAAGvlB,EAAKrzB,GAErB,OAAI44C,EAAIvlB,EAEGA,EAEFrzB,EAAM44C,EAEJ54C,EAIA44C,GAaf6vD,YAAa,SAAU3qG,EAAGb,GAEtB,OAAOa,EAAIb,EAAIA,EAAIa,GAavB4qG,OAAQ,SAAUzrG,EAAGC,EAAGs9B,GAEpB,OAAQ/8B,KAAKizB,IAAIzzB,EAAIC,IAAMs9B,GAc/BmuE,UAAW,SAAU7qG,EAAGm2B,EAAIC,EAAIC,EAAIC,GAEhC,OAAOD,GAAMr2B,EAAIm2B,IAAOG,EAAKD,IAAOD,EAAKD,IAY7C20E,WAAY,SAAU9qG,EAAGu1B,EAAKrzB,GAM1B,OAHAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK41B,IAAI,GAAIv1B,EAAIu1B,IAAQrzB,EAAMqzB,MAGpCv1B,GAAK,EAAI,EAAIA,IAY5B+qG,aAAc,SAAU/qG,EAAGu1B,EAAKrzB,GAI5B,OAFAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK41B,IAAI,GAAIv1B,EAAIu1B,IAAQrzB,EAAMqzB,MAEpCv1B,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAY3CgrG,KAAM,SAAUhrG,GAEZ,OAAQA,EAAI,GAAM,EAAMA,EAAI,EAAK,EAAI,GAYzCirG,QAAS,SAAU9rG,EAAGC,EAAGiX,GAIrB,YAFa7T,IAAT6T,IAAsBA,EAAO,GAE7BlX,EAAIC,GAAKiX,EAAOjX,EAET,EAEFD,EAAIkX,GAAQA,EAAOlX,EAEjB,GAICA,EAAIkX,GAAQjX,IA4BhC3B,EAAOy7C,oBAAsB,SAAUgyD,QAErB1oG,IAAV0oG,IAAuBA,MAM3BjvG,KAAKoD,EAAI,EAMTpD,KAAKkvG,GAAK,EAMVlvG,KAAKooG,GAAK,EAMVpoG,KAAKqoG,GAAK,EAEW,iBAAV4G,EAEPjvG,KAAK2mC,MAAMsoE,GAIXjvG,KAAKmvG,IAAIF,IAIjBztG,EAAOy7C,oBAAoB36C,WASvBojC,IAAK,WAED,IAAI7U,EAAI,QAAU7wB,KAAKkvG,GAAc,uBAATlvG,KAAKoD,EAOjC,OALApD,KAAKoD,EAAQ,EAAJytB,EACT7wB,KAAKkvG,GAAKlvG,KAAKooG,GACfpoG,KAAKooG,GAAKpoG,KAAKqoG,GACfroG,KAAKqoG,GAAKx3E,EAAI7wB,KAAKoD,EAEZpD,KAAKqoG,IAWhB8G,IAAK,SAAUF,GAQX,GALAjvG,KAAKkvG,GAAKlvG,KAAKoyC,KAAK,KACpBpyC,KAAKooG,GAAKpoG,KAAKoyC,KAAKpyC,KAAKkvG,IACzBlvG,KAAKqoG,GAAKroG,KAAKoyC,KAAKpyC,KAAKooG,IACzBpoG,KAAKoD,EAAI,EAEJ6rG,EAML,IAAK,IAAIvsG,EAAI,EAAGA,EAAIusG,EAAMtsG,QAAuB,MAAZssG,EAAMvsG,GAAaA,IACxD,CACI,IAAI06C,EAAO6xD,EAAMvsG,GAEjB1C,KAAKkvG,IAAMlvG,KAAKoyC,KAAKgL,GACrBp9C,KAAKkvG,OAASlvG,KAAKkvG,GAAK,GACxBlvG,KAAKooG,IAAMpoG,KAAKoyC,KAAKgL,GACrBp9C,KAAKooG,OAASpoG,KAAKooG,GAAK,GACxBpoG,KAAKqoG,IAAMroG,KAAKoyC,KAAKgL,GACrBp9C,KAAKqoG,OAASroG,KAAKqoG,GAAK,KAYhCj2D,KAAM,SAAUh+B,GAEZ,IAAImQ,EAAG7hB,EAAG20B,EAIV,IAHAA,EAAI,WACJjjB,EAAOA,EAAKwU,WAEPlmB,EAAI,EAAGA,EAAI0R,EAAKzR,OAAQD,IAGzB6hB,EAAI,oBADJ8S,GAAKjjB,EAAK6wD,WAAWviE,IAGrB6hB,GADA8S,EAAI9S,IAAM,EAGV8S,GADA9S,GAAK8S,KACK,EAEVA,GAAS,YADT9S,GAAK8S,GAIT,OAAmB,wBAAXA,IAAM,IASlB+3E,QAAS,WAEL,OAA8B,WAAvBpvG,KAAK0lC,IAAIngC,MAAMvF,OAS1B2lC,KAAM,WAEF,OAAO3lC,KAAK0lC,IAAIngC,MAAMvF,MAAgD,wBAAhB,QAAvBA,KAAK0lC,IAAIngC,MAAMvF,MAAmB,IASrEqvG,KAAM,WAEF,OAAOrvG,KAAKovG,UAAYpvG,KAAK2lC,QAWjC2pE,eAAgB,SAAUh2E,EAAKrzB,GAE3B,OAAOvC,KAAKmsB,MAAM7vB,KAAKuvG,YAAY,EAAGtpG,EAAMqzB,EAAM,GAAKA,IAY3D8hB,QAAS,SAAU9hB,EAAKrzB,GAEpB,OAAOjG,KAAKsvG,eAAeh2E,EAAKrzB,IAWpCspG,YAAa,SAAUj2E,EAAKrzB,GAExB,OAAOjG,KAAK2lC,QAAU1/B,EAAMqzB,GAAOA,GASvCk2E,OAAQ,WAEJ,OAAO,EAAI,EAAIxvG,KAAK2lC,QASxB4wC,KAAM,WAEF,IAAIrzE,EAAI,GACJC,EAAI,GAER,IAAKA,EAAID,EAAI,GAAIA,IAAM,GAAIC,IAAMD,EAAI,EAAQ,EAAJA,EAAQ,GAAS,GAAJA,EAAS,EAAIlD,KAAK2lC,QAAc,GAAJziC,EAAS,GAAK,GAAK,GAAG0lB,SAAS,IAAM,KAGvH,OAAOzlB,GAUXi3C,KAAM,SAAUq1D,GAEZ,OAAOA,EAAIzvG,KAAKsvG,eAAe,EAAGG,EAAI9sG,OAAS,KASnDosG,KAAM,WAEF,OAAO/uG,KAAKo6C,OAAQ,EAAG,KAU3Bs1D,aAAc,SAAUD,GAEpB,OAAOA,KAAO/rG,KAAKqoG,IAAI/rG,KAAK2lC,OAAQ,IAAM8pE,EAAI9sG,OAAS,GAAK,MAWhEq/D,UAAW,SAAU1oC,EAAKrzB,GAEtB,OAAOjG,KAAKuvG,YAAYj2E,GAAO,UAAcrzB,GAAO,YASxD2vB,MAAO,WAEH,OAAO51B,KAAKsvG,gBAAgB,IAAK,MAoBrC3oE,MAAO,SAAUA,GAYb,MAVqB,iBAAVA,GAAsBA,EAAMskC,MAAM,WAEzCtkC,EAAQA,EAAM9U,MAAM,KAEpB7xB,KAAKoD,EAAIu7B,WAAWgI,EAAM,IAC1B3mC,KAAKkvG,GAAKvwE,WAAWgI,EAAM,IAC3B3mC,KAAKooG,GAAKzpE,WAAWgI,EAAM,IAC3B3mC,KAAKqoG,GAAK1pE,WAAWgI,EAAM,MAGtB,OAAQ3mC,KAAKoD,EAAGpD,KAAKkvG,GAAIlvG,KAAKooG,GAAIpoG,KAAKqoG,IAAKv4F,KAAK,OAKlEtO,EAAOy7C,oBAAoB36C,UAAUC,YAAcf,EAAOy7C,oBAwB1Dz7C,EAAOmuG,SAAW,SAAU5rG,EAAGC,EAAGpG,EAAOC,EAAQ+xG,EAAYC,EAAWhxF,GAMpE7e,KAAK4vG,WAAa,GAMlB5vG,KAAK6vG,UAAY,EAKjB7vG,KAAK6e,MAAQ,EAKb7e,KAAK8E,UAKL9E,KAAK8vG,WAKL9vG,KAAK+vG,SAML/vG,KAAKgwG,UAELhwG,KAAKomC,MAAMriC,EAAGC,EAAGpG,EAAOC,EAAQ+xG,EAAYC,EAAWhxF,IAG3Drd,EAAOmuG,SAASrtG,WAcZ8jC,MAAO,SAAUriC,EAAGC,EAAGpG,EAAOC,EAAQ+xG,EAAYC,EAAWhxF,GAEzD7e,KAAK4vG,WAAaA,GAAc,GAChC5vG,KAAK6vG,UAAYA,GAAa,EAC9B7vG,KAAK6e,MAAQA,GAAS,EAEtB7e,KAAK8E,QACDf,EAAGL,KAAK+xB,MAAM1xB,GACdC,EAAGN,KAAK+xB,MAAMzxB,GACdpG,MAAOA,EACPC,OAAQA,EACRoyG,SAAUvsG,KAAKmsB,MAAMjyB,EAAQ,GAC7BsyG,UAAWxsG,KAAKmsB,MAAMhyB,EAAS,GAC/B61B,MAAOhwB,KAAK+xB,MAAM1xB,GAAKL,KAAKmsB,MAAMjyB,EAAQ,GAC1C04B,OAAQ5yB,KAAK+xB,MAAMzxB,GAAKN,KAAKmsB,MAAMhyB,EAAS,IAGhDmC,KAAK8vG,QAAQntG,OAAS,EACtB3C,KAAK+vG,MAAMptG,OAAS,GASxBwtG,SAAU,SAAU51D,GAEhBA,EAAM5pB,QAAQ3wB,KAAKowG,gBAAiBpwG,MAAM,IAS9CowG,gBAAiB,SAAU9sF,GAEnBA,EAAO6uB,MAAQ7uB,EAAOpW,QAEtBlN,KAAKqwG,OAAO/sF,EAAO6uB,OAS3BtgB,MAAO,WAGH7xB,KAAK+vG,MAAM,GAAK,IAAIvuG,EAAOmuG,SAAS3vG,KAAK8E,OAAO4uB,MAAO1zB,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAOmrG,SAAUjwG,KAAK8E,OAAOorG,UAAWlwG,KAAK4vG,WAAY5vG,KAAK6vG,UAAY7vG,KAAK6e,MAAQ,GAGlK7e,KAAK+vG,MAAM,GAAK,IAAIvuG,EAAOmuG,SAAS3vG,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOd,EAAGhE,KAAK8E,OAAOmrG,SAAUjwG,KAAK8E,OAAOorG,UAAWlwG,KAAK4vG,WAAY5vG,KAAK6vG,UAAY7vG,KAAK6e,MAAQ,GAG9J7e,KAAK+vG,MAAM,GAAK,IAAIvuG,EAAOmuG,SAAS3vG,KAAK8E,OAAOf,EAAG/D,KAAK8E,OAAOwxB,OAAQt2B,KAAK8E,OAAOmrG,SAAUjwG,KAAK8E,OAAOorG,UAAWlwG,KAAK4vG,WAAY5vG,KAAK6vG,UAAY7vG,KAAK6e,MAAQ,GAGnK7e,KAAK+vG,MAAM,GAAK,IAAIvuG,EAAOmuG,SAAS3vG,KAAK8E,OAAO4uB,MAAO1zB,KAAK8E,OAAOwxB,OAAQt2B,KAAK8E,OAAOmrG,SAAUjwG,KAAK8E,OAAOorG,UAAWlwG,KAAK4vG,WAAY5vG,KAAK6vG,UAAY7vG,KAAK6e,MAAQ,IAS3KwxF,OAAQ,SAAUl+D,GAEd,IACIvpC,EADAlG,EAAI,EAIR,GAAqB,MAAjB1C,KAAK+vG,MAAM,KAII,KAFfnnG,EAAQ5I,KAAK61C,SAAS1D,KAW1B,GAFAnyC,KAAK8vG,QAAQhoG,KAAKqqC,GAEdnyC,KAAK8vG,QAAQntG,OAAS3C,KAAK4vG,YAAc5vG,KAAK6e,MAAQ7e,KAAK6vG,UAS3D,IANqB,MAAjB7vG,KAAK+vG,MAAM,IAEX/vG,KAAK6xB,QAIFnvB,EAAI1C,KAAK8vG,QAAQntG,SAIL,KAFfiG,EAAQ5I,KAAK61C,SAAS71C,KAAK8vG,QAAQptG,KAK/B1C,KAAK+vG,MAAMnnG,GAAOynG,OAAOrwG,KAAK8vG,QAAQhnG,OAAOpG,EAAG,GAAG,IAInDA,SA3BJ1C,KAAK+vG,MAAMnnG,GAAOynG,OAAOl+D,IAwCrC0D,SAAU,SAAUjb,GAGhB,IAAIhyB,GAAS,EA8Bb,OA5BIgyB,EAAK72B,EAAI/D,KAAK8E,OAAO4uB,OAASkH,EAAKlH,MAAQ1zB,KAAK8E,OAAO4uB,MAEnDkH,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,QAAUsE,EAAKtE,OAASt2B,KAAK8E,OAAOwxB,OAGzD1tB,EAAQ,EAEHgyB,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,SAG1B1tB,EAAQ,GAGPgyB,EAAK72B,EAAI/D,KAAK8E,OAAO4uB,QAGtBkH,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,QAAUsE,EAAKtE,OAASt2B,KAAK8E,OAAOwxB,OAGzD1tB,EAAQ,EAEHgyB,EAAK52B,EAAIhE,KAAK8E,OAAOwxB,SAG1B1tB,EAAQ,IAITA,GAUX0nG,SAAU,SAAUlhG,GAEhB,GAAIA,aAAkB5N,EAAOS,UAEzB,IAAIsuG,EAAgBvwG,KAAK8vG,QAErBlnG,EAAQ5I,KAAK61C,SAASzmC,OAG9B,CACI,IAAKA,EAAO+iC,KAER,OAAOnyC,KAAKgwG,OAGhB,IAAIO,EAAgBvwG,KAAK8vG,QAErBlnG,EAAQ5I,KAAK61C,SAASzmC,EAAO+iC,MAoBrC,OAjBInyC,KAAK+vG,MAAM,KAKPQ,GAFW,IAAX3nG,EAEgB2nG,EAAclgF,OAAOrwB,KAAK+vG,MAAMnnG,GAAO0nG,SAASlhG,KAOhEmhG,GADAA,GADAA,EAAgBA,EAAclgF,OAAOrwB,KAAK+vG,MAAM,GAAGO,SAASlhG,KAC9BihB,OAAOrwB,KAAK+vG,MAAM,GAAGO,SAASlhG,KAC9BihB,OAAOrwB,KAAK+vG,MAAM,GAAGO,SAASlhG,KAC9BihB,OAAOrwB,KAAK+vG,MAAM,GAAGO,SAASlhG,KAI7DmhG,GAOX31F,MAAO,WAEH5a,KAAK8vG,QAAQntG,OAAS,EAItB,IAFA,IAAID,EAAI1C,KAAK+vG,MAAMptG,OAEZD,KAEH1C,KAAK+vG,MAAMrtG,GAAGkY,QACd5a,KAAK+vG,MAAMjnG,OAAOpG,EAAG,GAGzB1C,KAAK+vG,MAAMptG,OAAS,IAK5BnB,EAAOmuG,SAASrtG,UAAUC,YAAcf,EAAOmuG,SAmD/CnuG,EAAOw8C,IAAM,SAAUj7C,GAEnB/C,KAAK+C,KAAOA,GAGhBvB,EAAOw8C,IAAI17C,WAQPkuG,YAAa,WAET,OAAIpgG,OAAOqgG,UAAYrgG,OAAOqgG,SAASC,SAE5BtgG,OAAOqgG,SAASC,SAGpB,MAaXC,gBAAiB,SAAUC,GAEvB,OAAqD,IAA9CxgG,OAAOqgG,SAASC,SAASrnG,QAAQunG,IAgB5CC,kBAAmB,SAAU79F,EAAK5L,EAAO0pG,EAAUp6B,QAE9BnwE,IAAbuqG,IAA0BA,GAAW,QAC7BvqG,IAARmwE,GAA6B,KAARA,IAAcA,EAAMtmE,OAAOqgG,SAASM,MAE7D,IAAIr7E,EAAS,GACT+iE,EAAK,IAAImM,OAAO,UAAY5xF,EAAM,kBAAmB,MAEzD,GAAIylF,EAAGP,KAAKxhB,GAIJhhD,OAFiB,IAAVtuB,GAAmC,OAAVA,EAEvBsvE,EAAIpiD,QAAQmkE,EAAI,KAAOzlF,EAAM,IAAM5L,EAAQ,QAI3CsvE,EAAIpiD,QAAQmkE,EAAI,QAAQnkE,QAAQ,UAAW,SAI5D,QAAqB,IAAVltB,GAAmC,OAAVA,EACpC,CACI,IAAI4pG,GAAkC,IAAtBt6B,EAAIrtE,QAAQ,KAAc,IAAM,IAC5C+oC,EAAOskC,EAAI7kD,MAAM,KACrB6kD,EAAMtkC,EAAK,GAAK4+D,EAAYh+F,EAAM,IAAM5L,EAEpCgrC,EAAK,KAELskC,GAAO,IAAMtkC,EAAK,IAGtB1c,EAASghD,OAIThhD,EAASghD,EAGb,IAAIo6B,EAMA,OAAOp7E,EAJPtlB,OAAOqgG,SAASM,KAAOr7E,GAgB/Bu7E,eAAgB,SAAUC,QAEJ3qG,IAAd2qG,IAA2BA,EAAY,IAE3C,IAAIx7E,KACAy7E,EAAYV,SAASW,OAAOxe,UAAU,GAAG/gE,MAAM,KAEnD,IAAK,IAAInvB,KAAKyuG,EACd,CACI,IAAIn+F,EAAMm+F,EAAUzuG,GAAGmvB,MAAM,KAE7B,GAAI7e,EAAIrQ,OAAS,EACjB,CACI,GAAIuuG,GAAaA,IAAclxG,KAAKqxG,UAAUr+F,EAAI,IAE9C,OAAOhT,KAAKqxG,UAAUr+F,EAAI,IAI1B0iB,EAAO11B,KAAKqxG,UAAUr+F,EAAI,KAAOhT,KAAKqxG,UAAUr+F,EAAI,KAKhE,OAAO0iB,GAWX27E,UAAW,SAAUjqG,GAEjB,OAAOkqG,mBAAmBlqG,EAAMktB,QAAQ,MAAO,QAKvD9yB,EAAOw8C,IAAI17C,UAAUC,YAAcf,EAAOw8C,IAqB1Cx8C,EAAOm8C,aAAe,SAAU56C,GAK5B/C,KAAK+C,KAAOA,EAaZ/C,KAAKuxG,YAAa,EAMlBvxG,KAAKwxG,WAMLxxG,KAAKyxG,QAELzxG,KAAK0xG,SAEDC,OAAQnwG,EAAOowG,OAAOD,OACtBE,OAAQrwG,EAAOowG,OAAOC,OACtBC,OAAQtwG,EAAOowG,OAAOE,OACtBC,OAAQvwG,EAAOowG,OAAOG,OACtBC,OAAQxwG,EAAOowG,OAAOI,OAEtBC,OAAQzwG,EAAOowG,OAAOK,OAAOC,KAC7BC,KAAM3wG,EAAOowG,OAAOQ,UAAUC,IAC9BC,MAAO9wG,EAAOowG,OAAOU,MAAMD,IAC3BE,MAAO/wG,EAAOowG,OAAOY,QAAQH,IAC7BI,MAAOjxG,EAAOowG,OAAOc,QAAQL,IAC7BM,KAAMnxG,EAAOowG,OAAOgB,WAAWP,IAC/BQ,KAAMrxG,EAAOowG,OAAOkB,YAAYT,IAChCU,KAAMvxG,EAAOowG,OAAOoB,SAASX,IAC7BY,QAASzxG,EAAOowG,OAAOqB,QAAQZ,IAC/Ba,KAAM1xG,EAAOowG,OAAOsB,KAAKb,IACzBc,OAAQ3xG,EAAOowG,OAAOuB,OAAOd,IAE7Be,cAAe5xG,EAAOowG,OAAOQ,UAAUiB,GACvCC,eAAgB9xG,EAAOowG,OAAOU,MAAMe,GACpCE,eAAgB/xG,EAAOowG,OAAOY,QAAQa,GACtCG,eAAgBhyG,EAAOowG,OAAOc,QAAQW,GACtCI,cAAejyG,EAAOowG,OAAOgB,WAAWS,GACxCK,cAAelyG,EAAOowG,OAAOkB,YAAYO,GACzCM,cAAenyG,EAAOowG,OAAOoB,SAASK,GACtCO,iBAAkBpyG,EAAOowG,OAAOqB,QAAQI,GACxCQ,cAAeryG,EAAOowG,OAAOsB,KAAKG,GAClCS,gBAAiBtyG,EAAOowG,OAAOuB,OAAOE,GAEtCU,eAAgBvyG,EAAOowG,OAAOQ,UAAUC,IACxC2B,gBAAiBxyG,EAAOowG,OAAOU,MAAMD,IACrC4B,gBAAiBzyG,EAAOowG,OAAOY,QAAQH,IACvC6B,gBAAiB1yG,EAAOowG,OAAOc,QAAQL,IACvC8B,eAAgB3yG,EAAOowG,OAAOgB,WAAWP,IACzC+B,eAAgB5yG,EAAOowG,OAAOkB,YAAYT,IAC1CgC,eAAgB7yG,EAAOowG,OAAOoB,SAASX,IACvCiC,kBAAmB9yG,EAAOowG,OAAOqB,QAAQZ,IACzCkC,eAAgB/yG,EAAOowG,OAAOsB,KAAKb,IACnCmC,iBAAkBhzG,EAAOowG,OAAOuB,OAAOd,IAEvCoC,iBAAkBjzG,EAAOowG,OAAOQ,UAAUsC,MAC1CC,kBAAmBnzG,EAAOowG,OAAOU,MAAMoC,MACvCE,kBAAmBpzG,EAAOowG,OAAOY,QAAQkC,MACzCG,kBAAmBrzG,EAAOowG,OAAOc,QAAQgC,MACzCI,iBAAkBtzG,EAAOowG,OAAOgB,WAAW8B,MAC3CK,iBAAkBvzG,EAAOowG,OAAOkB,YAAY4B,MAC5CM,iBAAkBxzG,EAAOowG,OAAOoB,SAAS0B,MACzCO,oBAAqBzzG,EAAOowG,OAAOqB,QAAQyB,MAC3CQ,iBAAkB1zG,EAAOowG,OAAOsB,KAAKwB,MACrCS,mBAAoB3zG,EAAOowG,OAAOuB,OAAOuB,OAI7C10G,KAAK+C,KAAKgmC,QAAQ9P,IAAIj5B,KAAKo1G,UAAWp1G,MACtCA,KAAK+C,KAAKkmC,SAAShQ,IAAIj5B,KAAKq1G,WAAYr1G,OAG5CwB,EAAOm8C,aAAar7C,WAOhB63C,OAAQ,WAEJ,OAAOn6C,KAAKwxG,SAOhBvnE,UAAW,WAEP,IAAK,IAAIvnC,EAAI,EAAGA,EAAI1C,KAAKwxG,QAAQ7uG,OAAQD,IAErC1C,KAAKwxG,QAAQ9uG,GAAG4yG,eAAgB,EAGpCt1G,KAAKyxG,SAUTvjC,WAAY,SAAUn8C,EAAKtvB,QAEN8D,IAAb9D,IAA0BA,GAAW,GAKzC,GAAIgF,MAAMC,QAAQqqB,GAEd,IAAKrvB,EAAI,EAAGouB,EAAMiB,EAAIpvB,OAAQD,EAAIouB,EAAKpuB,IAEnC1C,KAAKkuE,WAAWn8C,EAAIrvB,SAGvB,GAAIqvB,EAAIve,OAAShS,EAAOirB,OAAShqB,EAElC,IAAK,IAAIC,EAAI,EAAGouB,EAAMiB,EAAItvB,SAASE,OAAQD,EAAIouB,EAAKpuB,IAEhD1C,KAAKkuE,WAAWn8C,EAAItvB,SAASC,QAIrC,CACI,IAAKA,EAAI,EAAGouB,EAAM9wB,KAAKwxG,QAAQ7uG,OAAQD,EAAIouB,EAAKpuB,IAExCqvB,IAAQ/xB,KAAKwxG,QAAQ9uG,GAAGsF,QAExBhI,KAAKmc,OAAOnc,KAAKwxG,QAAQ9uG,IAIjC,IAAKA,EAAI,EAAGouB,EAAM9wB,KAAKyxG,KAAK9uG,OAAQD,EAAIouB,EAAKpuB,IAErCqvB,IAAQ/xB,KAAKyxG,KAAK/uG,GAAGsF,QAErBhI,KAAKmc,OAAOnc,KAAKyxG,KAAK/uG,MAatCu2B,IAAK,SAAUk7C,GAEXA,EAAMohC,SAAWv1G,KACjBA,KAAKyxG,KAAK3pG,KAAKqsE,IAUnB3rE,OAAQ,SAAUixC,GAEd,OAAO,IAAIj4C,EAAOq1E,MAAMp9B,EAAQz5C,KAAK+C,KAAM/C,OAS/Cmc,OAAQ,SAAUg4D,GAEd,IAAIzxE,EAAI1C,KAAKwxG,QAAQnoG,QAAQ8qE,IAElB,IAAPzxE,EAEA1C,KAAKwxG,QAAQ9uG,GAAG4yG,eAAgB,GAMrB,KAFX5yG,EAAI1C,KAAKyxG,KAAKpoG,QAAQ8qE,MAIlBn0E,KAAKyxG,KAAK/uG,GAAG4yG,eAAgB,IAWzCnwE,OAAQ,WAEJ,IAAIqwE,EAAYx1G,KAAKyxG,KAAK9uG,OACtB8yG,EAAYz1G,KAAKwxG,QAAQ7uG,OAE7B,GAAkB,IAAd8yG,GAAiC,IAAdD,EAEnB,OAAO,EAKX,IAFA,IAAI9yG,EAAI,EAEDA,EAAI+yG,GAEHz1G,KAAKwxG,QAAQ9uG,GAAGyiC,OAAOnlC,KAAK+C,KAAKwiC,KAAKA,MAEtC7iC,KAIA1C,KAAKwxG,QAAQ1oG,OAAOpG,EAAG,GAEvB+yG,KAWR,OANID,EAAY,IAEZx1G,KAAKwxG,QAAUxxG,KAAKwxG,QAAQnhF,OAAOrwB,KAAKyxG,MACxCzxG,KAAKyxG,KAAK9uG,OAAS,IAGhB,GAaX+yG,WAAY,SAAUj8D,EAAQk8D,GAI1B,OAFKA,IAAkBA,GAAiB,GAEjC31G,KAAKwxG,QAAQoE,KAAK,SAAUzhC,GAE/B,OAAQA,EAAMnsE,SAAWyxC,KAAak8D,GAAmBxhC,EAAM34B,YAAc24B,EAAMmhC,kBAU3FF,UAAW,WAEP,IAAK,IAAI1yG,EAAI1C,KAAKwxG,QAAQ7uG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKwxG,QAAQ9uG,GAAGmzG,UAUxBR,WAAY,WAER,IAAK,IAAI3yG,EAAI1C,KAAKwxG,QAAQ7uG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKwxG,QAAQ9uG,GAAGozG,WASxBC,SAAU,WAEN,IAAK,IAAIrzG,EAAI1C,KAAKwxG,QAAQ7uG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKwxG,QAAQ9uG,GAAGsmC,SASxBgtE,UAAW,WAEP,IAAK,IAAItzG,EAAI1C,KAAKwxG,QAAQ7uG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKwxG,QAAQ9uG,GAAGwmC,QAAO,IAS/B1mC,QAAS,WAELxC,KAAK+C,KAAKgmC,QAAQ5sB,OAAOnc,KAAKo1G,UAAWp1G,MACzCA,KAAK+C,KAAKkmC,SAAS9sB,OAAOnc,KAAKq1G,WAAYr1G,MAE3CA,KAAK+C,KAAO,KACZ/C,KAAKyxG,KAAO,KACZzxG,KAAKwxG,QAAU,OAKvBhwG,EAAOm8C,aAAar7C,UAAUC,YAAcf,EAAOm8C,aAqBnDn8C,EAAOq1E,MAAQ,SAAU7uE,EAAQjF,EAAMkzG,GAKnCj2G,KAAK+C,KAAOA,EAKZ/C,KAAKgI,OAASA,EAKdhI,KAAKi2G,QAAUA,EAKfj2G,KAAKk2G,YASLl2G,KAAKse,SAAU,EASfte,KAAKm2G,UAAY,EAKjBn2G,KAAKo2G,cAAgB,EAOrBp2G,KAAKs1G,eAAgB,EAOrBt1G,KAAKq2G,QAAU,IAAI70G,EAAO6gC,OAQ1BriC,KAAKs2G,OAAS,IAAI90G,EAAO6gC,OAOzBriC,KAAKu2G,SAAW,IAAI/0G,EAAO6gC,OAQ3BriC,KAAKw2G,gBAAkB,IAAIh1G,EAAO6gC,OAOlCriC,KAAKy2G,WAAa,IAAIj1G,EAAO6gC,OAM7BriC,KAAKw7C,WAAY,EAOjBx7C,KAAKgoC,QAAU,EAKfhoC,KAAKm2F,cAKLn2F,KAAK02G,aAAe,KAMpB12G,KAAK22G,UAAW,EAgBhB32G,KAAKuxG,WAAa0E,EAAQ1E,WAO1BvxG,KAAK42G,kBAAoB,KAOzB52G,KAAK62G,yBAA2B,KAOhC72G,KAAK82G,YAAc,EAMnB92G,KAAKm8C,aAAc,EAMnBn8C,KAAK+2G,aAAc,GAwBvBv1G,EAAOq1E,MAAM7kC,YAAc,SAAUmiC,GAEjC3yE,EAAO2e,MAAM6xB,YAAYmiC,EAAMnsE,SAGnCxG,EAAOq1E,MAAMv0E,WAkBT6uB,GAAI,SAAUglE,EAAYtzD,EAAUm0E,EAAM7tE,EAAWwuB,EAAOhjD,EAAQsiG,GAchE,YAZiB1wG,IAAbs8B,GAA0BA,GAAY,KAAKA,EAAW,UAC7Ct8B,IAATywG,GAA+B,OAATA,IAAiBA,EAAOx1G,EAAOowG,OAAOsF,cAC9C3wG,IAAd4iC,IAA2BA,GAAY,QAC7B5iC,IAAVoxD,IAAuBA,EAAQ,QACpBpxD,IAAXoO,IAAwBA,EAAS,QACxBpO,IAAT0wG,IAAsBA,GAAO,GAEb,iBAATD,GAAqBh3G,KAAKi2G,QAAQvE,QAAQsF,KAEjDA,EAAOh3G,KAAKi2G,QAAQvE,QAAQsF,IAG5Bh3G,KAAKw7C,WAELl7C,QAAQ+Z,KAAK,sDACNra,OAGXA,KAAKk2G,SAASpuG,KAAK,IAAItG,EAAO21G,UAAUn3G,MAAMmxB,GAAGglE,EAAYtzD,EAAUm0E,EAAMr/C,EAAOhjD,EAAQsiG,IAExF9tE,GAEAnpC,KAAKsM,QAGFtM,OAmBXyF,KAAM,SAAU0wF,EAAYtzD,EAAUm0E,EAAM7tE,EAAWwuB,EAAOhjD,EAAQsiG,GAclE,YAZiB1wG,IAAbs8B,IAA0BA,EAAW,UAC5Bt8B,IAATywG,GAA+B,OAATA,IAAiBA,EAAOx1G,EAAOowG,OAAOsF,cAC9C3wG,IAAd4iC,IAA2BA,GAAY,QAC7B5iC,IAAVoxD,IAAuBA,EAAQ,QACpBpxD,IAAXoO,IAAwBA,EAAS,QACxBpO,IAAT0wG,IAAsBA,GAAO,GAEb,iBAATD,GAAqBh3G,KAAKi2G,QAAQvE,QAAQsF,KAEjDA,EAAOh3G,KAAKi2G,QAAQvE,QAAQsF,IAG5Bh3G,KAAKw7C,WAELl7C,QAAQ+Z,KAAK,wDACNra,OAGXA,KAAKk2G,SAASpuG,KAAK,IAAItG,EAAO21G,UAAUn3G,MAAMyF,KAAK0wF,EAAYtzD,EAAUm0E,EAAMr/C,EAAOhjD,EAAQsiG,IAE1F9tE,GAEAnpC,KAAKsM,QAGFtM,OAcXsM,MAAO,SAAU1D,GAIb,QAFcrC,IAAVqC,IAAuBA,EAAQ,GAE/B5I,KAAKs1G,cAGL,OADAh1G,QAAQ+Z,KAAK,wDACNra,KAGX,GAAkB,OAAdA,KAAK+C,MAAiC,OAAhB/C,KAAKgI,QAA4C,IAAzBhI,KAAKk2G,SAASvzG,QAAgB3C,KAAKw7C,UAEjF,OAAOx7C,KAIX,IAAS0C,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAGtC,IAAK,IAAIs0C,KAAYh3C,KAAKk2G,SAASxzG,GAAG00G,KAElCp3G,KAAKm2F,WAAWn/C,GAAYh3C,KAAKgI,OAAOgvC,IAAa,EAEhDvvC,MAAMC,QAAQ1H,KAAKm2F,WAAWn/C,MAG/Bh3C,KAAKm2F,WAAWn/C,IAAa,GAKzC,IAAK,IAAIt0C,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAEtC1C,KAAKk2G,SAASxzG,GAAG20G,aAgBrB,OAbAr3G,KAAKi2G,QAAQh9E,IAAIj5B,MAEjBA,KAAKw7C,WAAY,GAEb5yC,EAAQ,GAAKA,EAAQ5I,KAAKk2G,SAASvzG,OAAS,KAE5CiG,EAAQ,GAGZ5I,KAAKgoC,QAAUp/B,EAEf5I,KAAKk2G,SAASl2G,KAAKgoC,SAAS17B,QAErBtM,MAaXmM,KAAM,SAAUie,GAsBZ,YApBiB7jB,IAAb6jB,IAA0BA,GAAW,GAEzCpqB,KAAKw7C,WAAY,EAEjBx7C,KAAK42G,kBAAoB,KACzB52G,KAAK62G,yBAA2B,KAE5BzsF,IAEApqB,KAAKy2G,WAAWhxE,SAASzlC,KAAKgI,OAAQhI,MACtCA,KAAK+2G,aAAc,EAEf/2G,KAAK02G,cAEL12G,KAAK02G,aAAapqG,SAI1BtM,KAAKi2G,QAAQ95F,OAAOnc,MAEbA,MAcXs3G,gBAAiB,SAAUtgE,EAAU5vC,EAAOwB,GAExC,GAA6B,IAAzB5I,KAAKk2G,SAASvzG,OAAgB,OAAO3C,KAIzC,QAFcuG,IAAVqC,IAAuBA,EAAQ,IAEpB,IAAXA,EAEA,IAAK,IAAIlG,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAEtC1C,KAAKk2G,SAASxzG,GAAGs0C,GAAY5vC,OAKjCpH,KAAKk2G,SAASttG,GAAOouC,GAAY5vC,EAGrC,OAAOpH,MAcX23D,MAAO,SAAU90B,EAAUj6B,GAEvB,OAAO5I,KAAKs3G,gBAAgB,QAASz0E,EAAUj6B,IAenD+L,OAAQ,SAAUqkC,EAAOu+D,EAAa3uG,GAOlC,YALoBrC,IAAhBgxG,IAA6BA,EAAc,GAE/Cv3G,KAAKs3G,gBAAgB,gBAAiBt+D,EAAOpwC,GAC7C5I,KAAKs3G,gBAAgB,cAAet+D,EAAOpwC,GAEpC5I,KAAKs3G,gBAAgB,cAAeC,EAAa3uG,IAc5D2uG,YAAa,SAAU10E,EAAUj6B,GAE7B,OAAO5I,KAAKs3G,gBAAgB,cAAez0E,EAAUj6B,IAgBzDquG,KAAM,SAAUj+F,EAAQw+F,EAAW5uG,GAM/B,YAJkBrC,IAAdixG,IAA2BA,EAAY,GAE3Cx3G,KAAKs3G,gBAAgB,OAAQt+F,EAAQpQ,GAE9B5I,KAAKs3G,gBAAgB,YAAaE,EAAW5uG,IAcxD4uG,UAAW,SAAU30E,EAAUj6B,GAE3B,OAAO5I,KAAKs3G,gBAAgB,YAAaz0E,EAAUj6B,IAcvD6uG,OAAQ,SAAUT,EAAMpuG,GAOpB,MALoB,iBAATouG,GAAqBh3G,KAAKi2G,QAAQvE,QAAQsF,KAEjDA,EAAOh3G,KAAKi2G,QAAQvE,QAAQsF,IAGzBh3G,KAAKs3G,gBAAgB,iBAAkBN,EAAMpuG,IAexD8uG,cAAe,SAAUA,EAAe5pG,EAASlF,GAM7C,YAJgBrC,IAAZuH,IAAyBA,EAAUtM,EAAOkC,MAE9C1D,KAAKs3G,gBAAgB,wBAAyBI,EAAe9uG,GAEtD5I,KAAKs3G,gBAAgB,uBAAwBxpG,EAASlF,IAWjE+uG,UAAW,SAAU3+D,GAMjB,YAJczyC,IAAVyyC,IAAuBA,EAAQ,GAEnCh5C,KAAKo2G,cAAgBp9D,EAEdh5C,MAiBX43G,MAAO,WAIH,IAFA,IAAIl1G,EAAI4tB,UAAU3tB,OAEXD,KAECA,EAAI,EAEJ4tB,UAAU5tB,EAAI,GAAGg0G,aAAepmF,UAAU5tB,GAI1C1C,KAAK02G,aAAepmF,UAAU5tB,GAItC,OAAO1C,MAmBXwrE,KAAM,SAAUpkE,GAMZ,YAJcb,IAAVa,IAAuBA,GAAQ,GAEnCpH,KAAKo2G,cAAgB,GAAW,EAAI,EAE7Bp2G,MAmBXqoC,iBAAkB,SAAU2M,EAAU1L,GAKlC,OAHAtpC,KAAK42G,kBAAoB5hE,EACzBh1C,KAAK62G,yBAA2BvtE,EAEzBtpC,MAQXgpC,MAAO,WAEHhpC,KAAK22G,UAAW,EAEhB32G,KAAKm8C,aAAc,EAEnBn8C,KAAK82G,YAAc92G,KAAK+C,KAAKwiC,KAAKA,MAStCswE,OAAQ,WAEC71G,KAAKm8C,cAENn8C,KAAK22G,UAAW,EAEhB32G,KAAK82G,YAAc92G,KAAK+C,KAAKwiC,KAAKA,OAS1C2D,OAAQ,WAEJ,GAAIlpC,KAAK22G,SACT,CACI32G,KAAK22G,UAAW,EAEhB32G,KAAKm8C,aAAc,EAEnB,IAAK,IAAIz5C,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAEjC1C,KAAKk2G,SAASxzG,GAAG84C,YAElBx7C,KAAKk2G,SAASxzG,GAAGm1G,WAAc73G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAK82G,eAW1EhB,QAAS,WAED91G,KAAKm8C,aAMLn8C,KAAKkpC,UAWb/D,OAAQ,SAAUI,GAEd,GAAIvlC,KAAKs1G,gBAAkBt1G,KAAKgI,OAE5B,OAAO,EAGX,GAAIhI,KAAK22G,SAEL,OAAO,EAGX,IAAImB,EAAS93G,KAAKk2G,SAASl2G,KAAKgoC,SAAS7C,OAAOI,GAEhD,GAAIuyE,IAAWt2G,EAAO21G,UAAUY,QAE5B,OAAO,EAEN,GAAID,IAAWt2G,EAAO21G,UAAUa,QAcjC,OAZKh4G,KAAK+2G,cAEN/2G,KAAKq2G,QAAQ5wE,SAASzlC,KAAKgI,OAAQhI,MACnCA,KAAK+2G,aAAc,GAGQ,OAA3B/2G,KAAK42G,mBAEL52G,KAAK42G,kBAAkBpyG,KAAKxE,KAAK62G,yBAA0B72G,KAAMA,KAAKk2G,SAASl2G,KAAKgoC,SAAS5gC,MAAOpH,KAAKk2G,SAASl2G,KAAKgoC,UAIpHhoC,KAAKw7C,UAEX,GAAIs8D,IAAWt2G,EAAO21G,UAAUc,OAWjC,OATmD,IAA/Cj4G,KAAKk2G,SAASl2G,KAAKgoC,SAASouE,cAE5Bp2G,KAAKs2G,OAAO7wE,SAASzlC,KAAKgI,OAAQhI,MAIlCA,KAAKu2G,SAAS9wE,SAASzlC,KAAKgI,OAAQhI,OAGjC,EAEN,GAAI83G,IAAWt2G,EAAO21G,UAAUe,SACrC,CACI,IAAI9tF,GAAW,EAwBf,OArBIpqB,KAAKse,UAELte,KAAKgoC,QAEc,IAEfhoC,KAAKgoC,QAAUhoC,KAAKk2G,SAASvzG,OAAS,EACtCynB,GAAW,KAKfpqB,KAAKgoC,UAEgBhoC,KAAKk2G,SAASvzG,SAE/B3C,KAAKgoC,QAAU,EACf5d,GAAW,GAIfA,GAG4B,IAAxBpqB,KAAKo2G,eAELp2G,KAAKk2G,SAASl2G,KAAKgoC,SAAS17B,QAC5BtM,KAAKs2G,OAAO7wE,SAASzlC,KAAKgI,OAAQhI,OAC3B,GAEFA,KAAKo2G,cAAgB,GAE1Bp2G,KAAKo2G,gBAELp2G,KAAKk2G,SAASl2G,KAAKgoC,SAAS17B,QAC5BtM,KAAKu2G,SAAS9wE,SAASzlC,KAAKgI,OAAQhI,OAC7B,IAKPA,KAAKw7C,WAAY,EACjBx7C,KAAKy2G,WAAWhxE,SAASzlC,KAAKgI,OAAQhI,MACtCA,KAAK+2G,aAAc,EAEf/2G,KAAK02G,cAEL12G,KAAK02G,aAAapqG,SAGf,IAMXtM,KAAKw2G,gBAAgB/wE,SAASzlC,KAAKgI,OAAQhI,MAC3CA,KAAKk2G,SAASl2G,KAAKgoC,SAAS17B,SACrB,KAgBnB6rG,aAAc,SAAU5sC,EAAWn3D,GAE/B,GAAkB,OAAdpU,KAAK+C,MAAiC,OAAhB/C,KAAKgI,OAE3B,OAAO,UAGOzB,IAAdglE,IAA2BA,EAAY,SAC9BhlE,IAAT6N,IAAsBA,MAG1B,IAAS1R,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAGtC,IAAK,IAAIs0C,KAAYh3C,KAAKk2G,SAASxzG,GAAG00G,KAElCp3G,KAAKm2F,WAAWn/C,GAAYh3C,KAAKgI,OAAOgvC,IAAa,EAEhDvvC,MAAMC,QAAQ1H,KAAKm2F,WAAWn/C,MAG/Bh3C,KAAKm2F,WAAWn/C,IAAa,GAKzC,IAASt0C,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAEtC1C,KAAKk2G,SAASxzG,GAAG20G,aAGrB,IAAK,IAAI30G,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAEtC0R,EAAOA,EAAKic,OAAOrwB,KAAKk2G,SAASxzG,GAAGy1G,aAAa5sC,IAGrD,OAAOn3D,IASfpN,OAAOyF,eAAejL,EAAOq1E,MAAMv0E,UAAW,iBAE1C4E,IAAK,WAID,IAAK,IAFD8xC,EAAQ,EAEHt2C,EAAI,EAAGA,EAAI1C,KAAKk2G,SAASvzG,OAAQD,IAEtCs2C,GAASh5C,KAAKk2G,SAASxzG,GAAGmgC,SAG9B,OAAOmW,KAKfx3C,EAAOq1E,MAAMv0E,UAAUC,YAAcf,EAAOq1E,MAiB5Cr1E,EAAO21G,UAAY,SAAU91G,GAKzBrB,KAAKqB,OAASA,EAKdrB,KAAK+C,KAAO1B,EAAO0B,KAMnB/C,KAAKo4G,UAMLp4G,KAAKq4G,eAMLr4G,KAAKo3G,QAMLp3G,KAAKs4G,aAMLt4G,KAAK6iC,SAAW,IAMhB7iC,KAAKgvG,QAAU,EAMfhvG,KAAKoH,MAAQ,EAKbpH,KAAKo2G,cAAgB,EAKrBp2G,KAAKu3G,YAAc,EAMnBv3G,KAAKu4G,YAAc,EAOnBv4G,KAAKi+B,aAAc,EAMnBj+B,KAAKi3G,MAAO,EAKZj3G,KAAKw3G,UAAY,EAMjBx3G,KAAKw4G,WAAY,EAMjBx4G,KAAK23D,MAAQ,EAKb33D,KAAKutF,GAAK,EAKVvtF,KAAK63G,UAAY,KAMjB73G,KAAKy4G,eAAiBj3G,EAAOowG,OAAOsF,QAMpCl3G,KAAK04G,sBAAwBl3G,EAAOkC,KAAK6pG,oBAMzCvtG,KAAK24G,qBAAuBn3G,EAAOkC,KAMnC1D,KAAKw7C,WAAY,EAMjBx7C,KAAK44G,QAAS,GAOlBp3G,EAAO21G,UAAUY,QAAU,EAM3Bv2G,EAAO21G,UAAUa,QAAU,EAM3Bx2G,EAAO21G,UAAUc,OAAS,EAM1Bz2G,EAAO21G,UAAUe,SAAW,EAE5B12G,EAAO21G,UAAU70G,WAeb6uB,GAAI,SAAUglE,EAAYtzD,EAAUm0E,EAAMr/C,EAAOhjD,EAAQsiG,GAWrD,OATAj3G,KAAKo3G,KAAOjhB,EACZn2F,KAAK6iC,SAAWA,EAChB7iC,KAAKy4G,eAAiBzB,EACtBh3G,KAAK23D,MAAQA,EACb33D,KAAKu4G,YAAc5jG,EACnB3U,KAAKi3G,KAAOA,EAEZj3G,KAAK44G,QAAS,EAEP54G,MAgBXyF,KAAM,SAAU0wF,EAAYtzD,EAAUm0E,EAAMr/C,EAAOhjD,EAAQsiG,GAWvD,OATAj3G,KAAKo3G,KAAOjhB,EACZn2F,KAAK6iC,SAAWA,EAChB7iC,KAAKy4G,eAAiBzB,EACtBh3G,KAAK23D,MAAQA,EACb33D,KAAKu4G,YAAc5jG,EACnB3U,KAAKi3G,KAAOA,EAEZj3G,KAAK44G,QAAS,EAEP54G,MASXsM,MAAO,WAsBH,GApBAtM,KAAK63G,UAAY73G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAK23D,MAExC33D,KAAKqB,OAAOid,QAEZte,KAAKutF,GAAKvtF,KAAK6iC,SAIf7iC,KAAKutF,GAAK,EAGVvtF,KAAK23D,MAAQ,EAEb33D,KAAKw7C,WAAY,EAIjBx7C,KAAKw7C,WAAY,EAGjBx7C,KAAK44G,OAGL,IAAK,IAAI5hE,KAAYh3C,KAAKq4G,YAEtBr4G,KAAKo4G,OAAOphE,GAAYh3C,KAAKs4G,UAAUthE,GACvCh3C,KAAKo3G,KAAKpgE,GAAYh3C,KAAKq4G,YAAYrhE,GACvCh3C,KAAKqB,OAAO2G,OAAOgvC,GAAYh3C,KAAKo4G,OAAOphE,GAOnD,OAHAh3C,KAAKoH,MAAQ,EACbpH,KAAKo2G,cAAgBp2G,KAAKu4G,YAEnBv4G,MAUXq3G,WAAY,WAER,IAAK,IAAIrgE,KAAYh3C,KAAKqB,OAAO80F,WACjC,CAKI,GAHAn2F,KAAKo4G,OAAOphE,GAAYh3C,KAAKqB,OAAO80F,WAAWn/C,GAG3CvvC,MAAMC,QAAQ1H,KAAKo3G,KAAKpgE,IAC5B,CACI,GAAmC,IAA/Bh3C,KAAKo3G,KAAKpgE,GAAUr0C,OAEpB,SAGiB,IAAjB3C,KAAKgvG,UAMLhvG,KAAKo3G,KAAKpgE,IAAch3C,KAAKo4G,OAAOphE,IAAY3mB,OAAOrwB,KAAKo3G,KAAKpgE,UAItC,IAAxBh3C,KAAKo3G,KAAKpgE,IAEkB,iBAAxBh3C,KAAKo3G,KAAKpgE,KAGjBh3C,KAAKo3G,KAAKpgE,GAAYh3C,KAAKo4G,OAAOphE,GAAYrY,WAAW3+B,KAAKo3G,KAAKpgE,KAGvEh3C,KAAKqB,OAAO80F,WAAWn/C,GAAYh3C,KAAKo3G,KAAKpgE,IAK7Ch3C,KAAKo3G,KAAKpgE,GAAYh3C,KAAKo4G,OAAOphE,GAGtCh3C,KAAKq4G,YAAYrhE,GAAYh3C,KAAKo4G,OAAOphE,GACzCh3C,KAAKs4G,UAAUthE,GAAYh3C,KAAKo3G,KAAKpgE,GAGzC,OAAOh3C,MAWXmlC,OAAQ,SAAUI,GAEd,GAAKvlC,KAAKw7C,WAcN,GAAIjW,EAAOvlC,KAAK63G,UAEZ,OAAOr2G,EAAO21G,UAAUa,YAfhC,CACI,KAAIzyE,GAAQvlC,KAAK63G,WAMb,OAAOr2G,EAAO21G,UAAUY,QAJxB/3G,KAAKw7C,WAAY,EAgBzB,IAAIq9D,EAAM74G,KAAKqB,OAAiB,WAAIrB,KAAK+C,KAAKwiC,KAAKosC,iBAAmB3xE,KAAK+C,KAAKwiC,KAAKC,UAEjFxlC,KAAKqB,OAAOid,SAEZte,KAAKutF,IAAMsrB,EAAK74G,KAAKqB,OAAO80G,UAC5Bn2G,KAAKutF,GAAK7pF,KAAKuC,IAAIjG,KAAKutF,GAAI,KAI5BvtF,KAAKutF,IAAMsrB,EAAK74G,KAAKqB,OAAO80G,UAC5Bn2G,KAAKutF,GAAK7pF,KAAK41B,IAAIt5B,KAAKutF,GAAIvtF,KAAK6iC,WAGrC7iC,KAAKgvG,QAAUhvG,KAAKutF,GAAKvtF,KAAK6iC,SAE9B7iC,KAAKoH,MAAQpH,KAAKy4G,eAAez4G,KAAKgvG,SAEtC,IAAK,IAAIh4D,KAAYh3C,KAAKo3G,KAC1B,CACI,IAAI9qG,EAAQtM,KAAKo4G,OAAOphE,GACpB37B,EAAMrb,KAAKo3G,KAAKpgE,GAEhBvvC,MAAMC,QAAQ2T,GAEdrb,KAAKqB,OAAO2G,OAAOgvC,GAAYh3C,KAAK04G,sBAAsBl0G,KAAKxE,KAAK24G,qBAAsBt9F,EAAKrb,KAAKoH,OAIpGpH,KAAKqB,OAAO2G,OAAOgvC,GAAY1qC,GAAU+O,EAAM/O,GAAStM,KAAKoH,MAIrE,OAAMpH,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAKgvG,SAAmBhvG,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAKgvG,QAEtEhvG,KAAK2U,SAGTnT,EAAO21G,UAAUa,SAY5BG,aAAc,SAAU5sC,GAEhBvrE,KAAKqB,OAAOid,QAEZte,KAAKutF,GAAKvtF,KAAK6iC,SAIf7iC,KAAKutF,GAAK,EAGd,IAAIn5E,KACAgW,GAAW,EACX0uF,EAAO,EAAIvtC,EAAa,IAE5B,EACA,CACQvrE,KAAKqB,OAAOid,SAEZte,KAAKutF,IAAMurB,EACX94G,KAAKutF,GAAK7pF,KAAKuC,IAAIjG,KAAKutF,GAAI,KAI5BvtF,KAAKutF,IAAMurB,EACX94G,KAAKutF,GAAK7pF,KAAK41B,IAAIt5B,KAAKutF,GAAIvtF,KAAK6iC,WAGrC7iC,KAAKgvG,QAAUhvG,KAAKutF,GAAKvtF,KAAK6iC,SAE9B7iC,KAAKoH,MAAQpH,KAAKy4G,eAAez4G,KAAKgvG,SAEtC,IAAI+J,KAEJ,IAAK,IAAI/hE,KAAYh3C,KAAKo3G,KAC1B,CACI,IAAI9qG,EAAQtM,KAAKo4G,OAAOphE,GACpB37B,EAAMrb,KAAKo3G,KAAKpgE,GAEhBvvC,MAAMC,QAAQ2T,GAEd09F,EAAK/hE,GAAYh3C,KAAK04G,sBAAsBl0G,KAAKxE,KAAK24G,qBAAsBt9F,EAAKrb,KAAKoH,OAItF2xG,EAAK/hE,GAAY1qC,GAAU+O,EAAM/O,GAAStM,KAAKoH,MAIvDgN,EAAKtM,KAAKixG,KAEJ/4G,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAKgvG,SAAmBhvG,KAAKqB,OAAOid,SAA4B,IAAjBte,KAAKgvG,WAE7E5kF,GAAW,UAETA,GAEV,GAAIpqB,KAAKi3G,KACT,CACI,IAAI+B,EAAW5kG,EAAK4b,QACpBgpF,EAAS16F,UACTlK,EAAOA,EAAKic,OAAO2oF,GAGvB,OAAO5kG,GAUXO,OAAQ,WAGJ,GAAI3U,KAAKi3G,KACT,CAEI,GAAIj3G,KAAKw4G,WAAoC,IAAvBx4G,KAAKo2G,cAC3B,CAEI,IAAK,IAAIp/D,KAAYh3C,KAAKq4G,YAEtBr4G,KAAKo4G,OAAOphE,GAAYh3C,KAAKq4G,YAAYrhE,GACzCh3C,KAAKo3G,KAAKpgE,GAAYh3C,KAAKs4G,UAAUthE,GAKzC,OAFAh3C,KAAKw4G,WAAY,EAEVh3G,EAAO21G,UAAUe,SAG5Bl4G,KAAKw4G,WAAax4G,KAAKw4G,eAG3B,GAA2B,IAAvBx4G,KAAKo2G,cAEL,OAAO50G,EAAO21G,UAAUe,SAG5B,GAAIl4G,KAAKw4G,UAGL,IAAK,IAAIxhE,KAAYh3C,KAAKq4G,YAEtBr4G,KAAKo4G,OAAOphE,GAAYh3C,KAAKs4G,UAAUthE,GACvCh3C,KAAKo3G,KAAKpgE,GAAYh3C,KAAKq4G,YAAYrhE,OAI/C,CAEI,IAAK,IAAIA,KAAYh3C,KAAKq4G,YAEtBr4G,KAAKo4G,OAAOphE,GAAYh3C,KAAKq4G,YAAYrhE,GACzCh3C,KAAKo3G,KAAKpgE,GAAYh3C,KAAKs4G,UAAUthE,GAOrCh3C,KAAKo2G,cAAgB,GAErBp2G,KAAKo2G,gBAwBb,OApBAp2G,KAAK63G,UAAY73G,KAAK+C,KAAKwiC,KAAKA,KAE5BvlC,KAAKi3G,MAAQj3G,KAAKw4G,UAElBx4G,KAAK63G,WAAa73G,KAAKw3G,UAEjBx3G,KAAKw4G,YAEXx4G,KAAK63G,WAAa73G,KAAKu3G,aAGvBv3G,KAAKqB,OAAOid,QAEZte,KAAKutF,GAAKvtF,KAAK6iC,SAIf7iC,KAAKutF,GAAK,EAGP/rF,EAAO21G,UAAUc,SAKhCz2G,EAAO21G,UAAU70G,UAAUC,YAAcf,EAAO21G,UAehD31G,EAAOowG,QAOHK,QASIC,KAAM,SAAU/6E,GAEZ,OAAOA,IAUfi7E,WASIiB,GAAI,SAAUl8E,GAEV,OAAOA,EAAIA,GAUfk7E,IAAK,SAAUl7E,GAEX,OAAOA,GAAK,EAAIA,IAUpBu9E,MAAO,SAAUv9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,GAC5B,MAASA,GAAKA,EAAI,GAAK,KAUxCm7E,OASIe,GAAI,SAAUl8E,GAEV,OAAOA,EAAIA,EAAIA,GAUnBk7E,IAAK,SAAUl7E,GAEX,QAASA,EAAIA,EAAIA,EAAI,GAUzBu9E,MAAO,SAAUv9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAClC,KAAQA,GAAK,GAAKA,EAAIA,EAAI,KAUzCq7E,SASIa,GAAI,SAAUl8E,GAEV,OAAOA,EAAIA,EAAIA,EAAIA,GAUvBk7E,IAAK,SAAUl7E,GAEX,OAAO,KAAOA,EAAIA,EAAIA,EAAIA,GAU9Bu9E,MAAO,SAAUv9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAAIA,GACpC,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,KAU/Cu7E,SASIW,GAAI,SAAUl8E,GAEV,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAU3Bk7E,IAAK,SAAUl7E,GAEX,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAUjCu9E,MAAO,SAAUv9E,GAEb,OAAKA,GAAK,GAAK,EAAY,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC1C,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,KAUjDy7E,YASIS,GAAI,SAAUl8E,GAEV,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf,EAAIzzB,KAAKI,IAAIqzB,EAAIzzB,KAAKsxB,GAAK,IAUtCq9E,IAAK,SAAUl7E,GAEX,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACfzzB,KAAKG,IAAIszB,EAAIzzB,KAAKsxB,GAAK,IAUlC0/E,MAAO,SAAUv9E,GAEb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,EACf,IAAO,EAAIzzB,KAAKI,IAAIJ,KAAKsxB,GAAKmC,MAU7C27E,aASIO,GAAI,SAAUl8E,GAEV,OAAa,IAANA,EAAU,EAAIzzB,KAAKqoG,IAAI,KAAM50E,EAAI,IAU5Ck7E,IAAK,SAAUl7E,GAEX,OAAa,IAANA,EAAU,EAAI,EAAIzzB,KAAKqoG,IAAI,GAAK,GAAK50E,IAUhDu9E,MAAO,SAAUv9E,GAEb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GACjBA,GAAK,GAAK,EAAY,GAAMzzB,KAAKqoG,IAAI,KAAM50E,EAAI,GAC7C,IAAuC,EAA9BzzB,KAAKqoG,IAAI,GAAK,IAAM50E,EAAI,OAUhD67E,UASIK,GAAI,SAAUl8E,GAEV,OAAO,EAAIzzB,KAAKS,KAAK,EAAIgzB,EAAIA,IAUjCk7E,IAAK,SAAUl7E,GAEX,OAAOzzB,KAAKS,KAAK,KAAOgzB,EAAIA,IAUhCu9E,MAAO,SAAUv9E,GAEb,OAAKA,GAAK,GAAK,GAAc,IAAOzzB,KAAKS,KAAK,EAAIgzB,EAAIA,GAAK,GACpD,IAAOzzB,KAAKS,KAAK,GAAKgzB,GAAK,GAAKA,GAAK,KAUpD87E,SASII,GAAI,SAAUl8E,GAKV,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBn0B,IAJI,EAKMU,KAAKqoG,IAAI,EAAG,IAAM50E,GAAK,IAAMzzB,KAAKG,KAAKszB,EADjDn0B,KAC2D,EAAIU,KAAKsxB,IAJhE,MAcZq9E,IAAK,SAAUl7E,GAKX,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBn0B,GAJI,EAKIU,KAAKqoG,IAAI,GAAK,GAAK50E,GAAKzzB,KAAKG,KAAKszB,EAD1Cn0B,KACoD,EAAIU,KAAKsxB,IAJzD,IAIoE,IAUhF0/E,MAAO,SAAUv9E,GAKb,OAAU,IAANA,EAAkB,EACZ,IAANA,EAAkB,GAClBn0B,IACCm0B,GAAK,GAAK,EALP,EAKgCzzB,KAAKqoG,IAAI,EAAG,IAAM50E,GAAK,IAAMzzB,KAAKG,KAAKszB,EAD3En0B,KACqF,EAAIU,KAAKsxB,IAJ1F,KAIqB,GALrB,EAMGtxB,KAAKqoG,IAAI,GAAI,IAAM50E,GAAK,IAAMzzB,KAAKG,KAAKszB,EAF/Cn0B,KAEyD,EAAIU,KAAKsxB,IAL9D,IAKyE,GAAM,KAU/Fk+E,MASIG,GAAI,SAAUl8E,GAEV,IAAI9yB,EAAI,QACR,OAAO8yB,EAAIA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,IAUlCguG,IAAK,SAAUl7E,GAEX,IAAI9yB,EAAI,QACR,QAAS8yB,EAAIA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,GAAK,GAUzCqwG,MAAO,SAAUv9E,GAEb,IAAI9yB,EAAI,UACR,OAAK8yB,GAAK,GAAK,EAAmBA,EAAIA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,GAA9B,GACpB,KAAQ8yB,GAAK,GAAKA,IAAM9yB,EAAI,GAAK8yB,EAAI9yB,GAAK,KAUzD8uG,QASIE,GAAI,SAAUl8E,GAEV,OAAO,EAAI31B,EAAOowG,OAAOuB,OAAOd,IAAI,EAAIl7E,IAU5Ck7E,IAAK,SAAUl7E,GAEX,OAAIA,EAAK,EAAI,KAEF,OAASA,EAAIA,EAEfA,EAAK,EAAI,KAEP,QAAUA,GAAM,IAAM,MAASA,EAAI,IAErCA,EAAK,IAAM,KAET,QAAUA,GAAM,KAAO,MAASA,EAAI,MAIpC,QAAUA,GAAM,MAAQ,MAASA,EAAI,SAWpDu9E,MAAO,SAAUv9E,GAEb,OAAIA,EAAI,GAA+C,GAAjC31B,EAAOowG,OAAOuB,OAAOE,GAAO,EAAJl8E,GACD,GAAtC31B,EAAOowG,OAAOuB,OAAOd,IAAQ,EAAJl7E,EAAQ,GAAW,MAO/D31B,EAAOowG,OAAOsF,QAAU11G,EAAOowG,OAAOK,OAAOC,KAC7C1wG,EAAOowG,OAAOD,OAASnwG,EAAOowG,OAAOK,OAAOC,KAC5C1wG,EAAOowG,OAAOC,OAASrwG,EAAOowG,OAAOQ,UAAUC,IAC/C7wG,EAAOowG,OAAOE,OAAStwG,EAAOowG,OAAOU,MAAMD,IAC3C7wG,EAAOowG,OAAOG,OAASvwG,EAAOowG,OAAOY,QAAQH,IAC7C7wG,EAAOowG,OAAOI,OAASxwG,EAAOowG,OAAOc,QAAQL,IAuC7C7wG,EAAOk8C,KAAO,SAAU36C,GAMpB/C,KAAK+C,KAAOA,EAOZ/C,KAAKulC,KAAO,EAOZvlC,KAAKi5G,SAAW,EAchBj5G,KAAKk9C,IAAM,EAgBXl9C,KAAKkgD,QAAU,EAeflgD,KAAKwlC,UAAY,EAajBxlC,KAAK8+F,eAAiB,EAAI,GAO1B9+F,KAAK2xE,iBAAoB,EAAI,GAAM,IAOnC3xE,KAAK6/C,eAAiB,EAAM,GAW5B7/C,KAAKk5G,YAAc,GAYnBl5G,KAAKm5G,aAAen5G,KAAKggD,WAczBhgD,KAAK+/C,WAAa,EAOlB//C,KAAKo5G,gBAAiB,EAStBp5G,KAAK07F,OAAS,EASd17F,KAAKq5G,QAAU,EASfr5G,KAAKs5G,QAAU,EASft5G,KAAK84G,IAAM,EASX94G,KAAKu5G,IAAM,EASXv5G,KAAKw5G,IAAM,EASXx5G,KAAKy5G,OAAS,IASdz5G,KAAK05G,OAAS,EAUd15G,KAAK25G,MAAQ,IASb35G,KAAK45G,MAAQ,EAOb55G,KAAK65G,cAAgB,EAMrB75G,KAAK4qG,WAAa,EAMlB5qG,KAAK85G,aAAe,EAMpB95G,KAAKw0C,OAAS,IAAIhzC,EAAOu4G,MAAM/5G,KAAK+C,MAAM,GAM1C/C,KAAKg6G,YAAc,EAMnBh6G,KAAKi6G,oBAAsB,EAM3Bj6G,KAAKk6G,SAAW,EAMhBl6G,KAAKm6G,gBAAkB,EAMvBn6G,KAAKo6G,cAAgB,EAMrBp6G,KAAKq6G,cAAe,EAMpBr6G,KAAKs6G,YAGT94G,EAAOk8C,KAAKp7C,WAQRyhC,KAAM,WAEF/jC,KAAKk6G,SAAW5sE,KAAK4P,MACrBl9C,KAAKulC,KAAO+H,KAAK4P,MACjBl9C,KAAKw0C,OAAOloC,QACZtM,KAAK85G,aAAe95G,KAAKulC,MAU7BtM,IAAK,SAAUshF,GAIX,OAFAv6G,KAAKs6G,QAAQxyG,KAAKyyG,GAEXA,GAUX/xG,OAAQ,SAAUgyG,QAEMj0G,IAAhBi0G,IAA6BA,GAAc,GAE/C,IAAID,EAAQ,IAAI/4G,EAAOu4G,MAAM/5G,KAAK+C,KAAMy3G,GAIxC,OAFAx6G,KAAKs6G,QAAQxyG,KAAKyyG,GAEXA,GAQXtwE,UAAW,WAEP,IAAK,IAAIvnC,EAAI,EAAGA,EAAI1C,KAAKs6G,QAAQ33G,OAAQD,IAErC1C,KAAKs6G,QAAQ53G,GAAGF,UAGpBxC,KAAKs6G,WAELt6G,KAAKw0C,OAAOvK,aAQhBzgB,QAAS,WAGL,IAAIixF,EAAkBz6G,KAAKulC,KAG3BvlC,KAAKulC,KAAO+H,KAAK4P,MAGjBl9C,KAAKwlC,UAAYxlC,KAAKulC,KAAOk1E,GAUjCt1E,OAAQ,SAAUI,GAGd,IAAIk1E,EAAkBz6G,KAAKulC,KAG3BvlC,KAAKulC,KAAO+H,KAAK4P,MAGjBl9C,KAAKwlC,UAAYxlC,KAAKulC,KAAOk1E,EAG7Bz6G,KAAKi5G,SAAWj5G,KAAKk9C,IAMrBl9C,KAAKk9C,IAAM3X,EAGXvlC,KAAKkgD,QAAUlgD,KAAKk9C,IAAMl9C,KAAKi5G,SAE3Bj5G,KAAK+C,KAAK04C,IAAI6uD,gBAKdtqG,KAAK4qG,WAAalnG,KAAKmsB,MAAMnsB,KAAKuC,IAAI,EAAI,IAASjG,KAAKk5G,aAAgBl5G,KAAK85G,aAAev0E,KAG5FvlC,KAAK85G,aAAev0E,EAAOvlC,KAAK4qG,YAKhC5qG,KAAKo5G,gBAELp5G,KAAK06G,uBAIJ16G,KAAK+C,KAAKqkC,SAGXpnC,KAAKw0C,OAAOrP,OAAOnlC,KAAKulC,MAEpBvlC,KAAKs6G,QAAQ33G,QAEb3C,KAAK26G,iBAYjBA,aAAc,WAMV,IAHA,IAAIj4G,EAAI,EACJouB,EAAM9wB,KAAKs6G,QAAQ33G,OAEhBD,EAAIouB,GAEH9wB,KAAKs6G,QAAQ53G,GAAGyiC,OAAOnlC,KAAKulC,MAE5B7iC,KAKA1C,KAAKs6G,QAAQxxG,OAAOpG,EAAG,GACvBouB,MAYZ4pF,qBAAsB,WAoBlB,GAjBA16G,KAAKg6G,cACLh6G,KAAKi6G,qBAAuBj6G,KAAKkgD,QAG7BlgD,KAAKg6G,aAAkC,EAAnBh6G,KAAKk5G,cAGzBl5G,KAAKm5G,aAAiF,EAAlEz1G,KAAKmsB,MAAM,KAAO7vB,KAAKi6G,oBAAsBj6G,KAAKg6G,cACtEh6G,KAAKg6G,YAAc,EACnBh6G,KAAKi6G,oBAAsB,GAG/Bj6G,KAAK25G,MAAQj2G,KAAK41B,IAAIt5B,KAAK25G,MAAO35G,KAAKkgD,SACvClgD,KAAK45G,MAAQl2G,KAAKuC,IAAIjG,KAAK45G,MAAO55G,KAAKkgD,SAEvClgD,KAAK07F,SAED17F,KAAKk9C,IAAMl9C,KAAKm6G,gBAAkB,IACtC,CACI,IAAIS,EAAW56G,KAAKk9C,IAAMl9C,KAAKm6G,gBAC/Bn6G,KAAK84G,IAAMp1G,KAAK+xB,MAAqB,IAAdz1B,KAAK07F,OAAiBkf,GAC7C56G,KAAKu5G,IAAM71G,KAAK+xB,MAAsB,IAAfz1B,KAAKq5G,QAAkBuB,GAC9C56G,KAAKw5G,IAAM91G,KAAK+xB,MAAsB,IAAfz1B,KAAKs5G,QAAkBsB,GAC9C56G,KAAKy5G,OAAS/1G,KAAK41B,IAAIt5B,KAAKy5G,OAAQz5G,KAAK84G,KACzC94G,KAAK05G,OAASh2G,KAAKuC,IAAIjG,KAAK05G,OAAQ15G,KAAK84G,KACzC94G,KAAKm6G,gBAAkBn6G,KAAKk9C,IAC5Bl9C,KAAK07F,OAAS,EACd17F,KAAKq5G,QAAU,EACfr5G,KAAKs5G,QAAU,IAUvB50G,UAAW,WAEH1E,KAAKo5G,gBAELp5G,KAAKq5G,WAUblyE,UAAW,WAEHnnC,KAAKo5G,gBAELp5G,KAAKs5G,WAUbznE,WAAY,WAER7xC,KAAKo6G,cAAgB9sE,KAAK4P,MAE1Bl9C,KAAKw0C,OAAOxL,QAIZ,IAFA,IAAItmC,EAAI1C,KAAKs6G,QAAQ33G,OAEdD,KAEH1C,KAAKs6G,QAAQ53G,GAAGmzG,UAUxB/jE,YAAa,WAGT9xC,KAAKulC,KAAO+H,KAAK4P,MAEjBl9C,KAAK65G,cAAgB75G,KAAKulC,KAAOvlC,KAAKo6G,cAEtCp6G,KAAKw0C,OAAOtL,SAIZ,IAFA,IAAIxmC,EAAI1C,KAAKs6G,QAAQ33G,OAEdD,KAEH1C,KAAKs6G,QAAQ53G,GAAGozG,WAUxBvnE,oBAAqB,WAEjB,MAAqC,MAA7BvuC,KAAKulC,KAAOvlC,KAAKk6G,WAU7BW,aAAc,SAAUC,GAEpB,OAAO96G,KAAKulC,KAAOu1E,GAUvBC,oBAAqB,SAAUD,GAE3B,MAA6B,MAArB96G,KAAKulC,KAAOu1E,IAQxB10E,MAAO,WAEHpmC,KAAKk6G,SAAWl6G,KAAKulC,KACrBvlC,KAAKiqC,cAgBbjjC,OAAOyF,eAAejL,EAAOk8C,KAAKp7C,UAAW,cAEzC4E,IAAK,WAED,OAAOlH,KAAKk5G,aAGhB/xG,IAAK,SAAUC,GAEXpH,KAAKk5G,YAAc9xG,EAMnBpH,KAAK8+F,eAAiB,EAAI13F,EAE1BpH,KAAK2xE,iBAAyC,IAAtB3xE,KAAK8+F,eAE7B9+F,KAAK6/C,eAAiB,EAAMz4C,KAKpC5F,EAAOk8C,KAAKp7C,UAAUC,YAAcf,EAAOk8C,KAsB3Cl8C,EAAOu4G,MAAQ,SAAUh3G,EAAMy3G,QAEPj0G,IAAhBi0G,IAA6BA,GAAc,GAM/Cx6G,KAAK+C,KAAOA,EAUZ/C,KAAKg7G,SAAU,EAMfh7G,KAAKw6G,YAAcA,EAOnBx6G,KAAKi7G,SAAU,EAMfj7G,KAAKkgD,QAAU,EAKflgD,KAAKw0C,UASLx0C,KAAKy2G,WAAa,IAAIj1G,EAAO6gC,OAO7BriC,KAAKk7G,SAAW,EAKhBl7G,KAAKm7G,QAAU,IAOfn7G,KAAKonC,QAAS,EAMdpnC,KAAKm8C,aAAc,EAOnBn8C,KAAKk6G,SAAW,EAMhBl6G,KAAKo6G,cAAgB,EAMrBp6G,KAAKo7G,YAAc,EAMnBp7G,KAAKq7G,KAAO/tE,KAAK4P,MAMjBl9C,KAAKqvC,KAAO,EAMZrvC,KAAKs7G,QAAU,EAMft7G,KAAKsvC,GAAK,EAMVtvC,KAAKu7G,MAAQ,EAMbv7G,KAAKw7G,SAAW,GAQpBh6G,EAAOu4G,MAAM0B,OAAS,IAOtBj6G,EAAOu4G,MAAM2B,OAAS,IAOtBl6G,EAAOu4G,MAAM4B,KAAO,IAOpBn6G,EAAOu4G,MAAM6B,QAAU,IAEvBp6G,EAAOu4G,MAAMz3G,WAiBTkG,OAAQ,SAAUmvD,EAAO6T,EAAMqwC,EAAa7mE,EAAU1L,EAAiBnZ,GAInE,IAAI2rF,EAFJnkD,EAAQj0D,KAAK+xB,MAAMkiC,GAID,IAAd33D,KAAKq7G,KAELS,GAAQ97G,KAAK+C,KAAKwiC,KAAKA,KAIvBu2E,GAAQ97G,KAAKq7G,KAGjB,IAAI3qE,EAAQ,IAAIlvC,EAAOu6G,WAAW/7G,KAAM23D,EAAOmkD,EAAMD,EAAarwC,EAAMx2B,EAAU1L,EAAiBnZ,GAQnG,OANAnwB,KAAKw0C,OAAO1sC,KAAK4oC,GAEjB1wC,KAAK04C,QAEL14C,KAAKi7G,SAAU,EAERvqE,GAkBXzX,IAAK,SAAU0+B,EAAO3iB,EAAU1L,GAE5B,OAAOtpC,KAAKwI,OAAOmvD,GAAO,EAAO,EAAG3iB,EAAU1L,EAAiB7hC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAoBzG3b,OAAQ,SAAUgjD,EAAOkkD,EAAa7mE,EAAU1L,GAE5C,OAAOtpC,KAAKwI,OAAOmvD,GAAO,EAAOkkD,EAAa7mE,EAAU1L,EAAiB7hC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAkBnHk7C,KAAM,SAAU7T,EAAO3iB,EAAU1L,GAE7B,OAAOtpC,KAAKwI,OAAOmvD,GAAO,EAAM,EAAG3iB,EAAU1L,EAAiB7hC,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,KAQxGhkB,MAAO,SAAUqrD,GAEb,IAAI33D,KAAKg7G,QAAT,CAKAh7G,KAAKk6G,SAAWl6G,KAAK+C,KAAKwiC,KAAKA,MAAQoyB,GAAS,GAEhD33D,KAAKg7G,SAAU,EAEf,IAAK,IAAIt4G,EAAI,EAAGA,EAAI1C,KAAKw0C,OAAO7xC,OAAQD,IAEpC1C,KAAKw0C,OAAO9xC,GAAGo5G,KAAO97G,KAAKw0C,OAAO9xC,GAAGi1D,MAAQ33D,KAAKk6G,WAS1D/tG,KAAM,SAAU6vG,GAEZh8G,KAAKg7G,SAAU,OAEKz0G,IAAhBy1G,IAA6BA,GAAc,GAE3CA,IAEAh8G,KAAKw0C,OAAO7xC,OAAS,IAS7BwZ,OAAQ,SAAUu0B,GAEd,IAAK,IAAIhuC,EAAI,EAAGA,EAAI1C,KAAKw0C,OAAO7xC,OAAQD,IAEpC,GAAI1C,KAAKw0C,OAAO9xC,KAAOguC,EAGnB,OADA1wC,KAAKw0C,OAAO9xC,GAAG4yG,eAAgB,GACxB,EAIf,OAAO,GASX58D,MAAO,WAEC14C,KAAKw0C,OAAO7xC,OAAS,IAGrB3C,KAAKw0C,OAAOzV,KAAK/+B,KAAK84C,aAEtB94C,KAAKk7G,SAAWl7G,KAAKw0C,OAAO,GAAGsnE,OASvChjE,YAAa,SAAU51C,EAAGC,GAEtB,OAAID,EAAE44G,KAAO34G,EAAE24G,MAEH,EAEH54G,EAAE44G,KAAO34G,EAAE24G,KAET,EAGJ,GASXG,mBAAoB,WAIhB,IAFAj8G,KAAKsvC,GAAKtvC,KAAKw0C,OAAO7xC,OAEf3C,KAAKsvC,MAEJtvC,KAAKw0C,OAAOx0C,KAAKsvC,IAAIgmE,eAErBt1G,KAAKw0C,OAAO1rC,OAAO9I,KAAKsvC,GAAI,GAIpCtvC,KAAKqvC,KAAOrvC,KAAKw0C,OAAO7xC,OACxB3C,KAAKsvC,GAAK,GAWdnK,OAAQ,SAAUI,GAEd,GAAIvlC,KAAKonC,OAEL,OAAO,EAsBX,GAnBApnC,KAAKkgD,QAAU3a,EAAOvlC,KAAKq7G,KAC3Br7G,KAAKq7G,KAAO91E,EAGRvlC,KAAKkgD,QAAUlgD,KAAKm7G,SAOpBn7G,KAAKk8G,aAAa32E,EAAOvlC,KAAKkgD,SAGlClgD,KAAKs7G,QAAU,EAGft7G,KAAKi8G,qBAEDj8G,KAAKg7G,SAAWh7G,KAAKq7G,MAAQr7G,KAAKk7G,UAAYl7G,KAAKqvC,KAAO,EAC9D,CACI,KAAOrvC,KAAKsvC,GAAKtvC,KAAKqvC,MAAQrvC,KAAKg7G,SACnC,CACI,IAAItqE,EAAQ1wC,KAAKw0C,OAAOx0C,KAAKsvC,IAE7B,KAAItvC,KAAKq7G,MAAQ3qE,EAAMorE,OAASprE,EAAM4kE,cAgClC,MA7BAt1G,KAAKw7G,SAAYx7G,KAAKq7G,KAAO3qE,EAAMinB,OAAU33D,KAAKq7G,KAAO3qE,EAAMorE,MAE3D97G,KAAKw7G,SAAW,IAEhBx7G,KAAKw7G,SAAWx7G,KAAKq7G,KAAO3qE,EAAMinB,QAGnB,IAAfjnB,EAAM86B,MAEN96B,EAAMorE,KAAO97G,KAAKw7G,SAClB9qE,EAAMsE,SAASzvC,MAAMmrC,EAAMpH,gBAAiBoH,EAAMvgB,OAE7CugB,EAAMmrE,YAAc,GAEzBnrE,EAAMmrE,cACNnrE,EAAMorE,KAAO97G,KAAKw7G,SAClB9qE,EAAMsE,SAASzvC,MAAMmrC,EAAMpH,gBAAiBoH,EAAMvgB,QAIlDnwB,KAAKs7G,UACL5qE,EAAM4kE,eAAgB,EACtB5kE,EAAMsE,SAASzvC,MAAMmrC,EAAMpH,gBAAiBoH,EAAMvgB,OAGtDnwB,KAAKsvC,KASTtvC,KAAKw0C,OAAO7xC,OAAS3C,KAAKs7G,QAE1Bt7G,KAAK04C,SAIL14C,KAAKi7G,SAAU,EACfj7G,KAAKy2G,WAAWhxE,SAASzlC,OAIjC,OAAIA,KAAKi7G,UAAWj7G,KAAKw6G,aAc7BxxE,MAAO,WAEEhpC,KAAKg7G,UAKVh7G,KAAKm8C,aAAc,EAEfn8C,KAAKonC,SAKTpnC,KAAKo6G,cAAgBp6G,KAAK+C,KAAKwiC,KAAKA,KAEpCvlC,KAAKonC,QAAS,KAQlByuE,OAAQ,YAEA71G,KAAKonC,QAAWpnC,KAAKg7G,UAKzBh7G,KAAKo6G,cAAgBp6G,KAAK+C,KAAKwiC,KAAKA,KAEpCvlC,KAAKonC,QAAS,IASlB80E,aAAc,SAAUC,GAEpB,IAAK,IAAIz5G,EAAI,EAAGA,EAAI1C,KAAKw0C,OAAO7xC,OAAQD,IAEpC,IAAK1C,KAAKw0C,OAAO9xC,GAAG4yG,cACpB,CAEI,IAAIzkF,EAAI7wB,KAAKw0C,OAAO9xC,GAAGo5G,KAAOK,EAE1BtrF,EAAI,IAEJA,EAAI,GAIR7wB,KAAKw0C,OAAO9xC,GAAGo5G,KAAO97G,KAAKq7G,KAAOxqF,EAI1C,IAAIxtB,EAAIrD,KAAKk7G,SAAWiB,EAIpBn8G,KAAKk7G,SAFL73G,EAAI,EAEYrD,KAAKq7G,KAILr7G,KAAKq7G,KAAOh4G,GASpC6lC,OAAQ,WAEJ,GAAKlpC,KAAKonC,OAAV,CAKA,IAAI8V,EAAMl9C,KAAK+C,KAAKwiC,KAAKA,KACzBvlC,KAAKo7G,aAAel+D,EAAMl9C,KAAKq7G,KAC/Br7G,KAAKq7G,KAAOn+D,EAEZl9C,KAAKk8G,aAAal8G,KAAKo6G,eAEvBp6G,KAAKonC,QAAS,EACdpnC,KAAKm8C,aAAc,IAQvB25D,QAAS,WAED91G,KAAKm8C,aAMLn8C,KAAKkpC,UAUbe,UAAW,WAEPjqC,KAAKy2G,WAAWxsE,YAChBjqC,KAAKw0C,OAAO7xC,OAAS,EACrB3C,KAAKqvC,KAAO,EACZrvC,KAAKsvC,GAAK,GASd9sC,QAAS,WAELxC,KAAKy2G,WAAWxsE,YAChBjqC,KAAKg7G,SAAU,EACfh7G,KAAKi7G,SAAU,EACfj7G,KAAKw0C,UACLx0C,KAAKqvC,KAAO,EACZrvC,KAAKsvC,GAAK,IAUlBtoC,OAAOyF,eAAejL,EAAOu4G,MAAMz3G,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAKk7G,YAUpBl0G,OAAOyF,eAAejL,EAAOu4G,MAAMz3G,UAAW,YAE1C4E,IAAK,WAED,OAAIlH,KAAKg7G,SAAWh7G,KAAKk7G,SAAWl7G,KAAKq7G,KAE9Br7G,KAAKk7G,SAAWl7G,KAAKq7G,KAIrB,KAWnBr0G,OAAOyF,eAAejL,EAAOu4G,MAAMz3G,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKw0C,OAAO7xC,UAU3BqE,OAAOyF,eAAejL,EAAOu4G,MAAMz3G,UAAW,MAE1C4E,IAAK,WAED,OAAIlH,KAAKg7G,QAEEh7G,KAAKq7G,KAAOr7G,KAAKk6G,SAAWl6G,KAAKo7G,YAIjC,KAWnBp0G,OAAOyF,eAAejL,EAAOu4G,MAAMz3G,UAAW,WAE1C4E,IAAK,WAED,OAAIlH,KAAKg7G,QAEY,KAAVh7G,KAAK64G,GAIL,KAMnBr3G,EAAOu4G,MAAMz3G,UAAUC,YAAcf,EAAOu4G,MA6B5Cv4G,EAAOu6G,WAAa,SAAUxB,EAAO5iD,EAAOmkD,EAAMD,EAAarwC,EAAMx2B,EAAU1L,EAAiBnZ,GAO5FnwB,KAAKu6G,MAAQA,EAKbv6G,KAAK23D,MAAQA,EAKb33D,KAAK87G,KAAOA,EAKZ97G,KAAK67G,YAAcA,EAAc,EAKjC77G,KAAKwrE,KAAOA,EAKZxrE,KAAKg1C,SAAWA,EAKhBh1C,KAAKspC,gBAAkBA,EAKvBtpC,KAAKmwB,KAAOA,EAMZnwB,KAAKs1G,eAAgB,GAGzB9zG,EAAOu6G,WAAWz5G,UAAUC,YAAcf,EAAOu6G,WAgBjDv6G,EAAOirE,iBAAmB,SAAUnpD,GAKhCtjB,KAAKsjB,OAASA,EAKdtjB,KAAK+C,KAAOugB,EAAOvgB,KASnB/C,KAAKo8G,aAAe,KAMpBp8G,KAAKq8G,YAAc,KAMnBr8G,KAAKs8G,iBAAkB,EAMvBt8G,KAAKu8G,UAAW,EAOhBv8G,KAAKw8G,WAAa,KAMlBx8G,KAAKy8G,UAMLz8G,KAAK08G,kBAGTl7G,EAAOirE,iBAAiBnqE,WAYpB2vE,cAAe,SAAUE,EAAW9kE,GAEhC,QAAkB9G,IAAd4rE,EAEA,OAAO,EAGX,GAAInyE,KAAKu8G,SAGL,IAAK,IAAII,KAAQ38G,KAAKy8G,OAElBz8G,KAAKy8G,OAAOE,GAAMljB,gBAAgBtnB,GAsB1C,OAlBAnyE,KAAKw8G,WAAarqC,OAEJ5rE,IAAV8G,GAAiC,OAAVA,EAEvBrN,KAAKqN,MAAQ,EAGI,iBAAVA,EAEPrN,KAAK8yE,UAAYzlE,EAIjBrN,KAAKqN,MAAQA,EAGjBrN,KAAKu8G,UAAW,GAET,GAaXK,cAAe,SAAUzqC,EAAW9kE,GAIhC,GAFArN,KAAKw8G,WAAarqC,EAAUj+C,QAExBl0B,KAAKu8G,SAGL,IAAK,IAAII,KAAQ38G,KAAKy8G,OAElBz8G,KAAKy8G,OAAOE,GAAMljB,gBAAgBz5F,KAAKw8G,YAoB/C,YAhBcj2G,IAAV8G,GAAiC,OAAVA,EAEvBrN,KAAKqN,MAAQ,EAGI,iBAAVA,EAEPrN,KAAK8yE,UAAYzlE,EAIjBrN,KAAKqN,MAAQA,EAGjBrN,KAAKu8G,UAAW,GAET,GAeXtjF,IAAK,SAAUjH,EAAM0pE,EAAQnwB,EAAWC,EAAMqxC,GAiC1C,OA/BAnhB,EAASA,MACTnwB,EAAYA,GAAa,QAEZhlE,IAATilE,IAAsBA,GAAO,QAGTjlE,IAApBs2G,IAIIA,KAFAnhB,GAA+B,iBAAdA,EAAO,KAUhC17F,KAAK08G,iBAEL18G,KAAKw8G,WAAWM,gBAAgBphB,EAAQmhB,EAAiB78G,KAAK08G,eAE9D18G,KAAKy8G,OAAOzqF,GAAQ,IAAIxwB,EAAO6pE,UAAUrrE,KAAK+C,KAAM/C,KAAKsjB,OAAQ0O,EAAMhyB,KAAKw8G,WAAYx8G,KAAK08G,cAAenxC,EAAWC,GAEvHxrE,KAAKq8G,YAAcr8G,KAAKy8G,OAAOzqF,GAE3BhyB,KAAKsjB,OAAOe,gBAEZrkB,KAAKsjB,OAAOuvD,gBAAiB,GAG1B7yE,KAAKy8G,OAAOzqF,IAWvB+qF,eAAgB,SAAUrhB,EAAQmhB,QAENt2G,IAApBs2G,IAAiCA,GAAkB,GAEvD,IAAK,IAAIn6G,EAAI,EAAGA,EAAIg5F,EAAO/4F,OAAQD,IAE/B,IAAwB,IAApBm6G,GAEA,GAAInhB,EAAOh5F,GAAK1C,KAAKw8G,WAAWxjE,MAE5B,OAAO,OAIf,IAAkD,IAA9Ch5C,KAAKw8G,WAAWQ,eAAethB,EAAOh5F,IAEtC,OAAO,EAIf,OAAO,GAmBX4oE,KAAM,SAAUt5C,EAAMu5C,EAAWC,EAAMC,GAEnC,GAAIzrE,KAAKy8G,OAAOzqF,GAEZ,OAAIhyB,KAAKq8G,cAAgBr8G,KAAKy8G,OAAOzqF,IAEE,IAA/BhyB,KAAKq8G,YAAYY,WAEjBj9G,KAAKq8G,YAAYj1E,QAAS,EACnBpnC,KAAKq8G,YAAY/wC,KAAKC,EAAWC,EAAMC,IAG3CzrE,KAAKq8G,aAIRr8G,KAAKq8G,aAAer8G,KAAKq8G,YAAYY,WAErCj9G,KAAKq8G,YAAYlwG,OAGrBnM,KAAKq8G,YAAcr8G,KAAKy8G,OAAOzqF,GAC/BhyB,KAAKq8G,YAAYj1E,QAAS,EAC1BpnC,KAAKo8G,aAAep8G,KAAKq8G,YAAYD,aAC9Bp8G,KAAKq8G,YAAY/wC,KAAKC,EAAWC,EAAMC,KAa1Dt/D,KAAM,SAAU6lB,EAAMu7C,QAEChnE,IAAfgnE,IAA4BA,GAAa,IAEzCvtE,KAAKq8G,aAAgC,iBAATrqF,GAAqBA,IAAShyB,KAAKq8G,YAAYrqF,MAE3EhyB,KAAKq8G,YAAYlwG,KAAKohE,IAW9BpoC,OAAQ,WAEJ,QAAInlC,KAAKs8G,kBAAoBt8G,KAAKsjB,OAAOpiB,cAKrClB,KAAKq8G,cAAer8G,KAAKq8G,YAAYl3E,YAErCnlC,KAAKo8G,aAAep8G,KAAKq8G,YAAYD,cAC9B,KAYf5mE,KAAM,SAAUT,GAER/0C,KAAKq8G,cAELr8G,KAAKq8G,YAAY7mE,KAAKT,GACtB/0C,KAAKo8G,aAAep8G,KAAKq8G,YAAYD,eAU7C3mE,SAAU,SAAUV,GAEZ/0C,KAAKq8G,cAELr8G,KAAKq8G,YAAY5mE,SAASV,GAC1B/0C,KAAKo8G,aAAep8G,KAAKq8G,YAAYD,eAW7Cc,aAAc,SAAUlrF,GAEpB,MAAoB,iBAATA,GAEHhyB,KAAKy8G,OAAOzqF,GAELhyB,KAAKy8G,OAAOzqF,GAIpB,MAQXmrF,aAAc,aAgBd36G,QAAS,WAEDm6G,EAAO,KAEX,IAAK,IAAIA,KAAQ38G,KAAKy8G,OAEdz8G,KAAKy8G,OAAOprF,eAAesrF,IAE3B38G,KAAKy8G,OAAOE,GAAMn6G,UAI1BxC,KAAKy8G,UACLz8G,KAAK08G,iBACL18G,KAAKw8G,WAAa,KAClBx8G,KAAKq8G,YAAc,KACnBr8G,KAAKo8G,aAAe,KACpBp8G,KAAKsjB,OAAS,KACdtjB,KAAK+C,KAAO,OAKpBvB,EAAOirE,iBAAiBnqE,UAAUC,YAAcf,EAAOirE,iBAOvDzlE,OAAOyF,eAAejL,EAAOirE,iBAAiBnqE,UAAW,aAErD4E,IAAK,WAED,OAAOlH,KAAKw8G,cAUpBx1G,OAAOyF,eAAejL,EAAOirE,iBAAiBnqE,UAAW,cAErD4E,IAAK,WAED,OAAOlH,KAAKw8G,WAAWxjE,SAS/BhyC,OAAOyF,eAAejL,EAAOirE,iBAAiBnqE,UAAW,UAErD4E,IAAK,WAED,OAAOlH,KAAKq8G,YAAY1F,UAG5BxvG,IAAK,SAAUC,GAEXpH,KAAKq8G,YAAYj1E,OAAShgC,KASlCJ,OAAOyF,eAAejL,EAAOirE,iBAAiBnqE,UAAW,QAErD4E,IAAK,WAED,OAAQlH,KAAgB,YAAIA,KAAKq8G,YAAYrqF,UAAOzrB,KAS5DS,OAAOyF,eAAejL,EAAOirE,iBAAiBnqE,UAAW,SAErD4E,IAAK,WAED,OAAQlH,KAAiB,aAAIA,KAAKo8G,aAAaxzG,WAAQrC,GAG3DY,IAAK,SAAUC,GAEX,IAAIg2G,EAEiB,iBAAVh2G,GAAsBpH,KAAKw8G,aAAeY,EAAWp9G,KAAKw8G,WAAWa,SAASj2G,MAErFpH,KAAKo8G,aAAegB,EACpBp9G,KAAKsjB,OAAOyH,SAAS/qB,KAAKo8G,kBAUtCp1G,OAAOyF,eAAejL,EAAOirE,iBAAiBnqE,UAAW,aAErD4E,IAAK,WAED,OAAQlH,KAAiB,aAAIA,KAAKo8G,aAAapqF,UAAOzrB,GAG1DY,IAAK,SAAUC,GAEX,IAAIg2G,EAEiB,iBAAVh2G,GAAsBpH,KAAKw8G,aAAeY,EAAWp9G,KAAKw8G,WAAWc,eAAel2G,KAE3FpH,KAAKo8G,aAAegB,EACpBp9G,KAAKu9G,YAAcv9G,KAAKo8G,aAAaxzG,MACrC5I,KAAKsjB,OAAOyH,SAAS/qB,KAAKo8G,eAI1B97G,QAAQ+Z,KAAK,yBAA2BjT,MA2BpD5F,EAAO6pE,UAAY,SAAUtoE,EAAM1B,EAAQ2wB,EAAMmgD,EAAWupB,EAAQnwB,EAAWC,QAE9DjlE,IAATilE,IAAsBA,GAAO,GAKjCxrE,KAAK+C,KAAOA,EAMZ/C,KAAKwuE,QAAUntE,EAMfrB,KAAKw8G,WAAarqC,EAKlBnyE,KAAKgyB,KAAOA,EAMZhyB,KAAKw9G,WACLx9G,KAAKw9G,QAAUx9G,KAAKw9G,QAAQntF,OAAOqrE,GAKnC17F,KAAK23D,MAAQ,IAAO4T,EAKpBvrE,KAAKwrE,KAAOA,EAKZxrE,KAAKy9G,UAAY,EAMjBz9G,KAAKyrE,gBAAiB,EAMtBzrE,KAAK09G,YAAa,EAMlB19G,KAAKi9G,WAAY,EAMjBj9G,KAAK22G,UAAW,EAOhB32G,KAAK29G,gBAAkB,EAOvB39G,KAAKu9G,YAAc,EAOnBv9G,KAAK49G,WAAa,EAOlB59G,KAAK69G,WAAa,EAKlB79G,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQx9G,KAAKu9G,cAK/Dv9G,KAAKq2G,QAAU,IAAI70G,EAAO6gC,OAW1BriC,KAAK89G,SAAW,KAKhB99G,KAAKy2G,WAAa,IAAIj1G,EAAO6gC,OAK7BriC,KAAKs2G,OAAS,IAAI90G,EAAO6gC,OAMzBriC,KAAK+9G,YAAa,EAGlB/9G,KAAK+C,KAAKgmC,QAAQ9P,IAAIj5B,KAAK+oC,QAAS/oC,MACpCA,KAAK+C,KAAKkmC,SAAShQ,IAAIj5B,KAAKipC,SAAUjpC,OAG1CwB,EAAO6pE,UAAU/oE,WAcbgpE,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,iBAAdF,IAGPvrE,KAAK23D,MAAQ,IAAO4T,GAGJ,kBAATC,IAGPxrE,KAAKwrE,KAAOA,QAGc,IAAnBC,IAGPzrE,KAAKyrE,eAAiBA,GAG1BzrE,KAAKi9G,WAAY,EACjBj9G,KAAK09G,YAAa,EAClB19G,KAAKonC,QAAS,EACdpnC,KAAKy9G,UAAY,EAEjBz9G,KAAKg+G,eAAiBh+G,KAAK+C,KAAKwiC,KAAKA,KACrCvlC,KAAKi+G,eAAiBj+G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAK23D,MAEjD33D,KAAKu9G,YAAcv9G,KAAK+9G,WAAa/9G,KAAKw9G,QAAQ76G,OAAS,EAAI,EAC/D3C,KAAKk+G,oBAAmB,GAAO,GAE/Bl+G,KAAKwuE,QAAQh6B,OAAO2pE,0BAA0Bn+G,KAAKwuE,QAASxuE,MAE5DA,KAAKq2G,QAAQ5wE,SAASzlC,KAAKwuE,QAASxuE,MAEpCA,KAAKwuE,QAAQ9C,WAAW2wC,YAAcr8G,KACtCA,KAAKwuE,QAAQ9C,WAAW0wC,aAAep8G,KAAKo8G,aAErCp8G,MAQX0pC,QAAS,WAEL1pC,KAAKi9G,WAAY,EACjBj9G,KAAK09G,YAAa,EAClB19G,KAAKonC,QAAS,EACdpnC,KAAKy9G,UAAY,EAEjBz9G,KAAKg+G,eAAiBh+G,KAAK+C,KAAKwiC,KAAKA,KACrCvlC,KAAKi+G,eAAiBj+G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAK23D,MAEjD33D,KAAKu9G,YAAc,EAEnBv9G,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQx9G,KAAKu9G,cAE/Dv9G,KAAKwuE,QAAQzjD,SAAS/qB,KAAKo8G,cAE3Bp8G,KAAKwuE,QAAQ9C,WAAW2wC,YAAcr8G,KACtCA,KAAKwuE,QAAQ9C,WAAW0wC,aAAep8G,KAAKo8G,aAE5Cp8G,KAAKq2G,QAAQ5wE,SAASzlC,KAAKwuE,QAASxuE,OASxCse,QAAS,WAIL,OAFAte,KAAKg5G,UAAYh5G,KAAKg5G,SAEfh5G,MAWXo+G,YAAa,WAIT,OAFAp+G,KAAKy2G,WAAWvqE,QAAQlsC,KAAKse,QAASte,MAE/BA,KAAKse,WAUhByM,SAAU,SAAUszF,EAASC,GAEzB,IAAIC,EAQJ,QAN2Bh4G,IAAvB+3G,IAEAA,GAAqB,GAIF,iBAAZD,EAEP,IAAS37G,EAAI,EAAGA,EAAI1C,KAAKw9G,QAAQ76G,OAAQD,IAEjC1C,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQ96G,IAAIsvB,OAASqsF,IAEnDE,EAAa77G,QAIpB,GAAuB,iBAAZ27G,EAEZ,GAAIC,EAEAC,EAAaF,OAIb,IAAK,IAAI37G,EAAI,EAAGA,EAAI1C,KAAKw9G,QAAQ76G,OAAQD,IAEjC1C,KAAKw9G,QAAQ96G,KAAO27G,IAEpBE,EAAa77G,GAM7B,GAAI67G,EACJ,CAEI,IAAIC,EAAoBx+G,KAAK+9G,YAAc,EAAI,EAC/C/9G,KAAKu9G,YAAcgB,EAAaC,EAGhCx+G,KAAKi+G,eAAiBj+G,KAAK+C,KAAKwiC,KAAKA,KAErCvlC,KAAKmlC,WAYbh5B,KAAM,SAAUohE,EAAYkxC,QAELl4G,IAAfgnE,IAA4BA,GAAa,QACpBhnE,IAArBk4G,IAAkCA,GAAmB,GAEzDz+G,KAAKi9G,WAAY,EACjBj9G,KAAK09G,YAAa,EAClB19G,KAAKonC,QAAS,EAEVmmC,IAEAvtE,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQ,IAC1Dx9G,KAAKwuE,QAAQzjD,SAAS/qB,KAAKo8G,eAG3BqC,IAEAz+G,KAAKwuE,QAAQh6B,OAAOkqE,6BAA6B1+G,KAAKwuE,QAASxuE,MAC/DA,KAAKy2G,WAAWhxE,SAASzlC,KAAKwuE,QAASxuE,QAS/C+oC,QAAS,WAED/oC,KAAKi9G,YAELj9G,KAAK49G,WAAa59G,KAAKi+G,eAAiBj+G,KAAK+C,KAAKwiC,KAAKA,OAS/D0D,SAAU,WAEFjpC,KAAKi9G,YAELj9G,KAAKi+G,eAAiBj+G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAK49G,aASzDz4E,OAAQ,WAEJ,GAAInlC,KAAK22G,SAEL,OAAO,EAGX,IAAIz5D,EAAMl9C,KAAK+C,KAAKwiC,KAAKA,KACrBo5E,EAAOzhE,EAAMl9C,KAAKi+G,eAEtB,SAAIj+G,KAAKi9G,WAAa0B,GAAQ,KAE1B3+G,KAAK69G,WAAa,EAClB79G,KAAK49G,WAAae,EAClB3+G,KAAKg+G,eAAiB9gE,EAElBl9C,KAAK49G,WAAa59G,KAAK23D,QAGvB33D,KAAK69G,WAAan6G,KAAKmsB,MAAM7vB,KAAK49G,WAAa59G,KAAK23D,OACpD33D,KAAK49G,YAAe59G,KAAK69G,WAAa79G,KAAK23D,OAI/C33D,KAAKi+G,eAAiB/gE,GAAOl9C,KAAK23D,MAAQ33D,KAAK49G,YAE3C59G,KAAK+9G,WAEL/9G,KAAKu9G,aAAev9G,KAAK69G,WAIzB79G,KAAKu9G,aAAev9G,KAAK69G,YAGxB79G,KAAK+9G,YAAc/9G,KAAKu9G,aAAev9G,KAAKw9G,QAAQ76G,QAAU3C,KAAK+9G,YAAc/9G,KAAKu9G,cAAgB,EAEnGv9G,KAAKwrE,MAGLxrE,KAAKu9G,YAAc75G,KAAKizB,IAAI32B,KAAKu9G,aAAev9G,KAAKw9G,QAAQ76G,OAEzD3C,KAAK+9G,aAEL/9G,KAAKu9G,YAAcv9G,KAAKw9G,QAAQ76G,OAAS,EAAI3C,KAAKu9G,aAGtDv9G,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQx9G,KAAKu9G,cAG3Dv9G,KAAKo8G,cAELp8G,KAAKwuE,QAAQzjD,SAAS/qB,KAAKo8G,cAG/Bp8G,KAAKy9G,YACLz9G,KAAKwuE,QAAQh6B,OAAOoqE,yBAAyB5+G,KAAKwuE,QAASxuE,MAC3DA,KAAKs2G,OAAO7wE,SAASzlC,KAAKwuE,QAASxuE,OAE/BA,KAAK89G,WAEL99G,KAAK89G,SAASr4E,SAASzlC,KAAMA,KAAKo8G,gBAGzBp8G,KAAKw8G,cASlBx8G,KAAKoqB,YACE,GAKJpqB,KAAKk+G,oBAAmB,KAmB3CA,mBAAoB,SAAUW,EAAcC,GAIxC,QAFiBv4G,IAAbu4G,IAA0BA,GAAW,IAEpC9+G,KAAKw8G,WAGN,OAAO,EAIX,IAAI7lB,EAAM32F,KAAKo8G,aAAaxzG,MAS5B,OAPA5I,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQx9G,KAAKu9G,cAE3Dv9G,KAAKo8G,eAAiB0C,GAAanoB,IAAQ32F,KAAKo8G,aAAaxzG,QAE7D5I,KAAKwuE,QAAQzjD,SAAS/qB,KAAKo8G,eAG3Bp8G,KAAK89G,WAAYe,IAEjB7+G,KAAK89G,SAASr4E,SAASzlC,KAAMA,KAAKo8G,gBAGzBp8G,KAAKw8G,aActBhnE,KAAM,SAAUT,QAEKxuC,IAAbwuC,IAA0BA,EAAW,GAEzC,IAAI1nC,EAAQrN,KAAKu9G,YAAcxoE,EAE3B1nC,GAASrN,KAAKw9G,QAAQ76G,SAElB3C,KAAKwrE,KAELn+D,GAASrN,KAAKw9G,QAAQ76G,OAItB0K,EAAQrN,KAAKw9G,QAAQ76G,OAAS,GAIlC0K,IAAUrN,KAAKu9G,cAEfv9G,KAAKu9G,YAAclwG,EACnBrN,KAAKk+G,oBAAmB,KAUhCzoE,SAAU,SAAUV,QAECxuC,IAAbwuC,IAA0BA,EAAW,GAEzC,IAAI1nC,EAAQrN,KAAKu9G,YAAcxoE,EAE3B1nC,EAAQ,IAEJrN,KAAKwrE,KAELn+D,EAAQrN,KAAKw9G,QAAQ76G,OAAS0K,EAI9BA,KAIJA,IAAUrN,KAAKu9G,cAEfv9G,KAAKu9G,YAAclwG,EACnBrN,KAAKk+G,oBAAmB,KAUhCzkB,gBAAiB,SAAUtnB,GAEvBnyE,KAAKw8G,WAAarqC,EAClBnyE,KAAKo8G,aAAep8G,KAAKw8G,WAAax8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQx9G,KAAKu9G,YAAcv9G,KAAKw9G,QAAQ76G,SAAW,MAQ3HH,QAAS,WAEAxC,KAAKw8G,aAMVx8G,KAAK+C,KAAKgmC,QAAQ5sB,OAAOnc,KAAK+oC,QAAS/oC,MACvCA,KAAK+C,KAAKkmC,SAAS9sB,OAAOnc,KAAKipC,SAAUjpC,MAEzCA,KAAK+C,KAAO,KACZ/C,KAAKwuE,QAAU,KACfxuE,KAAKw9G,QAAU,KACfx9G,KAAKw8G,WAAa,KAClBx8G,KAAKo8G,aAAe,KACpBp8G,KAAKi9G,WAAY,EAEjBj9G,KAAKq2G,QAAQ5pE,UACbzsC,KAAKs2G,OAAO7pE,UACZzsC,KAAKy2G,WAAWhqE,UAEZzsC,KAAK89G,UAEL99G,KAAK89G,SAASrxE,YAUtBriB,SAAU,WAENpqB,KAAKu9G,YAAcv9G,KAAKw9G,QAAQ76G,OAAS,EACzC3C,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQx9G,KAAKu9G,cAC/Dv9G,KAAKk+G,oBAAmB,GAExBl+G,KAAKi9G,WAAY,EACjBj9G,KAAK09G,YAAa,EAClB19G,KAAKonC,QAAS,EAEdpnC,KAAKwuE,QAAQh6B,OAAOkqE,6BAA6B1+G,KAAKwuE,QAASxuE,MAE/DA,KAAKy2G,WAAWhxE,SAASzlC,KAAKwuE,QAASxuE,MAEnCA,KAAKyrE,gBAELzrE,KAAKwuE,QAAQn3B,SAMzB71C,EAAO6pE,UAAU/oE,UAAUC,YAAcf,EAAO6pE,UAMhDrkE,OAAOyF,eAAejL,EAAO6pE,UAAU/oE,UAAW,UAE9C4E,IAAK,WAED,OAAOlH,KAAK22G,UAGhBxvG,IAAK,SAAUC,GAEXpH,KAAK22G,SAAWvvG,EAEZA,EAGApH,KAAK29G,gBAAkB39G,KAAK+C,KAAKwiC,KAAKA,KAKlCvlC,KAAKi9G,YAELj9G,KAAKi+G,eAAiBj+G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAK23D,UAWjE3wD,OAAOyF,eAAejL,EAAO6pE,UAAU/oE,UAAW,YAE9C4E,IAAK,WAED,OAAOlH,KAAK+9G,YAGhB52G,IAAK,SAAUC,GAEXpH,KAAK+9G,WAAa32G,KAU1BJ,OAAOyF,eAAejL,EAAO6pE,UAAU/oE,UAAW,cAE9C4E,IAAK,WAED,OAAOlH,KAAKw9G,QAAQ76G,UAS5BqE,OAAOyF,eAAejL,EAAO6pE,UAAU/oE,UAAW,SAE9C4E,IAAK,WAED,OAA0B,OAAtBlH,KAAKo8G,aAEEp8G,KAAKo8G,aAAaxzG,MAIlB5I,KAAKu9G,aAIpBp2G,IAAK,SAAUC,GAEXpH,KAAKo8G,aAAep8G,KAAKw8G,WAAWa,SAASr9G,KAAKw9G,QAAQp2G,IAEhC,OAAtBpH,KAAKo8G,eAELp8G,KAAKu9G,YAAcn2G,EACnBpH,KAAKwuE,QAAQzjD,SAAS/qB,KAAKo8G,cAEvBp8G,KAAK89G,UAEL99G,KAAK89G,SAASr4E,SAASzlC,KAAMA,KAAKo8G,kBAWlDp1G,OAAOyF,eAAejL,EAAO6pE,UAAU/oE,UAAW,SAE9C4E,IAAK,WAED,OAAO,IAAOlH,KAAK23D,OAGvBxwD,IAAK,SAAUC,GAEPA,EAAQ,IAERpH,KAAK23D,MAAQ,IAAOvwD,MAUhCJ,OAAOyF,eAAejL,EAAO6pE,UAAU/oE,UAAW,gBAE9C4E,IAAK,WAED,OAA0B,OAAlBlH,KAAK89G,UAGjB32G,IAAK,SAAUC,GAEPA,GAA2B,OAAlBpH,KAAK89G,SAEd99G,KAAK89G,SAAW,IAAIt8G,EAAO6gC,OAErBj7B,GAA2B,OAAlBpH,KAAK89G,WAEpB99G,KAAK89G,SAASrxE,UACdzsC,KAAK89G,SAAW,SAoB5Bt8G,EAAO6pE,UAAU0zC,mBAAqB,SAAUhV,EAAQz9F,EAAOH,EAAM2qF,EAAQkoB,QAE1Dz4G,IAAXuwF,IAAwBA,EAAS,IAErC,IAAIphE,KACAroB,EAAQ,GAEZ,GAAIf,EAAQH,EAER,IAASzJ,EAAI4J,EAAO5J,GAAKyJ,EAAMzJ,IAY3B2K,EAAQ08F,GAPJ18F,EAHmB,iBAAZ2xG,EAGCx9G,EAAOgwB,MAAM8B,IAAI5wB,EAAEkmB,WAAYo2F,EAAS,IAAK,GAI7Ct8G,EAAEkmB,YAGWkuE,EAEzBphE,EAAO5tB,KAAKuF,QAKhB,IAAK,IAAI3K,EAAI4J,EAAO5J,GAAKyJ,EAAMzJ,IAY3B2K,EAAQ08F,GAPJ18F,EAHmB,iBAAZ2xG,EAGCx9G,EAAOgwB,MAAM8B,IAAI5wB,EAAEkmB,WAAYo2F,EAAS,IAAK,GAI7Ct8G,EAAEkmB,YAGWkuE,EAEzBphE,EAAO5tB,KAAKuF,GAIpB,OAAOqoB,GAqBXl0B,EAAOk5E,MAAQ,SAAU9xE,EAAO7E,EAAGC,EAAGpG,EAAOC,EAAQm0B,GAKjDhyB,KAAK4I,MAAQA,EAKb5I,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAEK,IAAfmC,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAEzByC,QAAQ+Z,KAAK,wBAA0Bra,KAAKgyB,KAAO,mCAMvDhyB,KAAKgyB,KAAOA,EAKZhyB,KAAK63B,QAAUn0B,KAAKmsB,MAAMjyB,EAAQ,GAKlCoC,KAAK83B,QAAUp0B,KAAKmsB,MAAMhyB,EAAS,GAKnCmC,KAAKw1B,SAAWh0B,EAAOkC,KAAK8xB,SAAS,EAAG,EAAG53B,EAAOC,GAMlDmC,KAAK0O,SAAU,EAMf1O,KAAKwyE,SAAU,EAKfxyE,KAAK2yE,YAAc/0E,EAKnBoC,KAAK4yE,YAAc/0E,EAMnBmC,KAAKyyE,kBAAoB,EAMzBzyE,KAAK0yE,kBAAoB,EAMzB1yE,KAAKi/G,kBAAoB,EAMzBj/G,KAAKk/G,kBAAoB,EAKzBl/G,KAAK0zB,MAAQ1zB,KAAK+D,EAAI/D,KAAKpC,MAK3BoC,KAAKs2B,OAASt2B,KAAKgE,EAAIhE,KAAKnC,QAGhC2D,EAAOk5E,MAAMp4E,WAST6D,OAAQ,SAAUvI,EAAOC,GAErBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK63B,QAAUn0B,KAAKmsB,MAAMjyB,EAAQ,GAClCoC,KAAK83B,QAAUp0B,KAAKmsB,MAAMhyB,EAAS,GACnCmC,KAAKw1B,SAAWh0B,EAAOkC,KAAK8xB,SAAS,EAAG,EAAG53B,EAAOC,GAClDmC,KAAK2yE,YAAc/0E,EACnBoC,KAAK4yE,YAAc/0E,EACnBmC,KAAK0zB,MAAQ1zB,KAAK+D,EAAInG,EACtBoC,KAAKs2B,OAASt2B,KAAKgE,EAAInG,GAe3BshH,QAAS,SAAU3sC,EAAS4sC,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5Ez/G,KAAKwyE,QAAUA,EAEXA,IAEAxyE,KAAK2yE,YAAcysC,EACnBp/G,KAAK4yE,YAAcysC,EACnBr/G,KAAK63B,QAAUn0B,KAAKmsB,MAAMuvF,EAAc,GACxCp/G,KAAK83B,QAAUp0B,KAAKmsB,MAAMwvF,EAAe,GACzCr/G,KAAKyyE,kBAAoB6sC,EACzBt/G,KAAK0yE,kBAAoB6sC,EACzBv/G,KAAKi/G,kBAAoBO,EACzBx/G,KAAKk/G,kBAAoBO,IAWjCvrF,MAAO,WAEH,IAAIwB,EAAS,IAAIl0B,EAAOk5E,MAAM16E,KAAK4I,MAAO5I,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKgyB,MAExF,IAAK,IAAIu+C,KAAQvwE,KAETA,KAAKqxB,eAAek/C,KAEpB76C,EAAO66C,GAAQvwE,KAAKuwE,IAI5B,OAAO76C,GAUXgqF,QAAS,SAAUzqF,GAWf,YATY1uB,IAAR0uB,EAEAA,EAAM,IAAIzzB,EAAOS,UAAUjC,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAI5Do3B,EAAIG,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAGxCo3B,IAKfzzB,EAAOk5E,MAAMp4E,UAAUC,YAAcf,EAAOk5E,MAc5Cl5E,EAAO+4E,UAAY,WAMfv6E,KAAKw9G,WAMLx9G,KAAK2/G,gBAGTn+G,EAAO+4E,UAAUj4E,WASbm4E,SAAU,SAAUptE,GAWhB,OATAA,EAAMzE,MAAQ5I,KAAKw9G,QAAQ76G,OAE3B3C,KAAKw9G,QAAQ11G,KAAKuF,GAEC,KAAfA,EAAM2kB,OAENhyB,KAAK2/G,YAAYtyG,EAAM2kB,MAAQ3kB,EAAMzE,OAGlCyE,GAUXgwG,SAAU,SAAUz0G,GAOhB,OALIA,GAAS5I,KAAKw9G,QAAQ76G,SAEtBiG,EAAQ,GAGL5I,KAAKw9G,QAAQ50G,IAUxB00G,eAAgB,SAAUtrF,GAEtB,MAAsC,iBAA3BhyB,KAAK2/G,YAAY3tF,GAEjBhyB,KAAKw9G,QAAQx9G,KAAK2/G,YAAY3tF,IAGlC,MAUXgrF,eAAgB,SAAUhrF,GAEtB,OAA8B,MAA1BhyB,KAAK2/G,YAAY3tF,IAczBkC,MAAO,WAKH,IAAK,IAHDwB,EAAS,IAAIl0B,EAAO+4E,UAGf73E,EAAI,EAAGA,EAAI1C,KAAKw9G,QAAQ76G,OAAQD,IAErCgzB,EAAO8nF,QAAQ11G,KAAK9H,KAAKw9G,QAAQ96G,GAAGwxB,SAGxC,IAAK,IAAIlxB,KAAKhD,KAAK2/G,YAEX3/G,KAAK2/G,YAAYtuF,eAAeruB,KAEhC0yB,EAAOiqF,YAAY38G,GAAKhD,KAAK2/G,YAAY38G,IAIjD,OAAO0yB,GAYXkqF,cAAe,SAAUtzG,EAAO+O,EAAKqa,QAElBnvB,IAAXmvB,IAAwBA,MAE5B,IAAK,IAAIhzB,EAAI4J,EAAO5J,GAAK2Y,EAAK3Y,IAE1BgzB,EAAO5tB,KAAK9H,KAAKw9G,QAAQ96G,IAG7B,OAAOgzB,GAaXimE,UAAW,SAAUD,EAAQmhB,EAAiBnnF,GAK1C,QAHwBnvB,IAApBs2G,IAAiCA,GAAkB,QACxCt2G,IAAXmvB,IAAwBA,WAEbnvB,IAAXm1F,GAA0C,IAAlBA,EAAO/4F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKw9G,QAAQ76G,OAAQD,IAGrCgzB,EAAO5tB,KAAK9H,KAAKw9G,QAAQ96G,SAM7B,IAAK,IAAIA,EAAI,EAAGA,EAAIg5F,EAAO/4F,OAAQD,IAG3Bm6G,EAGAnnF,EAAO5tB,KAAK9H,KAAKq9G,SAAS3hB,EAAOh5F,KAKjCgzB,EAAO5tB,KAAK9H,KAAKs9G,eAAe5hB,EAAOh5F,KAKnD,OAAOgzB,GAaXonF,gBAAiB,SAAUphB,EAAQmhB,EAAiBnnF,GAKhD,QAHwBnvB,IAApBs2G,IAAiCA,GAAkB,QACxCt2G,IAAXmvB,IAAwBA,WAEbnvB,IAAXm1F,GAA0C,IAAlBA,EAAO/4F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKw9G,QAAQ76G,OAAQD,IAErCgzB,EAAO5tB,KAAK9H,KAAKw9G,QAAQ96G,GAAGkG,YAMhC,IAAK,IAAIlG,EAAI,EAAGA,EAAIg5F,EAAO/4F,OAAQD,IAG3Bm6G,GAAmB78G,KAAKw9G,QAAQ9hB,EAAOh5F,IAEvCgzB,EAAO5tB,KAAK9H,KAAKw9G,QAAQ9hB,EAAOh5F,IAAIkG,OAGpC5I,KAAKs9G,eAAe5hB,EAAOh5F,KAE3BgzB,EAAO5tB,KAAK9H,KAAKs9G,eAAe5hB,EAAOh5F,IAAIkG,OAKvD,OAAO8sB,GAQXlzB,QAAS,WAELxC,KAAKw9G,QAAU,KACfx9G,KAAK2/G,YAAc,OAK3Bn+G,EAAO+4E,UAAUj4E,UAAUC,YAAcf,EAAO+4E,UAOhDvzE,OAAOyF,eAAejL,EAAO+4E,UAAUj4E,UAAW,SAE9C4E,IAAK,WAED,OAAOlH,KAAKw9G,QAAQ76G,UAiB5BnB,EAAOq+G,iBAkBHC,YAAa,SAAU/8G,EAAMiQ,EAAK4rF,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,QAEjE35G,IAAbw5G,IAA0BA,GAAY,QAC3Bx5G,IAAXy5G,IAAwBA,EAAS,QACrBz5G,IAAZ05G,IAAyBA,EAAU,QACpB15G,IAAf25G,IAA4BA,EAAa,GAE7C,IAAI5tC,EAAMt/D,EAWV,GATmB,iBAARA,EAEPs/D,EAAMvvE,EAAKiX,MAAMu4D,SAASv/D,GAI1BA,EAAMs/D,EAAItgD,KAGF,OAARsgD,EAEA,OAAO,KAGX,GAAIssB,GAAc,GAAKC,GAAe,EAKlC,OAHAv+F,QAAQ+Z,KAAK,gGACTrH,EAAK4rF,EAAYC,GAEd,KAGX,IAAIjhG,EAAQ00E,EAAI10E,MACZC,EAASy0E,EAAIz0E,OAEjB,GAAc,IAAVD,GAA0B,IAAXC,EAIf,OAFAyC,QAAQ+Z,KAAK,6EAAgFrH,EAAKpV,EAAOC,GAElG,KAGX,GAAID,EAAQghG,GAAc/gG,EAASghG,EAK/B,OAHAv+F,QAAQ+Z,KAAK,gIACTrH,EAAKpV,EAAOC,EAAQ+gG,EAAYC,GAE7B,KAGX,IAAIshB,EAAMz8G,KAAKmsB,OAAOjyB,EAAQoiH,IAAWphB,EAAaqhB,IAClDG,EAAS18G,KAAKmsB,OAAOhyB,EAASmiH,IAAWnhB,EAAcohB,IACvDjnE,EAAQmnE,EAAMC,EACdC,EAAiBrnE,EACjBsnE,EAAgBtnE,EAAQ,EACxBunE,EAAa,EACbC,EAAYF,EAEhB,GAAIJ,EAAalnE,GAASknE,GAAclnE,EAKpC,OAHA14C,QAAQ+Z,KAAK,6FACTrH,EAAKktG,EAAYlnE,GAEd,KAqBX,GAlBI+mE,GAAY,IAGZS,GADAxnE,EAAQ+mE,GACY,GAGpBI,EAAM,GAEN7/G,QAAQ+Z,KAAK,mIACTrH,EAAKpV,EAAOghG,EAAaohB,EAASC,EAASrhB,EAAYohB,EAAQC,GAGnEG,EAAS,GAET9/G,QAAQ+Z,KAAK,qIACTrH,EAAKnV,EAAQghG,EAAcmhB,EAASC,EAASphB,EAAamhB,EAAQC,GAGnD,IAAnBI,EAIA,OAFA//G,QAAQ+Z,KAAK,qEAAwErH,GAE9E,KAkBX,GAfIktG,EAAa,EAKbM,GAFAD,EAAaL,IACblnE,EAAQt1C,KAAK41B,IAAI0f,EAAOqnE,EAAiBH,IACR,EAE5BA,EAAa,IAKlBK,GAFAC,EAAYF,EAAgBJ,IAC5BlnE,EAAQt1C,KAAK41B,IAAI0f,EAAOqnE,EAAiBH,IACR,GAGjCK,EAAa,EAIb,OAFAjgH,QAAQ+Z,KAAK,mDAAoDkmG,EAAYD,GAEtE,KAGX,GAAIE,EAAYF,EAIZ,OAFAhgH,QAAQ+Z,KAAK,kDAAmDmmG,EAAWF,GAEpE,KASX,IAAK,IALDlsG,EAAO,IAAI5S,EAAO+4E,UAClBx2E,EAAIi8G,EACJh8G,EAAIg8G,EACJzB,EAAa,EAER77G,EAAI,EAAGA,EAAI29G,KAEZ39G,EAAI89G,GAFwB99G,IAO5BA,GAAK69G,GAELnsG,EAAKqmE,SAAS,IAAIj5E,EAAOk5E,MAAM6jC,IAAcx6G,EAAGC,EAAG46F,EAAYC,EAAa,MAGhF96F,GAAK66F,EAAaqhB,GAEVrhB,EAAahhG,IAEjBmG,EAAIi8G,EACJh8G,GAAK66F,EAAcohB,GAI3B,OAAO7rG,GAWXqsG,SAAU,SAAU19G,EAAM29G,GAGtB,IAAKA,EAAKhlB,OAIN,OAFAp7F,QAAQ+Z,KAAK,kGACb/Z,QAAQ+P,IAAIqwG,GAWhB,IAAK,IAFDC,EAJAvsG,EAAO,IAAI5S,EAAO+4E,UAGlBmhB,EAASglB,EAAKhlB,OAGTh5F,EAAI,EAAGA,EAAIg5F,EAAO/4F,OAAQD,IAE/Bi+G,EAAWvsG,EAAKqmE,SAAS,IAAIj5E,EAAOk5E,MAChCh4E,EACAg5F,EAAOh5F,GAAG2K,MAAMtJ,EAChB23F,EAAOh5F,GAAG2K,MAAMrJ,EAChB03F,EAAOh5F,GAAG2K,MAAMgI,EAChBqmF,EAAOh5F,GAAG2K,MAAMkX,EAChBm3E,EAAOh5F,GAAGk+G,WAGVllB,EAAOh5F,GAAG8vE,SAEVmuC,EAASxB,QACLzjB,EAAOh5F,GAAG8vE,QACVkpB,EAAOh5F,GAAGm+G,WAAWxrG,EACrBqmF,EAAOh5F,GAAGm+G,WAAWt8F,EACrBm3E,EAAOh5F,GAAGo+G,iBAAiB/8G,EAC3B23F,EAAOh5F,GAAGo+G,iBAAiB98G,EAC3B03F,EAAOh5F,GAAGo+G,iBAAiBzrG,EAC3BqmF,EAAOh5F,GAAGo+G,iBAAiBv8F,GAI/Bm3E,EAAOh5F,GAAGgM,UAEViyG,EAASjyG,SAAU,GAI3B,OAAO0F,GAWX2sG,cAAe,SAAUh+G,EAAM29G,GAgB3B,IAbkB,SAAU,YAAY,aAAa,YAAa,aAExD/vF,QAAQ,SAAU3d,GAExB,IAAK0tG,EAAK1tG,GAIN,OAFA1S,QAAQ+Z,KAAK,oFAAsFrH,EAAM,eACzG1S,QAAQ+P,IAAIqwG,KAMO,IAAvBA,EAAKM,OAAOr+G,OAIZ,OAFArC,QAAQ+Z,KAAK,wGACb/Z,QAAQ+P,IAAIqwG,GAYhB,IAAK,IARDtsG,EAAO,IAAI5S,EAAO+4E,UAElB0mC,EAAaP,EAAKO,WAClBC,EAAYR,EAAKQ,UAEjBxlB,EAASglB,EAAKM,OAAO,GAAGG,MAGnBz+G,EAAI,EAAGA,EAAIg5F,EAAO/4F,OAAQD,IAEpB0R,EAAKqmE,SAAS,IAAIj5E,EAAOk5E,MAChCh4E,EACAg5F,EAAOh5F,GAAGqB,EACV23F,EAAOh5F,GAAGsB,EACVk9G,EACAD,EACA,SAAWv+G,IAINy8G,SAAQ,GAGrB,OAAO/qG,GAWXgtG,aAAc,SAAUr+G,EAAM29G,GAG1B,IAAKA,EAAKhlB,OAIN,OAFAp7F,QAAQ+Z,KAAK,uGACb/Z,QAAQ+P,IAAIqwG,GAKhB,IAIIC,EAJAvsG,EAAO,IAAI5S,EAAO+4E,UAGlBmhB,EAASglB,EAAKhlB,OAEdh5F,EAAI,EAER,IAAK,IAAIsQ,KAAO0oF,EAEZilB,EAAWvsG,EAAKqmE,SAAS,IAAIj5E,EAAOk5E,MAChCh4E,EACAg5F,EAAO1oF,GAAK3F,MAAMtJ,EAClB23F,EAAO1oF,GAAK3F,MAAMrJ,EAClB03F,EAAO1oF,GAAK3F,MAAMgI,EAClBqmF,EAAO1oF,GAAK3F,MAAMkX,EAClBvR,IAGA0oF,EAAO1oF,GAAKw/D,SAEZmuC,EAASxB,QACLzjB,EAAO1oF,GAAKw/D,QACZkpB,EAAO1oF,GAAK6tG,WAAWxrG,EACvBqmF,EAAO1oF,GAAK6tG,WAAWt8F,EACvBm3E,EAAO1oF,GAAK8tG,iBAAiB/8G,EAC7B23F,EAAO1oF,GAAK8tG,iBAAiB98G,EAC7B03F,EAAO1oF,GAAK8tG,iBAAiBzrG,EAC7BqmF,EAAO1oF,GAAK8tG,iBAAiBv8F,GAIjCm3E,EAAO1oF,GAAKtE,UAEZiyG,EAASjyG,SAAU,GAGvBhM,IAGJ,OAAO0R,GAWXitG,QAAS,SAAUt+G,EAAMu+G,GAGrB,GAAKA,EAAIC,qBAAqB,gBAA9B,CAsBA,IAAK,IAbDZ,EAEA3uF,EACA3kB,EACAtJ,EACAC,EACApG,EACAC,EACA2jH,EACAC,EACA7iB,EACAC,EAbAzqF,EAAO,IAAI5S,EAAO+4E,UAClBmhB,EAAS4lB,EAAIC,qBAAqB,cAc7B7+G,EAAI,EAAGA,EAAIg5F,EAAO/4F,OAAQD,IAI/BsvB,GAFA3kB,EAAQquF,EAAOh5F,GAAG+O,YAELugB,KAAK5qB,MAClBrD,EAAIovB,SAAS9lB,EAAMtJ,EAAEqD,MAAO,IAC5BpD,EAAImvB,SAAS9lB,EAAMrJ,EAAEoD,MAAO,IAC5BxJ,EAAQu1B,SAAS9lB,EAAMzP,MAAMwJ,MAAO,IACpCvJ,EAASs1B,SAAS9lB,EAAMxP,OAAOuJ,MAAO,IAEtCo6G,EAAS,KACTC,EAAS,KAELp0G,EAAMm0G,SAENA,EAAS99G,KAAKizB,IAAIxD,SAAS9lB,EAAMm0G,OAAOp6G,MAAO,KAC/Cq6G,EAAS/9G,KAAKizB,IAAIxD,SAAS9lB,EAAMo0G,OAAOr6G,MAAO,KAC/Cw3F,EAAazrE,SAAS9lB,EAAMuxF,WAAWx3F,MAAO,IAC9Cy3F,EAAc1rE,SAAS9lB,EAAMwxF,YAAYz3F,MAAO,KAGpDu5G,EAAWvsG,EAAKqmE,SAAS,IAAIj5E,EAAOk5E,MAAMh4E,EAAGqB,EAAGC,EAAGpG,EAAOC,EAAQm0B,IAGnD,OAAXwvF,GAA8B,OAAXC,GAEnBd,EAASxB,SAAQ,EAAMvhH,EAAOC,EAAQ2jH,EAAQC,EAAQ7iB,EAAYC,GAI1E,OAAOzqF,EAlDH9T,QAAQ+Z,KAAK,iGAwFzB7Y,EAAOmtC,MAAQ,SAAU5rC,GAKrB/C,KAAK+C,KAAOA,EAMZ/C,KAAK0hH,gBAAiB,EAOtB1hH,KAAKia,QACD/C,UACAgD,SACAnc,WACA2oC,SACA+vC,SACA7B,QACA8rC,QACAY,OACAx6E,WACAqvC,WACAwrC,UACAhrC,cACAirC,cACA30G,UACAjI,iBACA68G,qBACAztG,SAOJpU,KAAK8hH,WAML9hH,KAAK+hH,aAAe,IAAIjuC,MAMxB9zE,KAAKgiH,SAAW,KAKhBhiH,KAAKiiH,cAAgB,IAAIzgH,EAAO6gC,OAMhCriC,KAAKkiH,aAELliH,KAAKkiH,UAAU1gH,EAAOmtC,MAAMplB,QAAUvpB,KAAKia,OAAO/C,OAClDlX,KAAKkiH,UAAU1gH,EAAOmtC,MAAMviB,OAASpsB,KAAKia,OAAOC,MACjDla,KAAKkiH,UAAU1gH,EAAOmtC,MAAMwzE,SAAWniH,KAAKia,OAAOlc,QACnDiC,KAAKkiH,UAAU1gH,EAAOmtC,MAAMyzE,OAASpiH,KAAKia,OAAOysB,MACjD1mC,KAAKkiH,UAAU1gH,EAAOmtC,MAAMriB,MAAQtsB,KAAKia,OAAO26D,KAChD50E,KAAKkiH,UAAU1gH,EAAOmtC,MAAM0zE,SAAWriH,KAAKia,OAAO6sB,QACnD9mC,KAAKkiH,UAAU1gH,EAAOmtC,MAAMhiB,SAAW3sB,KAAKia,OAAOk8D,QACnDn2E,KAAKkiH,UAAU1gH,EAAOmtC,MAAM2zE,QAAUtiH,KAAKia,OAAO0nG,OAClD3hH,KAAKkiH,UAAU1gH,EAAOmtC,MAAM5hB,YAAc/sB,KAAKia,OAAO08D,WACtD32E,KAAKkiH,UAAU1gH,EAAOmtC,MAAM4zE,YAAcviH,KAAKia,OAAO2nG,WACtD5hH,KAAKkiH,UAAU1gH,EAAOmtC,MAAM6zE,MAAQxiH,KAAKia,OAAOymG,KAChD1gH,KAAKkiH,UAAU1gH,EAAOmtC,MAAM8zE,KAAOziH,KAAKia,OAAOqnG,IAC/CthH,KAAKkiH,UAAU1gH,EAAOmtC,MAAM7gB,OAAS9tB,KAAKia,OAAOw8D,MACjDz2E,KAAKkiH,UAAU1gH,EAAOmtC,MAAM+zE,QAAU1iH,KAAKia,OAAOhN,OAClDjN,KAAKkiH,UAAU1gH,EAAOmtC,MAAMg0E,gBAAkB3iH,KAAKia,OAAOjV,cAC1DhF,KAAKkiH,UAAU1gH,EAAOmtC,MAAMi0E,MAAQ5iH,KAAKia,OAAO7F,KAMhDpU,KAAK6iH,cAAgB,EAOrB7iH,KAAK0+C,QAAU,IAAIl9C,EAAO6gC,OAE1BriC,KAAK8iH,cAOTthH,EAAOmtC,MAAMplB,OAAS,EAMtB/nB,EAAOmtC,MAAMviB,MAAQ,EAMrB5qB,EAAOmtC,MAAMwzE,QAAU,EAMvB3gH,EAAOmtC,MAAMyzE,MAAQ,EAMrB5gH,EAAOmtC,MAAMriB,KAAO,EAMpB9qB,EAAOmtC,MAAM0zE,QAAU,EAMvB7gH,EAAOmtC,MAAMhiB,QAAU,EAMvBnrB,EAAOmtC,MAAM2zE,OAAS,EAMtB9gH,EAAOmtC,MAAM5hB,WAAa,EAM1BvrB,EAAOmtC,MAAM4zE,WAAa,GAM1B/gH,EAAOmtC,MAAM6zE,KAAO,GAMpBhhH,EAAOmtC,MAAM8zE,IAAM,GAMnBjhH,EAAOmtC,MAAM7gB,MAAQ,GAMrBtsB,EAAOmtC,MAAM+zE,OAAS,GAMtBlhH,EAAOmtC,MAAMg0E,eAAiB,GAM9BnhH,EAAOmtC,MAAMi0E,KAAO,GAOpBphH,EAAOmtC,MAAMjnB,QAAU,KAOvBlmB,EAAOmtC,MAAMo0E,YAAc,YAO3BvhH,EAAOmtC,MAAMq0E,YAAc,yKAO3BxhH,EAAOmtC,MAAMs0E,QAAU,KAOvBzhH,EAAOmtC,MAAMu0E,YAAc,YAO3B1hH,EAAOmtC,MAAMw0E,YAAc,6WAQ3B3hH,EAAOmtC,MAAMy0E,cAAgB,IAE7B5hH,EAAOmtC,MAAMrsC,WAmBT+gH,6BAA8B,SAAUrwG,EAAK0jE,EAAK4sC,EAAWC,GAErDvjH,KAAK44F,cAAc5lF,IAEnBhT,KAAKwjH,YAAYxwG,GAGrB,IAAIoB,EAAQkvG,KAAa9hH,EAAOiiH,aAAgBjiH,EAAOiiH,aAAaH,GAAWC,GAAeA,EAE1FxlH,GACAiV,IAAKA,EACL0jE,IAAKA,EACLtiE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDyI,MAAO,IAAI7L,EAAOk5E,MAAM,EAAG,EAAG,EAAGtmE,EAAKxW,MAAOwW,EAAKvW,OAAQmV,GAC1Dm/D,UAAW,IAAI3wE,EAAO+4E,UACtBmpC,WAAYJ,GAShB,OANAvlH,EAAQo0E,UAAUsI,SAAS,IAAIj5E,EAAOk5E,MAAM,EAAG,EAAG,EAAGtmE,EAAKxW,MAAOwW,EAAKvW,OAAQ64E,IAE9E12E,KAAKia,OAAOC,MAAMlH,GAAOjV,EAEzBiC,KAAK2jH,YAAYjtC,EAAK34E,GAEfA,GAWX6lH,UAAW,SAAU5wG,EAAKkE,EAAQpJ,QAEdvH,IAAZuH,IAAyBA,EAAUoJ,EAAOsB,WAAW,OAEzDxY,KAAKia,OAAO/C,OAAOlE,IAASkE,OAAQA,EAAQpJ,QAASA,IAezDsuE,SAAU,SAAUppE,EAAK0jE,EAAKtiE,GAEtBpU,KAAK44F,cAAc5lF,IAEnBhT,KAAKwjH,YAAYxwG,IAGC,IAAlBoB,EAAKgW,UAEL9pB,QAAQ+Z,KAAK,oDAAqDrH,GAGtE,IAAIs/D,GACAt/D,IAAKA,EACL0jE,IAAKA,EACLtiE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDyI,MAAO,IAAI7L,EAAOk5E,MAAM,EAAG,EAAG,EAAGtmE,EAAKxW,MAAOwW,EAAKvW,OAAQmV,GAC1Dm/D,UAAW,IAAI3wE,EAAO+4E,WAkB1B,OAfAjI,EAAIH,UAAUsI,SAAS,IAAIj5E,EAAOk5E,MAAM,EAAG,EAAG,EAAGtmE,EAAKxW,MAAOwW,EAAKvW,OAAQ64E,IAE1E12E,KAAKia,OAAOC,MAAMlH,GAAOs/D,EAEzBtyE,KAAK2jH,YAAYjtC,EAAKpE,GAEV,cAARt/D,EAEAxR,EAAOmtC,MAAMjnB,QAAU,IAAIlpB,KAAKqO,QAAQylE,EAAIl4D,MAE/B,cAARpH,IAELxR,EAAOmtC,MAAMs0E,QAAU,IAAIzkH,KAAKqO,QAAQylE,EAAIl4D,OAGzCk4D,GAOXuxC,cAAe,SAAU7wG,EAAKnD,EAAKmlC,GAE/B,IAAI7Z,EAAOn7B,KACPsyE,EAAM,IAAIwB,MAEdxB,EAAI4J,OAAS,WAETlnC,EAASxwC,KAAKxE,KAAMm7B,EAAKihD,SAASppE,EAAK,KAAMs/D,IAC7Cn3C,EAAK2oF,iBACLxxC,EAAI4J,OAAS,MAGjBl8E,KAAK+jH,cACLzxC,EAAIziE,IAAMA,GAYdm0G,gBAAiB,WAEbhkH,KAAK6jH,cAAcriH,EAAOmtC,MAAMo0E,YAAavhH,EAAOmtC,MAAMq0E,YAAa,SAAUjxF,GAG7EA,EAAI3X,KAAK5M,YAAa,EAGtBhM,EAAOmtC,MAAMjnB,QAAU,IAAIlpB,KAAKqO,QAAQklB,EAAI3X,SAapD6pG,gBAAiB,WAEbjkH,KAAK6jH,cAAcriH,EAAOmtC,MAAMu0E,YAAa1hH,EAAOmtC,MAAMw0E,YAAa,SAAUpxF,GAG7EvwB,EAAOmtC,MAAMs0E,QAAU,IAAIzkH,KAAKqO,QAAQklB,EAAI3X,SAcpD8pG,SAAU,SAAUlxG,EAAK0jE,EAAKtiE,EAAM0qC,EAAUqlE,QAEzB59G,IAAbu4C,IAA0BA,GAAW,EAAMqlE,GAAW,QACzC59G,IAAb49G,IAA0BrlE,GAAW,EAAOqlE,GAAW,GAE3D,IAAIC,GAAU,EAEVD,IAEAC,GAAU,GAGdpkH,KAAKia,OAAOysB,MAAM1zB,IACd0jE,IAAKA,EACLtiE,KAAMA,EACNiwG,YAAY,EACZD,QAASA,EACTtlE,SAAUA,EACVqlE,SAAUA,EACVn1D,OAAQhvD,KAAK+C,KAAK2jC,MAAM49E,aAG5BtkH,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAOysB,MAAM1zB,KAW5CuxG,QAAS,SAAUvxG,EAAK0jE,EAAKtiE,GAEzBpU,KAAKia,OAAO26D,KAAK5hE,IAAS0jE,IAAKA,EAAKtiE,KAAMA,GAE1CpU,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAO26D,KAAK5hE,KAY3CwxG,eAAgB,SAAUxxG,EAAK0jE,EAAK+pC,EAAUhsG,GAE1CzU,KAAKia,OAAO6sB,QAAQ9zB,IAAS0jE,IAAKA,EAAKtiE,KAAMqsG,EAAUhsG,OAAQA,GAE/DzU,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAO6sB,QAAQ9zB,KAY9CyxG,WAAY,SAAUzxG,EAAK0jE,EAAKguC,EAASjwG,GAErCzU,KAAKia,OAAOk8D,QAAQnjE,IAAS0jE,IAAKA,EAAKtiE,KAAMswG,EAASjwG,OAAQA,GAE9DzU,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAOk8D,QAAQnjE,KAU9C2xG,UAAW,SAAU3xG,EAAK4xG,GAEtB5kH,KAAKia,OAAO0nG,OAAO3uG,GAAO4xG,GAY9BhuC,cAAe,SAAU5jE,EAAK2jE,EAAYxE,GAYtC,OAVAwE,EAAW3jE,IAAMA,OAECzM,IAAd4rE,IAEAA,EAAY,IAAI3wE,EAAO+4E,WACbE,SAAS9D,EAAW6D,cAGlCx6E,KAAKia,OAAO08D,WAAW3jE,IAASoB,KAAMuiE,EAAYxE,UAAWA,GAEtDwE,GAeXkuC,cAAe,SAAU7xG,EAAK0jE,EAAKtiE,EAAM0wG,EAAWC,EAAWlvC,EAAUC,GAErE,IAAI/jD,GACA2kD,IAAKA,EACLtiE,KAAMA,EACNohE,KAAM,KACNp7D,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,kBAGpC2B,IAAbsvE,IAA0BA,EAAW,QACxBtvE,IAAbuvE,IAA0BA,EAAW,GAIrC/jD,EAAIyjD,KAFU,SAAduvC,EAEWvjH,EAAOiiH,aAAauB,eAAeF,EAAW/yF,EAAI3X,KAAMy7D,EAAUC,GAAU,EAAO91E,KAAK+C,KAAK6B,YAI7FpD,EAAOiiH,aAAawB,cAAcH,EAAW/yF,EAAI3X,KAAMy7D,EAAUC,GAAU,EAAO91E,KAAK+C,KAAK6B,YAG3G5E,KAAKia,OAAO2nG,WAAW5uG,GAAO+e,EAE9B/xB,KAAK2jH,YAAYjtC,EAAK3kD,IAuB1BmzF,uBAAwB,SAAUlyG,EAAKmyG,EAAUC,EAAYC,EAASC,EAAUzvC,EAAUC,GAEtF,IAAIzoE,EAAQrN,KAAKs9G,eAAe6H,EAAUC,GAE1C,GAAK/3G,EAAL,CAKA,IAAI0kB,GACAyjD,KAAM,KACNp7D,KAAMpa,KAAKulH,eAAeJ,GAC1B93G,MAAOA,QAGM9G,IAAbsvE,IAA0BA,EAAW,QACxBtvE,IAAbuvE,IAA0BA,EAAW,GAEzC,IAAI0vC,EAEa,SAAbF,GAEAE,EAAWxlH,KAAKylH,QAAQJ,GACxBtzF,EAAIyjD,KAAOh0E,EAAOiiH,aAAauB,eAAeQ,EAAUzzF,EAAI3X,KAAMy7D,EAAUC,EAAUzoE,EAAOrN,KAAK+C,KAAK6B,cAIvG4gH,EAAWxlH,KAAK0lH,OAAOL,GACvBtzF,EAAIyjD,KAAOh0E,EAAOiiH,aAAawB,cAAcO,EAAUzzF,EAAI3X,KAAMy7D,EAAUC,EAAUzoE,EAAOrN,KAAK+C,KAAK6B,aAG1G5E,KAAKia,OAAO2nG,WAAW5uG,GAAO+e,IAWlC4zF,QAAS,SAAU3yG,EAAK0jE,EAAKtiE,GAEzBpU,KAAKia,OAAOymG,KAAK1tG,IAAS0jE,IAAKA,EAAKtiE,KAAMA,GAE1CpU,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAOymG,KAAK1tG,KAW3C4yG,OAAQ,SAAU5yG,EAAK0jE,EAAKtiE,GAExBpU,KAAKia,OAAOqnG,IAAItuG,IAAS0jE,IAAKA,EAAKtiE,KAAMA,GAEzCpU,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAOqnG,IAAItuG,KAY1C6yG,SAAU,SAAU7yG,EAAK0jE,EAAKtiE,EAAM0xG,GAEhC9lH,KAAKia,OAAOw8D,MAAMzjE,IAAS0jE,IAAKA,EAAKtiE,KAAMA,EAAM0xG,OAAQA,EAAQ92D,QAAQ,GAEzEhvD,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAOw8D,MAAMzjE,KAW5C+yG,UAAW,SAAU/yG,EAAK0jE,EAAKtiE,GAE3BpU,KAAKia,OAAOhN,OAAO+F,IAAS0jE,IAAKA,EAAKtiE,KAAMA,GAE5CpU,KAAK2jH,YAAYjtC,EAAK12E,KAAKia,OAAOhN,OAAO+F,KAU7CwjE,iBAAkB,SAAUxjE,EAAKjV,GAE7BiC,KAAKia,OAAOjV,cAAcgO,IAASjV,QAASA,EAASsP,MAAO,IAAI7L,EAAOk5E,MAAM,EAAG,EAAG,EAAG38E,EAAQH,MAAOG,EAAQF,OAAQ,GAAI,MAiB7HmoH,eAAgB,SAAUhzG,EAAK0jE,EAAKtiE,EAAMwqF,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,QAEzE35G,IAAbw5G,IAA0BA,GAAY,QAC3Bx5G,IAAXy5G,IAAwBA,EAAS,QACrBz5G,IAAZ05G,IAAyBA,EAAU,GAEvC,IAAIluF,GACA/e,IAAKA,EACL0jE,IAAKA,EACLtiE,KAAMA,EACNwqF,WAAYA,EACZC,YAAaA,EACbmhB,OAAQA,EACRC,QAASA,EACT7lG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,YACjDutE,UAAW3wE,EAAOq+G,gBAAgBC,YAAY9/G,KAAK+C,KAAMqR,EAAMwqF,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,IAGvHlgH,KAAKia,OAAOC,MAAMlH,GAAO+e,EAEzB/xB,KAAK2jH,YAAYjtC,EAAK3kD,IAa1Bk0F,gBAAiB,SAAUjzG,EAAK0jE,EAAKtiE,EAAM0wG,EAAWrwG,GAElD,IAAIsd,GACA/e,IAAKA,EACL0jE,IAAKA,EACLtiE,KAAMA,EACNgG,KAAM,IAAI5b,KAAK2rB,YAAY/V,EAAM,KAAMpU,KAAK+C,KAAK6B,aAGjD6P,IAAWjT,EAAOi8C,OAAOyoE,2BAEzBn0F,EAAIogD,UAAY3wE,EAAOq+G,gBAAgBwB,QAAQrhH,KAAK+C,KAAM+hH,EAAW9xG,GAEhEyB,IAAWjT,EAAOi8C,OAAO0oE,yBAE9Bp0F,EAAIogD,UAAY3wE,EAAOq+G,gBAAgBkB,cAAc/gH,KAAK+C,KAAM+hH,EAAW9xG,GAKvEvL,MAAMC,QAAQo9G,EAAUppB,QAExB3pE,EAAIogD,UAAY3wE,EAAOq+G,gBAAgBY,SAASzgH,KAAK+C,KAAM+hH,EAAW9xG,GAItE+e,EAAIogD,UAAY3wE,EAAOq+G,gBAAgBuB,aAAaphH,KAAK+C,KAAM+hH,EAAW9xG,GAIlFhT,KAAKia,OAAOC,MAAMlH,GAAO+e,EAEzB/xB,KAAK2jH,YAAYjtC,EAAK3kD,IAU1Bq0F,QAAS,SAAUpzG,EAAKoB,GAEpBpU,KAAKia,OAAO7F,KAAKpB,GAAOoB,GAe5BiyG,YAAa,SAAUrzG,GAEnB,IAAI05B,EAAQ1sC,KAER0mC,EAAQ1mC,KAAKsmH,SAAStzG,GAEtB0zB,IAEAA,EAAMtyB,KAAKvE,IAAM62B,EAAMgwC,IAEvBhwC,EAAMtyB,KAAK48B,iBAAiB,iBAAkB,WAE1C,OAAOtE,EAAM65E,oBAAoBvzG,KAClC,GAEH0zB,EAAMtyB,KAAKqyB,SAUnB8/E,oBAAqB,SAAUvzG,GAE3B,IAAI0zB,EAAQ1mC,KAAKsmH,SAAStzG,GAEtB0zB,IAEAA,EAAMsoB,QAAS,EACfhvD,KAAKiiH,cAAcx8E,SAASzyB,KAUpCwzG,YAAa,SAAUxzG,EAAKgkC,EAAU5vC,GAElC,IAAIs/B,EAAQ1mC,KAAKsmH,SAAStzG,GAEtB0zB,IAEAA,EAAMsQ,GAAY5vC,IAW1Bq/G,aAAc,SAAUzzG,EAAKoB,GAEzB,IAAIsyB,EAAQ1mC,KAAKsmH,SAAStzG,GAE1B0zB,EAAMtyB,KAAOA,EACbsyB,EAAM09E,SAAU,EAChB19E,EAAM29E,YAAa,GAUvBqC,eAAgB,SAAU1zG,GAEtB,IAAI0zB,EAAQ1mC,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMyzE,MAAO,kBAElD,GAAI17E,EAEA,OAAOA,EAAM09E,SAYrBuC,aAAc,SAAU3zG,GAEpB,IAAI0zB,EAAQ1mC,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMyzE,MAAO,kBAElD,GAAI17E,EAEA,OAAQA,EAAM09E,UAAYpkH,KAAK+C,KAAK2jC,MAAM49E,aAkBlDsC,SAAU,SAAU5sG,EAAOhH,GAEvB,QAAIhT,KAAKkiH,UAAUloG,GAAOhH,IAkB9B6zG,SAAU,SAAUnwC,GAEhB,QAAI12E,KAAK8hH,QAAQ9hH,KAAK2jH,YAAYjtC,KAetCowC,eAAgB,SAAU9zG,GAEtB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMplB,OAAQvW,IAU9C+zG,aAAc,SAAU/zG,GAEpB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMi0E,KAAM5vG,IAU5C4lF,cAAe,SAAU5lF,GAErB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMviB,MAAOpZ,IAU7Cg0G,gBAAiB,SAAUh0G,GAEvB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMwzE,QAASnvG,IAU/Ci0G,cAAe,SAAUj0G,GAErB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMyzE,MAAOpvG,IAU7Ck0G,aAAc,SAAUl0G,GAEpB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMriB,KAAMtZ,IAU5Cm0G,gBAAiB,SAAUn0G,GAEvB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM0zE,QAASrvG,IAU/Co0G,gBAAiB,SAAUp0G,GAEvB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMhiB,QAAS3Z,IAU/Cq0G,eAAgB,SAAUr0G,GAEtB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM2zE,OAAQtvG,IAU9Cs0G,mBAAoB,SAAUt0G,GAE1B,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM5hB,WAAY/Z,IAUlDu0G,mBAAoB,SAAUv0G,GAE1B,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM4zE,WAAYvvG,IAUlDw0G,aAAc,SAAUx0G,GAEpB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM6zE,KAAMxvG,IAU5Cy0G,YAAa,SAAUz0G,GAEnB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM8zE,IAAKzvG,IAU3C00G,cAAe,SAAU10G,GAErB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM7gB,MAAO9a,IAU7C20G,eAAgB,SAAU30G,GAEtB,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAM+zE,OAAQ1vG,IAU9C40G,sBAAuB,SAAU50G,GAE7B,OAAOhT,KAAK4mH,SAASplH,EAAOmtC,MAAMg0E,eAAgB3vG,IAsBtDk0F,QAAS,SAAUl0F,EAAKgH,EAAOg+B,EAAQhB,GAEnC,OAAKh3C,KAAK4mH,SAAS5sG,EAAOhH,QAQTzM,IAAbywC,EAEOh3C,KAAKkiH,UAAUloG,GAAOhH,GAItBhT,KAAKkiH,UAAUloG,GAAOhH,GAAKgkC,IAZ9BgB,GAEA13C,QAAQ+Z,KAAK,gBAAkB29B,EAAS,UAAYhlC,EAAM,yBAa3D,OAcXwrE,UAAW,SAAUxrE,GAEjB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMplB,OAAQ,YAAa,WAmB/DgpD,SAAU,SAAUv/D,EAAK60G,QAETthH,IAARyM,GAA6B,OAARA,IAErBA,EAAM,kBAGGzM,IAATshH,IAAsBA,GAAO,GAEjC,IAAIv1C,EAAMtyE,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMviB,MAAO,YAOhD,OALY,OAARkmD,IAEAA,EAAMtyE,KAAKknG,QAAQ,YAAa1lG,EAAOmtC,MAAMviB,MAAO,aAGpDy7F,EAEOv1C,EAIAA,EAAIl+D,MAanB0zG,gBAAiB,SAAU90G,GAEvB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMwzE,QAAS,kBAAmB,UActEmE,SAAU,SAAUtzG,GAEhB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMyzE,MAAO,aAcjD2F,aAAc,SAAU/0G,GAEpB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMyzE,MAAO,eAAgB,SAcjE4F,QAAS,SAAUh1G,GAEf,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMriB,KAAM,UAAW,SAkB3D27F,eAAgB,SAAUj1G,EAAKymC,EAAQyuE,GAEnC,IAAI9zG,EAAOpU,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM0zE,QAAS,iBAAkB,QAErE,GAAa,OAATjuG,QAA4B7N,IAAXkzC,GAAmC,OAAXA,EAEzC,OAAOrlC,EAGX,GAAIA,EAAKqlC,GACT,CACI,IAAI0uE,EAAW/zG,EAAKqlC,GAGpB,IAAI0uE,IAAYD,EAmBZ,OAAOC,EAjBP,IAAK,IAAIC,KAAWD,EAMhB,IAHAC,EAAUD,EAASC,IAGPF,aAAeA,EAEvB,OAAOE,EAKf9nH,QAAQ+Z,KAAK,kEAAoE6tG,EAAa,OAASl1G,EAAM,UASjH1S,QAAQ+Z,KAAK,qDAAuDrH,EAAM,MAAQymC,EAAS,KAG/F,OAAO,MAcX4uE,eAAgB,SAAUr1G,GAEtB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMhiB,QAAS,mBAcnD27F,UAAW,SAAUt1G,GAEjB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM2zE,OAAQ,cAclDiG,cAAe,SAAUv1G,GAErB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM5hB,WAAY,gBAAiB,SAcvEsqE,cAAe,SAAUrkF,GAErB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM4zE,WAAY,kBAkBtDkD,QAAS,SAAUzyG,EAAKkhB,GAEpB,IAAI9f,EAAOpU,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM6zE,KAAM,UAAW,QAE3D,OAAIpuG,EAEI8f,EAEO1yB,EAAOgwB,MAAMsC,QAAO,EAAMrsB,MAAMC,QAAQ0M,SAAiBA,GAIzDA,EAKJ,MAefsxG,OAAQ,SAAU1yG,GAEd,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM8zE,IAAK,SAAU,SAczD+F,SAAU,SAAUx1G,GAEhB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM7gB,MAAO,aAcjD26F,UAAW,SAAUz1G,GAEjB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAM+zE,OAAQ,YAAa,SAc/DgG,iBAAkB,SAAU11G,GAExB,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMg0E,eAAgB,qBAU1DgG,QAAS,SAAU31G,GAEf,OAAOhT,KAAKknG,QAAQl0F,EAAKxR,EAAOmtC,MAAMi0E,KAAM,YAiBhD2C,eAAgB,SAAUvyG,EAAKgH,GAI3B,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOmtC,MAAMviB,OAEzCpsB,KAAKknG,QAAQl0F,EAAKgH,EAAO,iBAAkB,SAWtDqjG,SAAU,SAAUrqG,EAAKgH,GAIrB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOmtC,MAAMviB,OAEzCpsB,KAAKknG,QAAQl0F,EAAKgH,EAAO,WAAY,UAWhD4uG,cAAe,SAAU51G,EAAKgH,GAE1B,IAAI5F,EAAOpU,KAAKkyE,aAAal/D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAK4kC,MAIL,GAgBfk5B,aAAc,SAAUl/D,EAAKgH,GAIzB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOmtC,MAAMviB,OAEzCpsB,KAAKknG,QAAQl0F,EAAKgH,EAAO,eAAgB,cAWpDg4D,aAAc,SAAUh/D,EAAKgH,GAIzB,YAFczT,IAAVyT,IAAuBA,EAAQxY,EAAOmtC,MAAMviB,OAEM,OAA9CpsB,KAAKknG,QAAQl0F,EAAKgH,EAAO,GAAI,cAWzCy/E,gBAAiB,SAAUzmF,EAAKm/D,EAAWn4D,QAEzBzT,IAAVyT,IAAuBA,EAAQxY,EAAOmtC,MAAMviB,OAE5CpsB,KAAKkiH,UAAUloG,GAAOhH,KAEtBhT,KAAKkiH,UAAUloG,GAAOhH,GAAKm/D,UAAYA,IAa/C02C,gBAAiB,SAAU71G,EAAKpK,EAAOoR,GAEnC,IAAI5F,EAAOpU,KAAKkyE,aAAal/D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAKipG,SAASz0G,GAId,MAaf00G,eAAgB,SAAUtqG,EAAKgf,EAAMhY,GAEjC,IAAI5F,EAAOpU,KAAKkyE,aAAal/D,EAAKgH,GAElC,OAAI5F,EAEOA,EAAKkpG,eAAetrF,GAIpB,MAaf82F,OAAQ,SAAUpyC,GAId,OAFIA,EAAM12E,KAAK2jH,YAAYjtC,IAIhB12E,KAAK8hH,QAAQprC,IAIpBp2E,QAAQ+Z,KAAK,sCAAwCq8D,EAAM,uCACpD,OAWfqyC,QAAS,SAAU/uG,QAEDzT,IAAVyT,IAAuBA,EAAQxY,EAAOmtC,MAAMviB,OAEhD,IAAI6I,KAEJ,GAAIj1B,KAAKkiH,UAAUloG,GAEf,IAAK,IAAIhH,KAAOhT,KAAKkiH,UAAUloG,GAEf,cAARhH,GAA+B,cAARA,GAEvBiiB,EAAIntB,KAAKkL,GAKrB,OAAOiiB,GAkBX+zF,aAAc,SAAUh2G,UAEbhT,KAAKia,OAAO/C,OAAOlE,IAe9BwwG,YAAa,SAAUxwG,EAAKi2G,QAEG1iH,IAAvB0iH,IAAoCA,GAAqB,GAE7D,IAAI32C,EAAMtyE,KAAKuyE,SAASv/D,GAAK,GAEzBi2G,GAAsB32C,EAAIl4D,MAE1Bk4D,EAAIl4D,KAAK5X,iBAGNxC,KAAKia,OAAOC,MAAMlH,IAgB7Bk2G,YAAa,SAAUl2G,UAEZhT,KAAKia,OAAOysB,MAAM1zB,IAY7Bm2G,WAAY,SAAUn2G,UAEXhT,KAAKia,OAAO26D,KAAK5hE,IAY5Bo2G,cAAe,SAAUp2G,UAEdhT,KAAKia,OAAO6sB,QAAQ9zB,IAY/Bq2G,cAAe,SAAUr2G,UAEdhT,KAAKia,OAAOk8D,QAAQnjE,IAY/Bs2G,aAAc,SAAUt2G,UAEbhT,KAAKia,OAAO0nG,OAAO3uG,IAY9Bu2G,iBAAkB,SAAUv2G,UAEjBhT,KAAKia,OAAO08D,WAAW3jE,IAYlCw2G,iBAAkB,SAAUx2G,UAEjBhT,KAAKia,OAAO2nG,WAAW5uG,IAYlCy2G,WAAY,SAAUz2G,UAEXhT,KAAKia,OAAOymG,KAAK1tG,IAY5B02G,UAAW,SAAU12G,UAEVhT,KAAKia,OAAOqnG,IAAItuG,IAY3B22G,YAAa,SAAU32G,UAEZhT,KAAKia,OAAOw8D,MAAMzjE,IAY7B42G,aAAc,SAAU52G,UAEbhT,KAAKia,OAAOhN,OAAO+F,IAY9B62G,oBAAqB,SAAU72G,UAEpBhT,KAAKia,OAAOjV,cAAcgO,IAYrC82G,kBAAmB,SAAU92G,UAElBhT,KAAKia,OAAO6lG,YAAY9sG,IAYnC+2G,mBAAoB,SAAU/2G,UAEnBhT,KAAKia,OAAOC,MAAMlH,IAG7Bg3G,WAAY,SAAUh3G,UAEXhT,KAAKia,OAAO7F,KAAKpB,IAU5B2sC,gBAAiB,WAEb,IAAK,IAAI3sC,KAAOhT,KAAKia,OAAOC,MAExBla,KAAKia,OAAOC,MAAMlH,GAAKoH,KAAKnG,gBAcpC0vG,YAAa,SAAUjtC,EAAKtiE,GAExB,OAAKpU,KAAK0hH,gBAKV1hH,KAAK+hH,aAAalyG,IAAM7P,KAAK+C,KAAK0jC,KAAKwjF,QAAUvzC,EAEjD12E,KAAKgiH,SAAWhiH,KAAK+hH,aAAalyG,IAGlC7P,KAAK+hH,aAAalyG,IAAM,GAGpBuE,IAEApU,KAAK8hH,QAAQ9hH,KAAKgiH,UAAY5tG,GAG3BpU,KAAKgiH,UAhBD,MA2Bfx/G,QAAS,WAEL,IAAK,IAAIE,EAAI,EAAGA,EAAI1C,KAAKkiH,UAAUv/G,OAAQD,IAC3C,CACI,IAAIsX,EAAQha,KAAKkiH,UAAUx/G,GAE3B,IAAK,IAAIsQ,KAAOgH,EAEA,cAARhH,GAA+B,cAARA,IAEvBhT,KAAKkqH,YAAYlwG,EAAMhH,WAEhBgH,EAAMhH,IAKzBhT,KAAK8hH,QAAU,KACf9hH,KAAK+hH,aAAe,KACpB/hH,KAAKgiH,SAAW,MAQpBkI,YAAa,SAAU5iH,GAEfA,EAAK9E,QAEL8E,EAAK9E,WAID8E,EAAK8S,MAAQ9S,EAAK8S,KAAK5X,SAEvB8E,EAAK8S,KAAK5X,UAGV8E,EAAK8M,MAAQ9M,EAAK8M,KAAK5R,SAEvB8E,EAAK8M,KAAK5R,UAGV8E,EAAK6qE,WAAa7qE,EAAK6qE,UAAU3vE,SAEjC8E,EAAK6qE,UAAU3vE,UAGf8E,EAAKvJ,SAAWuJ,EAAKvJ,QAAQyE,SAE7B8E,EAAKvJ,QAAQyE,SAAQ,KAUjCsgH,WAAY,WAER9iH,KAAK6iH,cAAgB,EAErB7iH,KAAKgkH,kBACLhkH,KAAKikH,kBAEL,IAAI9oF,EAAOn7B,KACPmqH,EAAe3oH,EAAOmtC,MAAMy0E,cAE5B5hH,EAAOmtC,MAAMy0E,cAAgB,EAE7Bhf,WAAW,WAEFjpE,EAAKsjB,UAENn+C,QAAQ+Z,KAAK,sDAAuD8vG,GAEpEhvF,EAAKivF,WAEV5oH,EAAOmtC,MAAMy0E,eAIhBpjH,KAAKoqH,UAUbrG,YAAa,WAET/jH,KAAK6iH,eAAiB,GAS1BiB,eAAgB,WAEZ9jH,KAAK6iH,eAAiB,EACtB7iH,KAAKqqH,eASTA,YAAa,WAELrqH,KAAKy+C,SAELz+C,KAAKoqH,UAUbA,OAAQ,WAEJpqH,KAAK6iH,cAAgB,EACrB7iH,KAAK0+C,QAAQjZ,SAASzlC,QAK9BwB,EAAOmtC,MAAMrsC,UAAUC,YAAcf,EAAOmtC,MAO5C3nC,OAAOyF,eAAejL,EAAOmtC,MAAMrsC,UAAW,WAC1C4E,IAAK,WAED,OAAOlH,KAAK6iH,eAAiB,KAyBrCrhH,EAAOi8C,OAAS,SAAU16C,GAOtB/C,KAAK+C,KAAOA,EAOZ/C,KAAKga,MAAQjX,EAAKiX,MAOlBha,KAAKqjD,aAAc,EAOnBrjD,KAAKsqH,WAAY,EAOjBtqH,KAAKmN,WAAY,EAUjBnN,KAAKuqH,cAAgB,KAOrBvqH,KAAKwqH,aAAc,EASnBxqH,KAAKiqH,QAAU,GAsBfjqH,KAAKsvF,KAAO,GAuBZtvF,KAAKyqH,SACDC,eAAe,EACfhK,KAAM,mBACNY,IAAK,mBASTthH,KAAK2qH,YAAc,IAAInpH,EAAO6gC,OAQ9BriC,KAAK4qH,qBAAuB,IAAIppH,EAAO6gC,OAQvCriC,KAAK6qH,eAAiB,IAAIrpH,EAAO6gC,OAWjCriC,KAAK8qH,eAAiB,IAAItpH,EAAO6gC,OAUjCriC,KAAK+qH,YAAc,IAAIvpH,EAAO6gC,OAa9BriC,KAAKgrH,eAAiB,IAAIxpH,EAAO6gC,OAWjCriC,KAAKirH,YAAc,IAAIzpH,EAAO6gC,OAS9BriC,KAAKkrH,gBAAiB,EAWtBlrH,KAAKmrH,qBAAuB,EAM5BnrH,KAAKorH,oBAAsB,EAU3BprH,KAAKqrH,aAcLrrH,KAAKsrH,gBAQLtrH,KAAKurH,gBAAkB,EASvBvrH,KAAKwrH,kBAAmB,EAOxBxrH,KAAKyrH,gBAAkB,EAOvBzrH,KAAK0rH,gBAAkB,EAOvB1rH,KAAK2rH,iBAAmB,EAOxB3rH,KAAK4rH,iBAAmB,GAO5BpqH,EAAOi8C,OAAOouE,yBAA2B,EAMzCrqH,EAAOi8C,OAAOquE,wBAA0B,EAMxCtqH,EAAOi8C,OAAOyoE,2BAA6B,EAM3C1kH,EAAOi8C,OAAOsuE,yBAA2B,EAMzCvqH,EAAOi8C,OAAOuuE,oBAAsB,EAMpCxqH,EAAOi8C,OAAO0oE,yBAA2B,EAEzC3kH,EAAOi8C,OAAOn7C,WAcV2pH,iBAAkB,SAAU3oG,EAAQqhB,GAEhCA,EAAYA,GAAa,EAEzB3kC,KAAKuqH,eAAkBjnG,OAAQA,EAAQqhB,UAAWA,EAAW/mC,MAAO0lB,EAAO1lB,MAAOC,OAAQylB,EAAOzlB,OAAQ+8B,KAAM,MAK3G56B,KAAKuqH,cAAc3vF,KAHL,IAAd+J,EAG0B,IAAInjC,EAAOS,UAAU,EAAG,EAAG,EAAGqhB,EAAOzlB,QAKrC,IAAI2D,EAAOS,UAAU,EAAG,EAAGqhB,EAAO1lB,MAAO,GAGvE0lB,EAAO1V,KAAK5N,KAAKuqH,cAAc3vF,MAE/BtX,EAAOpiB,SAAU,GAWrBiF,OAAQ,WAEAnG,KAAKuqH,eAAiBvqH,KAAKuqH,cAAc1sH,SAAWmC,KAAKuqH,cAAcjnG,OAAOzlB,SAE9EmC,KAAKuqH,cAAc3vF,KAAK/8B,OAASmC,KAAKuqH,cAAcjnG,OAAOzlB,SAcnEquH,eAAgB,SAAU14G,EAAMR,GAE5B,OAAOhT,KAAKmsH,cAAc34G,EAAMR,IAAQ,GAc5Cm5G,cAAe,SAAU34G,EAAMR,GAI3B,IAAK,IAFDo5G,GAAa,EAER1pH,EAAI,EAAGA,EAAI1C,KAAKqrH,UAAU1oH,OAAQD,IAC3C,CACI,IAAIk+F,EAAO5gG,KAAKqrH,UAAU3oH,GAE1B,GAAIk+F,EAAKptF,OAASA,GAAQotF,EAAK5tF,MAAQA,IAEnCo5G,EAAY1pH,GAGPk+F,EAAKyrB,SAAWzrB,EAAK0rB,SAEtB,MAKZ,OAAOF,GAcXG,SAAU,SAAU/4G,EAAMR,GAEtB,IAAIw5G,EAAYxsH,KAAKmsH,cAAc34G,EAAMR,GAEzC,OAAIw5G,GAAa,IAEJ5jH,MAAO4jH,EAAW5rB,KAAM5gG,KAAKqrH,UAAUmB,KAkBxDpmF,MAAO,SAAUwf,EAAMo2D,QAECz1G,IAAhBy1G,IAA6BA,GAAc,GAE3Ch8G,KAAKqjD,cAKLuC,IAEA5lD,KAAKuqH,cAAgB,MAGzBvqH,KAAKsqH,WAAY,EAEjBtqH,KAAKurH,gBAAkB,EACvBvrH,KAAKqrH,UAAU1oH,OAAS,EACxB3C,KAAKsrH,aAAa3oH,OAAS,EAE3B3C,KAAKwrH,kBAAmB,EACxBxrH,KAAK0rH,gBAAkB,EACvB1rH,KAAKyrH,gBAAkB,EACvBzrH,KAAK2rH,iBAAmB,EACxB3rH,KAAK4rH,iBAAmB,EAEpB5P,IAEAh8G,KAAK2qH,YAAY1gF,YACjBjqC,KAAK6qH,eAAe5gF,YACpBjqC,KAAK8qH,eAAe7gF,YACpBjqC,KAAK+qH,YAAY9gF,YACjBjqC,KAAKgrH,eAAe/gF,YACpBjqC,KAAKirH,YAAYhhF,eAiBzBwiF,cAAe,SAAUj5G,EAAMR,EAAK0jE,EAAKyf,EAAYu2B,EAAWpJ,GAI5D,QAFkB/8G,IAAdmmH,IAA2BA,GAAY,QAE/BnmH,IAARyM,GAA6B,KAARA,EAGrB,OADA1S,QAAQ+Z,KAAK,kDAAoD7G,GAC1DxT,KAGX,QAAYuG,IAARmwE,GAA6B,OAARA,EACzB,CACI,IAAI4sC,EAOA,OADAhjH,QAAQ+Z,KAAK,8CAAgD7G,EAAO,SAAWR,GACxEhT,KALP02E,EAAM1jE,EAAMswG,EASpB,IAAI1iB,GACAptF,KAAMA,EACNR,IAAKA,EACLs8E,KAAMtvF,KAAKsvF,KACX5Y,IAAKA,EACLi2C,UAAW3sH,KAAKorH,oBAAsB,EACtCh3G,KAAM,KACNk4G,SAAS,EACTD,QAAQ,EACR9rH,OAAO,GAGX,GAAI41F,EAEA,IAAK,IAAI5lB,KAAQ4lB,EAEbyK,EAAKrwB,GAAQ4lB,EAAW5lB,GAIhC,IAAIi8C,EAAYxsH,KAAKmsH,cAAc34G,EAAMR,GAEzC,GAAI05G,GAAaF,GAAa,EAC9B,CACI,IAAII,EAAc5sH,KAAKqrH,UAAUmB,GAE5BI,EAAYN,SAAYM,EAAYP,QAMrCrsH,KAAKqrH,UAAUvjH,KAAK84F,GACpB5gG,KAAK0rH,mBALL1rH,KAAKqrH,UAAUmB,GAAa5rB,OAQZ,IAAf4rB,IAELxsH,KAAKqrH,UAAUvjH,KAAK84F,GACpB5gG,KAAK0rH,mBAGT,OAAO1rH,MAaX6sH,kBAAmB,SAAUr5G,EAAMR,EAAK0jE,EAAKyf,GAEzC,OAAOn2F,KAAKysH,cAAcj5G,EAAMR,EAAK0jE,EAAKyf,GAAY,IAyB1D22B,KAAM,SAAU95G,EAAK0jE,EAAKtiE,EAAMk1B,GAM5B,QAJY/iC,IAARmwE,IAAqBA,EAAM,WAClBnwE,IAAT6N,IAAsBA,EAAO,WACT7N,IAApB+iC,IAAiCA,EAAkB,OAElDotC,IAAQtiE,EAIT,OAFA9T,QAAQ+Z,KAAK,qEAENra,KAGX,IAAI8sH,GACAt5G,KAAM,WACNR,IAAKA,EACL0jE,IAAKA,EACL4Y,KAAMtvF,KAAKsvF,KACXq9B,WAAW,EACXv4G,KAAM,KACNk4G,SAAS,EACTD,QAAQ,EACR9rH,OAAO,EACP+oC,gBAAiBA,GAIjBl1B,IAEoB,iBAATA,IAEPA,EAAOouG,KAAKhkF,MAAMpqB,IAGtB04G,EAAK14G,KAAOA,MAGZ04G,EAAKT,QAAS,GAOlB,IAAK,IAAI3pH,EAAI,EAAGA,EAAI1C,KAAKqrH,UAAU1oH,OAAS,EAAGD,IAC/C,CACI,IAAIk+F,EAAO5gG,KAAKqrH,UAAU3oH,GAE1B,IAAKk+F,IAAUA,EAAKyrB,SAAWzrB,EAAK0rB,SAAyB,aAAd1rB,EAAKptF,KACpD,CACIxT,KAAKqrH,UAAUviH,OAAOpG,EAAG,EAAGoqH,GAC5B9sH,KAAKyrH,kBACL,OAIR,OAAOzrH,MAoDXka,MAAO,SAAUlH,EAAK0jE,EAAKg2C,GAEvB,MAAmB,iBAARh2C,EAEA12E,KAAKjC,QAAQiV,EAAK0jE,EAAKg2C,GAIvB1sH,KAAKysH,cAAc,QAASz5G,EAAK0jE,OAAKnwE,EAAWmmH,EAAW,SAa3EK,oBAAqB,SAAU/5G,EAAK2jE,EAAY+1C,GAE5C,OAAO1sH,KAAKka,MAAMlH,EAAK2jE,EAAWz/D,OAAO6kE,UAAU,aAAc2wC,IASrEM,cAAe,SAAUh6G,EAAKpV,EAAOC,EAAQu3C,EAAWC,EAAYh/B,GAEhE,OAAOrW,KAAK+sH,oBAAoB/5G,EAAKhT,KAAK+C,KAAKyF,OAAO8vD,KAAKtlD,EAAKpV,EAAOC,EAAQu3C,EAAWC,EAAYh/B,GAAO,KASjH42G,iBAAkB,SAAUj6G,EAAKoB,EAAM84G,EAAYC,EAAaC,GAE5D,OAAOptH,KAAK+sH,oBAAoB/5G,EAAKhT,KAAK+C,KAAKyF,OAAOzK,QAAQiV,EAAKoB,EAAM84G,EAAYC,EAAaC,GAAS,KA+C/GrvH,QAAS,SAAUiV,EAAKymC,EAAQizE,GAE5B,GAAI1sH,KAAK+C,KAAK2nC,aAAelpC,EAAOmV,MACpC,CACI,IACI02G,EADAl0G,EAAcnZ,KAAK+C,KAAK8B,SAAS6R,WAAWyC,YAGhD,IAAKk0G,KAAS5zE,EAEV,GAAI4zE,EAAMxxB,gBAAiB1iF,EAEvB,OAAOnZ,KAAKysH,cAAc,UAAWz5G,EAAKymC,EAAO4zE,QAAQ9mH,EAAWmmH,EAAW,QAe3F,OALIjzE,EAAO6zE,WAEPttH,KAAKysH,cAAc,QAASz5G,EAAKymC,EAAO6zE,eAAW/mH,EAAWmmH,EAAW,QAGtE1sH,MA2BXutH,OAAQ,SAAU77F,EAAM87F,GAEpB,GAAI/lH,MAAMC,QAAQ8lH,GAEd,IAAS9qH,EAAI,EAAGA,EAAIgvB,EAAK/uB,OAAQD,IAE7B1C,KAAKka,MAAMwX,EAAKhvB,GAAI8qH,EAAK9qH,SAK7B,IAAK,IAAIA,EAAI,EAAGA,EAAIgvB,EAAK/uB,OAAQD,IAE7B1C,KAAKka,MAAMwX,EAAKhvB,IAIxB,OAAO1C,MAwBX40E,KAAM,SAAU5hE,EAAK0jE,EAAKg2C,GAEtB,OAAO1sH,KAAKysH,cAAc,OAAQz5G,EAAK0jE,OAAKnwE,EAAWmmH,EAAW,SAyBtEhM,KAAM,SAAU1tG,EAAK0jE,EAAKg2C,GAEtB,OAAO1sH,KAAKysH,cAAc,OAAQz5G,EAAK0jE,OAAKnwE,EAAWmmH,EAAW,UAwBtEz/G,OAAQ,SAAU+F,EAAK0jE,EAAKg2C,GAExB,OAAO1sH,KAAKysH,cAAc,SAAUz5G,EAAK0jE,OAAKnwE,EAAWmmH,EAAW,UAwBxEpL,IAAK,SAAUtuG,EAAK0jE,EAAKg2C,GAErB,OAAO1sH,KAAKysH,cAAc,MAAOz5G,EAAK0jE,OAAKnwE,EAAWmmH,EAAW,SA4BrEe,OAAQ,SAAUz6G,EAAK0jE,EAAK1hC,EAAU1L,GAMlC,YAJiB/iC,IAAbyuC,IAA0BA,GAAW,IAExB,IAAbA,QAA0CzuC,IAApB+iC,IAAiCA,EAAkBtpC,MAEtEA,KAAKysH,cAAc,SAAUz5G,EAAK0jE,GAAOi2C,WAAW,EAAM33E,SAAUA,EAAU1L,gBAAiBA,IAAmB,EAAO,QA8BpIq4E,OAAQ,SAAU3uG,EAAK0jE,EAAK1hC,EAAU1L,GAOlC,YALiB/iC,IAAbyuC,IAA0BA,GAAW,IAGxB,IAAbA,QAA0CzuC,IAApB+iC,IAAiCA,EAAkB0L,GAEtEh1C,KAAKysH,cAAc,SAAUz5G,EAAK0jE,GAAO1hC,SAAUA,EAAU1L,gBAAiBA,IAAmB,EAAO,SA0DnHokF,YAAa,SAAU16G,EAAK0jE,EAAKkoB,EAAYC,EAAakhB,EAAUC,EAAQC,EAASC,GAOjF,YALiB35G,IAAbw5G,IAA0BA,GAAY,QAC3Bx5G,IAAXy5G,IAAwBA,EAAS,QACrBz5G,IAAZ05G,IAAyBA,EAAU,QACpB15G,IAAf25G,IAA4BA,EAAa,GAEtClgH,KAAKysH,cAAc,cAAez5G,EAAK0jE,GAAOkoB,WAAYA,EAAYC,YAAaA,EAAakhB,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,EAASC,WAAYA,IAAc,EAAO,SA4BlM5rC,MAAO,SAAUthE,EAAKw6G,EAAMG,GAExB,OAAI3tH,KAAK+C,KAAK2jC,MAAMknF,QAET5tH,WAGQuG,IAAfonH,IAA4BA,GAAa,GAEzB,iBAATH,IAEPA,GAASA,IAGNxtH,KAAKysH,cAAc,QAASz5G,EAAKw6G,GAAQtyG,OAAQ,KAAMyyG,WAAYA,MA2B9Ep5C,YAAa,SAAUvhE,EAAKw6G,EAAMK,EAASC,EAAUH,GAEjD,OAAI3tH,KAAK+C,KAAK2jC,MAAMknF,QAET5tH,WAGKuG,IAAZsnH,IAAyBA,EAAU,WACtBtnH,IAAbunH,IAA0BA,EAAW,WACtBvnH,IAAfonH,IAA4BA,GAAa,GAE7C3tH,KAAKs0E,MAAMthE,EAAKw6G,EAAMG,GAElBE,EAEA7tH,KAAK0gH,KAAK1tG,EAAM,cAAe66G,GAE1BC,GAEmB,iBAAbA,IAEPA,EAAWtL,KAAKhkF,MAAMsvF,IAG1B9tH,KAAKga,MAAM2rG,QAAQ3yG,EAAM,cAAe,GAAI86G,IAI5CxtH,QAAQ+Z,KAAK,8FAGVra,OAeX+tH,YAAa,SAAU/6G,EAAKw6G,EAAMK,EAASC,EAAUH,GAEjD,OAAO3tH,KAAKu0E,YAAYvhE,EAAKw6G,EAAMK,EAASC,EAAUH,IAgC1Dl3C,MAAO,SAAUzjE,EAAKw6G,EAAMQ,EAAWC,GAqBnC,YAnBkB1nH,IAAdynH,IAIIA,EAFAhuH,KAAK+C,KAAKknB,OAAOw3E,QAEL,aAIA,uBAILl7F,IAAX0nH,IAAwBA,GAAS,GAEjB,iBAATT,IAEPA,GAASA,IAGNxtH,KAAKysH,cAAc,QAASz5G,EAAKw6G,GAAQtyG,OAAQ,KAAM+yG,OAAQA,EAAQD,UAAWA,KAoC7F73C,QAAS,SAAUnjE,EAAK0jE,EAAKtiE,EAAMK,GAmB/B,QAjBYlO,IAARmwE,IAAqBA,EAAM,WAClBnwE,IAAT6N,IAAsBA,EAAO,WAClB7N,IAAXkO,IAAwBA,EAASjT,EAAO4wE,QAAQ87C,KAE/Cx3C,GAAQtiE,IAILsiE,EAFAjiE,IAAWjT,EAAO4wE,QAAQ87C,IAEpBl7G,EAAM,OAINA,EAAM,SAKhBoB,EACJ,CACI,OAAQK,GAEJ,KAAKjT,EAAO4wE,QAAQ87C,IAEhB,MAEJ,KAAK1sH,EAAO4wE,QAAQ+7C,WAGI,iBAAT/5G,IAEPA,EAAOouG,KAAKhkF,MAAMpqB,IAK9BpU,KAAKga,MAAMyqG,WAAWzxG,EAAK,KAAMoB,EAAMK,QAIvCzU,KAAKysH,cAAc,UAAWz5G,EAAK0jE,GAAOjiE,OAAQA,IAGtD,OAAOzU,MAcXouH,WAAY,SAAUp7G,EAAK0jE,EAAKtiE,GAE5B,OAAOpU,KAAKm2E,QAAQnjE,EAAK0jE,EAAKtiE,EAAM5S,EAAO4wE,QAAQ87C,MAcvDG,iBAAkB,SAAUr7G,EAAK0jE,EAAKtiE,GAElC,OAAOpU,KAAKm2E,QAAQnjE,EAAK0jE,EAAKtiE,EAAM5S,EAAO4wE,QAAQ+7C,aAkCvDrnF,QAAS,SAAU9zB,EAAK0jE,EAAKtiE,EAAMK,GA0B/B,YAxBYlO,IAARmwE,IAAqBA,EAAM,WAClBnwE,IAAT6N,IAAsBA,EAAO,WAClB7N,IAAXkO,IAAwBA,EAASjT,EAAOkxC,QAAQ47E,kBAE/C53C,GAAQtiE,IAETsiE,EAAM1jE,EAAM,SAIZoB,GAEoB,iBAATA,IAEPA,EAAOouG,KAAKhkF,MAAMpqB,IAGtBpU,KAAKga,MAAMwqG,eAAexxG,EAAK,KAAMoB,EAAMK,IAI3CzU,KAAKysH,cAAc,UAAWz5G,EAAK0jE,GAAOjiE,OAAQA,IAG/CzU,MAyCX4hH,WAAY,SAAU5uG,EAAKu7G,EAAYC,EAAU1J,EAAWjvC,EAAUC,GAmBlE,QAjBmBvvE,IAAfgoH,GAA2C,OAAfA,IAE5BA,EAAav7G,EAAM,aAGNzM,IAAbioH,IAA0BA,EAAW,WACvBjoH,IAAdu+G,IAA2BA,EAAY,MAE1B,OAAb0J,GAAmC,OAAd1J,IAErB0J,EAAWx7G,EAAM,aAGJzM,IAAbsvE,IAA0BA,EAAW,QACxBtvE,IAAbuvE,IAA0BA,EAAW,GAGrC04C,EAEAxuH,KAAKysH,cAAc,aAAcz5G,EAAKu7G,GAAcC,SAAUA,EAAU34C,SAAUA,EAAUC,SAAUA,SAKtG,GAAyB,iBAAdgvC,EACX,CACI,IAAIpE,EAAMY,EAEV,IAEIZ,EAAO8B,KAAKhkF,MAAMsmF,GAEtB,MAAOn2G,GAEH2yG,EAAMthH,KAAKyuH,SAAS3J,GAGxB,IAAKxD,IAAQZ,EAET,MAAM,IAAI33G,MAAM,kDAGpB/I,KAAKysH,cAAc,aAAcz5G,EAAKu7G,GAClCC,SAAU,KAAM1J,UAAWpE,GAAQY,EACnCyD,UAAYrE,EAAO,OAAS,MAAQ7qC,SAAUA,EAAUC,SAAUA,IAK9E,OAAO91E,MA2CX0uH,eAAgB,SAAU17G,EAAKu7G,EAAYC,EAAU1J,GAEjD,OAAO9kH,KAAK2uH,MAAM37G,EAAKu7G,EAAYC,EAAU1J,EAAWtjH,EAAOi8C,OAAOouE,2BA2C1E+C,cAAe,SAAU57G,EAAKu7G,EAAYC,EAAU1J,GAEhD,OAAO9kH,KAAK2uH,MAAM37G,EAAKu7G,EAAYC,EAAU1J,EAAWtjH,EAAOi8C,OAAOquE,0BA2C1E+C,SAAU,SAAU77G,EAAKu7G,EAAYC,EAAU1J,GAU3C,YARiBv+G,IAAbioH,IAA0BA,EAAW,WACvBjoH,IAAdu+G,IAA2BA,EAAY,MAEtC0J,GAAa1J,IAEd0J,EAAWx7G,EAAM,QAGdhT,KAAK2uH,MAAM37G,EAAKu7G,EAAYC,EAAU1J,EAAWtjH,EAAOi8C,OAAOyoE,6BA0C1EyI,MAAO,SAAU37G,EAAKu7G,EAAYC,EAAU1J,EAAWrwG,GAwBnD,QAtBmBlO,IAAfgoH,GAA2C,OAAfA,IAE5BA,EAAav7G,EAAM,aAGNzM,IAAbioH,IAA0BA,EAAW,WACvBjoH,IAAdu+G,IAA2BA,EAAY,WAC5Bv+G,IAAXkO,IAAwBA,EAASjT,EAAOi8C,OAAOouE,0BAE9C2C,GAAa1J,IAIV0J,EAFA/5G,IAAWjT,EAAOi8C,OAAOyoE,2BAEdlzG,EAAM,OAINA,EAAM,SAKrBw7G,EAEAxuH,KAAKysH,cAAc,eAAgBz5G,EAAKu7G,GAAcC,SAAUA,EAAU/5G,OAAQA,QAGtF,CACI,OAAQA,GAEJ,KAAKjT,EAAOi8C,OAAOouE,yBAGU,iBAAd/G,IAEPA,EAAYtC,KAAKhkF,MAAMsmF,IAE3B,MAEJ,KAAKtjH,EAAOi8C,OAAOyoE,2BAGf,GAAyB,iBAAdpB,EACX,CACI,IAAIxD,EAAMthH,KAAKyuH,SAAS3J,GAExB,IAAKxD,EAED,MAAM,IAAIv4G,MAAM,kDAGpB+7G,EAAYxD,GAKxBthH,KAAKysH,cAAc,eAAgBz5G,EAAKu7G,GAAcC,SAAU,KAAM1J,UAAWA,EAAWrwG,OAAQA,IAGxG,OAAOzU,MAgBX8uH,cAAe,SAAU95E,EAAU1L,GAE/BtpC,KAAKorH,sBAEL,IAEIp2E,EAASxwC,KAAK8kC,GAAmBtpC,KAAMA,MAE3C,QAEIA,KAAKorH,sBAGT,OAAOprH,MAcX+uH,aAAc,SAAUv7G,EAAMR,GAE1B,IAAIg8G,EAAQhvH,KAAKusH,SAAS/4G,EAAMR,GAOhC,OALIg8G,IAEAA,EAAMpuB,KAAK+rB,WAAY,GAGpB3sH,MAaXivH,WAAY,SAAUz7G,EAAMR,GAExB,IAAIg8G,EAAQhvH,KAAKusH,SAAS/4G,EAAMR,GAE5Bg8G,IAEKA,EAAM3C,QAAW2C,EAAM1C,SAExBtsH,KAAKqrH,UAAUviH,OAAOkmH,EAAMpmH,MAAO,KAW/CqhC,UAAW,WAEPjqC,KAAKqrH,UAAU1oH,OAAS,EACxB3C,KAAKsrH,aAAa3oH,OAAS,GAQ/B2J,MAAO,WAECtM,KAAKsqH,YAKTtqH,KAAKmN,WAAY,EACjBnN,KAAKsqH,WAAY,EAEjBtqH,KAAKkvH,iBAELlvH,KAAKmvH,qBAgBTA,iBAAkB,WAEd,IAAKnvH,KAAKsqH,UAIN,OAFAhqH,QAAQ+Z,KAAK,wDACbra,KAAKovH,iBAAgB,GAKzB,IAAS1sH,EAAI,EAAGA,EAAI1C,KAAKsrH,aAAa3oH,OAAQD,MAEtCk+F,EAAO5gG,KAAKsrH,aAAa5oH,IAEpB2pH,QAAUzrB,EAAKrgG,SAEpBP,KAAKsrH,aAAaxiH,OAAOpG,EAAG,GAC5BA,IAEAk+F,EAAK0rB,SAAU,EACf1rB,EAAKyuB,WAAa,KAClBzuB,EAAK0uB,cAAgB,KAEjB1uB,EAAKrgG,OAELP,KAAKirH,YAAYxlF,SAASm7D,EAAK5tF,IAAK4tF,GAGtB,aAAdA,EAAKptF,MAELxT,KAAK4rH,mBACL5rH,KAAKgrH,eAAevlF,SAASzlC,KAAKuvH,SAAU3uB,EAAK5tF,KAAM4tF,EAAKrgG,MAAOP,KAAK4rH,iBAAkB5rH,KAAK0rH,kBAE5E,aAAd9qB,EAAKptF,MAAuBotF,EAAKrgG,QAGtCP,KAAK2rH,mBACL3rH,KAAK8qH,eAAerlF,SAASm7D,EAAK5tF,KAAM4tF,EAAKrgG,MAAOP,KAAK2rH,iBAAkB3rH,KAAKyrH,mBAU5F,IAAK,IAJD+D,GAAY,EAEZC,EAAgBzvH,KAAKkrH,eAAiBxnH,KAAKuC,IAAI,EAAGjG,KAAKmrH,sBAAwB,EAE1EzoH,EAAI1C,KAAKurH,gBAAiB7oH,EAAI1C,KAAKqrH,UAAU1oH,OAAQD,IAC9D,CACI,IAAIk+F,EAAO5gG,KAAKqrH,UAAU3oH,GA2D1B,GAxDkB,aAAdk+F,EAAKptF,OAAwBotF,EAAKrgG,OAASqgG,EAAKyrB,QAAU3pH,IAAM1C,KAAKurH,kBAGrEvrH,KAAK0vH,YAAY9uB,GAEjB5gG,KAAK2rH,mBACL3rH,KAAK8qH,eAAerlF,SAASm7D,EAAK5tF,KAAM4tF,EAAKrgG,MAAOP,KAAK2rH,iBAAkB3rH,KAAKyrH,kBAGhF7qB,EAAKyrB,QAAUzrB,EAAKrgG,MAGhBmC,IAAM1C,KAAKurH,kBAEXvrH,KAAKurH,gBAAkB7oH,EAAI,IAGzBk+F,EAAK0rB,SAAWtsH,KAAKsrH,aAAa3oH,OAAS8sH,IAG/B,aAAd7uB,EAAKptF,MAAwBotF,EAAKxsF,KAW5Bo7G,IAEDxvH,KAAKwrH,mBAENxrH,KAAKwrH,kBAAmB,EACxBxrH,KAAK2qH,YAAYllF,YAGrBzlC,KAAKsrH,aAAaxjH,KAAK84F,GACvBA,EAAK0rB,SAAU,EACftsH,KAAK+qH,YAAYtlF,SAASzlC,KAAKuvH,SAAU3uB,EAAK5tF,IAAK4tF,EAAKlqB,KAExD12E,KAAK2vH,SAAS/uB,KAjBd5gG,KAAKsrH,aAAaxjH,KAAK84F,GACvBA,EAAK0rB,SAAU,EAEftsH,KAAK2vH,SAAS/uB,MAkBjBA,EAAKyrB,QAAUzrB,EAAK+rB,YAErB6C,GAAY,GAOZxvH,KAAKsrH,aAAa3oH,QAAU8sH,GAC3BD,GAAaxvH,KAAK2rH,mBAAqB3rH,KAAKyrH,gBAE7C,MAUR,GANAzrH,KAAKkvH,iBAMDlvH,KAAKurH,iBAAmBvrH,KAAKqrH,UAAU1oH,OAEvC3C,KAAKovH,uBAEJ,IAAKpvH,KAAKsrH,aAAa3oH,OAC5B,CAKIrC,QAAQ+Z,KAAK,8EAEb,IAAIqyB,EAAQ1sC,KAEZokG,WAAW,WAEP13D,EAAM0iF,iBAAgB,IACvB,OAWXA,gBAAiB,SAAUQ,IAGnB5vH,KAAKmN,WAAcnN,KAAK+C,KAAK4jC,QAKjC3mC,KAAKmN,WAAY,EACjBnN,KAAKsqH,WAAY,EAGZsF,GAAa5vH,KAAKwrH,mBAEnBxrH,KAAKwrH,kBAAmB,EACxBxrH,KAAK2qH,YAAYllF,YAGrBzlC,KAAK+C,KAAK4jC,MAAMK,aAChBhnC,KAAK4qH,qBAAqBnlF,WAC1BzlC,KAAKomC,QACLpmC,KAAK6qH,eAAeplF,WACpBzlC,KAAK+C,KAAK4jC,MAAMqD,iBAYpB6lF,cAAe,SAAUjvB,EAAMkvB,QAENvpH,IAAjBupH,IAA8BA,EAAe,IAEjDlvB,EAAKyrB,QAAS,EACdzrB,EAAKrgG,QAAUuvH,EAEXA,IAEAlvB,EAAKkvB,aAAeA,EAEpBxvH,QAAQ+Z,KAAK,mBAAqBumF,EAAKptF,KAAO,IAAMotF,EAAK5tF,IAAM,MAAa88G,IAGhF9vH,KAAKmvH,oBAUTO,YAAa,SAAU5C,GAEnB,IAAIiD,EAAWjD,EAAK14G,KAAK04G,EAAK95G,KAE9B,GAAK+8G,EAML,IAAK,IAAIrtH,EAAI,EAAGA,EAAIqtH,EAASptH,OAAQD,IACrC,CACI,IAAIk+F,EAAOmvB,EAASrtH,GAEpB,OAAQk+F,EAAKptF,MAET,IAAK,QACDxT,KAAKka,MAAM0mF,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK8rB,WACpC,MAEJ,IAAK,OACD1sH,KAAK40E,KAAKgsB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK8rB,WACnC,MAEJ,IAAK,OACD1sH,KAAK0gH,KAAK9f,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK8rB,WACnC,MAEJ,IAAK,MACD1sH,KAAKshH,IAAI1gB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK8rB,WAClC,MAEJ,IAAK,SACD1sH,KAAKytH,OAAO7sB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK5rD,SAAU83E,EAAKxjF,iBAAmBtpC,MACvE,MAEJ,IAAK,SACDA,KAAK2hH,OAAO/gB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK5rD,SAAU83E,EAAKxjF,iBAAmBtpC,MACvE,MAEJ,IAAK,cACDA,KAAK0tH,YAAY9sB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKhC,WAAYgC,EAAK/B,YAAa+B,EAAKmf,SAAUnf,EAAKof,OAAQpf,EAAKqf,QAASrf,EAAKsf,YACvH,MAEJ,IAAK,QACDlgH,KAAKy2E,MAAMmqB,EAAK5tF,IAAK4tF,EAAK4sB,MAC1B,MAEJ,IAAK,QACDxtH,KAAKs0E,MAAMssB,EAAK5tF,IAAK4tF,EAAK4sB,KAAM5sB,EAAK+sB,YACrC,MAEJ,IAAK,cACD3tH,KAAK+tH,YAAYntB,EAAK5tF,IAAK4tF,EAAK4sB,KAAM5sB,EAAKitB,QAASjtB,EAAKktB,SAAUltB,EAAK+sB,YACxE,MAEJ,IAAK,UACD3tH,KAAKm2E,QAAQyqB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAM5S,EAAO4wE,QAAQwuB,EAAKnsF,SAChE,MAEJ,IAAK,UACDzU,KAAK8mC,QAAQ85D,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAM5S,EAAOi8C,OAAOmjD,EAAKnsF,SAC/D,MAEJ,IAAK,aACDzU,KAAK4hH,WAAWhhB,EAAK5tF,IAAK4tF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,UAAWlkB,EAAK/qB,SAAU+qB,EAAK9qB,UAC9F,MAEJ,IAAK,iBACD91E,KAAK0uH,eAAe9tB,EAAK5tF,IAAK4tF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,WACnE,MAEJ,IAAK,gBACD9kH,KAAK4uH,cAAchuB,EAAK5tF,IAAK4tF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,WAClE,MAEJ,IAAK,WACD9kH,KAAK6uH,SAASjuB,EAAK5tF,IAAK4tF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,WAC7D,MAEJ,IAAK,QACD9kH,KAAK2uH,MAAM/tB,EAAK5tF,IAAK4tF,EAAK2tB,WAAY3tB,EAAK4tB,SAAU5tB,EAAKkkB,UAAWtjH,EAAOi8C,OAAOmjD,EAAKnsF,SACxF,MAEJ,IAAK,SACDzU,KAAKiN,OAAO2zF,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAK8rB,iBA/E7CpsH,QAAQ+Z,KAAK,mBAAqByyG,EAAK95G,IAAM,0CAgGrDg9G,aAAc,SAAUt5C,EAAKkqB,GAEzB,QAAKlqB,IAKDA,EAAIzL,MAAM,8CAEHyL,EAIA12E,KAAKiqH,QAAUrpB,EAAKtR,KAAO5Y,IAa1Ci5C,SAAU,SAAU/uB,GAGhB,OAAQA,EAAKptF,MAET,IAAK,WACDxT,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAKkwH,cACnE,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACDlwH,KAAKmwH,aAAavvB,GAClB,MAEJ,IAAK,QACDA,EAAKlqB,IAAM12E,KAAKowH,YAAYxvB,EAAKlqB,KAE7BkqB,EAAKlqB,IAGD12E,KAAK+C,KAAK2jC,MAAM2pF,cAEhBrwH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,cAAe5gG,KAAKkwH,cAErElwH,KAAK+C,KAAK2jC,MAAM4pF,eAErBtwH,KAAKuwH,aAAa3vB,GAKtB5gG,KAAKwwH,UAAU5vB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,QACDA,EAAKlqB,IAAM12E,KAAKywH,YAAY7vB,EAAKlqB,KAE7BkqB,EAAKlqB,IAEDkqB,EAAKqtB,OAELjuH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAKkwH,cAInElwH,KAAK0wH,aAAa9vB,GAKtB5gG,KAAKwwH,UAAU5vB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,OAED5gG,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAK2wH,kBACnE,MAEJ,IAAK,MAED3wH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAK4wH,iBACnE,MAEJ,IAAK,UAEGhwB,EAAKnsF,SAAWjT,EAAO4wE,QAAQ+7C,WAE/BnuH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAK2wH,kBAE9D/vB,EAAKnsF,SAAWjT,EAAO4wE,QAAQ87C,IAEpCluH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAK6wH,iBAInE7wH,KAAK6vH,cAAcjvB,EAAM,2BAA6BA,EAAKnsF,QAE/D,MAEJ,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDzU,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,OAAQ5gG,KAAKkwH,cACnE,MAEJ,IAAK,UAEiC,cAA9BtvB,EAAK5tF,IAAI6e,MAAM,KAAKjR,MAEpB5gB,KAAKmwH,aAAavvB,GAIlB5gG,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,cAAe5gG,KAAKkwH,cAE9E,MAEJ,IAAK,SACDlwH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAAO,cAAe5gG,KAAKkwH,gBAStFC,aAAc,SAAUvvB,GAEpB,IAAIl0D,EAAQ1sC,KAEZ4gG,EAAKxsF,KAAO,IAAI0/D,MAChB8sB,EAAKxsF,KAAK4d,KAAO4uE,EAAK5tF,IAElBhT,KAAKwqH,cAEL5pB,EAAKxsF,KAAKo2G,YAAcxqH,KAAKwqH,aAGjC5pB,EAAKxsF,KAAK8nE,OAAS,WAEX0kB,EAAKxsF,KAAK8nE,SAEV0kB,EAAKxsF,KAAK8nE,OAAS,KACnB0kB,EAAKxsF,KAAK+nE,QAAU,KACpBzvC,EAAMwjF,aAAatvB,KAI3BA,EAAKxsF,KAAK+nE,QAAU,WAEZykB,EAAKxsF,KAAK8nE,SAEV0kB,EAAKxsF,KAAK8nE,OAAS,KACnB0kB,EAAKxsF,KAAK+nE,QAAU,KACpBzvC,EAAM8jF,UAAU5vB,KAIxBA,EAAKxsF,KAAKvE,IAAM7P,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,IAOvC5gG,KAAK+C,KAAKknB,OAAOw3E,SAAWb,EAAKxsF,KAAKgW,UAAYw2E,EAAKxsF,KAAKxW,OAASgjG,EAAKxsF,KAAKvW,SAEhF+iG,EAAKxsF,KAAK8nE,OAAS,KACnB0kB,EAAKxsF,KAAK+nE,QAAU,KACpBn8E,KAAKkwH,aAAatvB,KAQ1B8vB,aAAc,SAAU9vB,GAEpB,IAAIl0D,EAAQ1sC,KAEZ4gG,EAAKxsF,KAAOi8B,SAAS0mD,cAAc,SACnC6J,EAAKxsF,KAAK4d,KAAO4uE,EAAK5tF,IACtB4tF,EAAKxsF,KAAK08G,UAAW,EACrBlwB,EAAKxsF,KAAK28G,UAAW,EACrBnwB,EAAKxsF,KAAK48G,aAAc,EAExB,IAAIC,EAAiB,WAEjBrwB,EAAKxsF,KAAK69B,oBAAoB2uD,EAAKotB,UAAWiD,GAAgB,GAC9DrwB,EAAKxsF,KAAK+nE,QAAU,KACpBykB,EAAKxsF,KAAK88G,SAAU,EACpB1vH,EAAOiqB,MAAMihB,EAAM3pC,KAAKmR,IAAIuyB,KAAKypF,aAAatvB,IAGlDA,EAAKxsF,KAAK+nE,QAAU,WAEhBykB,EAAKxsF,KAAK69B,oBAAoB2uD,EAAKotB,UAAWiD,GAAgB,GAC9DrwB,EAAKxsF,KAAK+nE,QAAU,KACpBykB,EAAKxsF,KAAK88G,SAAU,EACpBxkF,EAAM8jF,UAAU5vB,IAGpBA,EAAKxsF,KAAK48B,iBAAiB4vD,EAAKotB,UAAWiD,GAAgB,GAE3DrwB,EAAKxsF,KAAKvE,IAAM7P,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAC5CA,EAAKxsF,KAAKqyB,QAOd8pF,aAAc,SAAU3vB,GAEpB,IAAIl0D,EAAQ1sC,KAEZ,GAAIA,KAAK+C,KAAK2jC,MAAM49E,YAGhB1jB,EAAKxsF,KAAO,IAAI+8G,MAChBvwB,EAAKxsF,KAAK4d,KAAO4uE,EAAK5tF,IACtB4tF,EAAKxsF,KAAK2yB,QAAU,OACpB65D,EAAKxsF,KAAKvE,IAAM7P,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAE5C5gG,KAAKkwH,aAAatvB,OAGtB,CACIA,EAAKxsF,KAAO,IAAI+8G,MAChBvwB,EAAKxsF,KAAK4d,KAAO4uE,EAAK5tF,IAEtB,IAAIo+G,EAAmB,WAEnBxwB,EAAKxsF,KAAK69B,oBAAoB,iBAAkBm/E,GAAkB,GAClExwB,EAAKxsF,KAAK+nE,QAAU,KACpBzvC,EAAMwjF,aAAatvB,IAGvBA,EAAKxsF,KAAK+nE,QAAU,WAEhBykB,EAAKxsF,KAAK69B,oBAAoB,iBAAkBm/E,GAAkB,GAClExwB,EAAKxsF,KAAK+nE,QAAU,KACpBzvC,EAAM8jF,UAAU5vB,IAGpBA,EAAKxsF,KAAK2yB,QAAU,OACpB65D,EAAKxsF,KAAKvE,IAAM7P,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,GAC5CA,EAAKxsF,KAAK48B,iBAAiB,iBAAkBogF,GAAkB,GAC/DxwB,EAAKxsF,KAAKqyB,SAiBlBwpF,QAAS,SAAUrvB,EAAMlqB,EAAKljE,EAAM0oE,EAAQC,GAExC,IAAIk1C,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAO76C,GAAK,GACrB26C,EAAIG,aAAeh+G,GAEgB,IAA/BxT,KAAKyqH,QAAQC,eAEb2G,EAAII,iBAAiB,mBAAoBzxH,KAAKyqH,QAAQC,eAGtD1qH,KAAKyqH,QAAQ7pB,EAAKptF,OAElB69G,EAAII,iBAAiB,SAAUzxH,KAAKyqH,QAAQ7pB,EAAKptF,OAGrD2oE,EAAUA,GAAWn8E,KAAKwwH,UAE1B,IAAI9jF,EAAQ1sC,KAEZqxH,EAAIn1C,OAAS,WAET,IAEI,OAAuB,IAAnBm1C,EAAIltB,YAAoBktB,EAAIvZ,QAAU,KAAOuZ,EAAIvZ,QAAU,IAEpD37B,EAAQ33E,KAAKkoC,EAAOk0D,EAAMywB,GAI1Bn1C,EAAO13E,KAAKkoC,EAAOk0D,EAAMywB,GAGxC,MAAO1iH,GAOE+9B,EAAMv/B,UAKPiD,OAAO9P,SAEPA,QAAQC,MAAMoO,GALd+9B,EAAMmjF,cAAcjvB,EAAMjyF,EAAE+iH,SAAW,eAUnDL,EAAIl1C,QAAU,WAEV,IAEI,OAAOA,EAAQ33E,KAAKkoC,EAAOk0D,EAAMywB,GAErC,MAAO1iH,GAEE+9B,EAAMv/B,UAKPiD,OAAO9P,SAEPA,QAAQC,MAAMoO,GALd+9B,EAAMmjF,cAAcjvB,EAAMjyF,EAAE+iH,SAAW,eAUnD9wB,EAAK0uB,cAAgB+B,EACrBzwB,EAAKyuB,WAAa34C,EAElB26C,EAAIM,QAaRlB,YAAa,SAAUjD,GAEnB,IAAK,IAAI9qH,EAAI,EAAGA,EAAI8qH,EAAK7qH,OAAQD,IACjC,CACI,IACIkvH,EADAl7C,EAAM82C,EAAK9qH,GAGf,GAAIg0E,EAAIm7C,KAKJ,GAHAD,EAAYl7C,EAAIljE,KAChBkjE,EAAMA,EAAIm7C,IAEN7xH,KAAK+C,KAAKknB,OAAOk/E,aAAayoB,GAE9B,OAAOl7C,MAIf,CAEI,GAA6B,IAAzBA,EAAIrtE,QAAQ,UAA2C,IAAzBqtE,EAAIrtE,QAAQ,SAE1C,OAAOqtE,EAYX,GATIA,EAAIrtE,QAAQ,MAAQ,IAEpBqtE,EAAMA,EAAI7tD,OAAO,EAAG6tD,EAAIrtE,QAAQ,OAKpCuoH,EAFgBl7C,EAAI7tD,QAAQnlB,KAAKuC,IAAI,EAAGywE,EAAIo7C,YAAY,OAASjnH,EAAAA,GAAY,GAEvD2jD,cAElBxuD,KAAK+C,KAAKknB,OAAOk/E,aAAayoB,GAE9B,OAAOpE,EAAK9qH,IAKxB,OAAO,MAaX0tH,YAAa,SAAU5C,GAEnB,GAAIxtH,KAAK+C,KAAK2jC,MAAMknF,QAEhB,OAAO,KAGX,IAAK,IAAIlrH,EAAI,EAAGA,EAAI8qH,EAAK7qH,OAAQD,IACjC,CACI,IACIqvH,EADAr7C,EAAM82C,EAAK9qH,GAGf,GAAIg0E,EAAIm7C,KAKJ,GAHAE,EAAYr7C,EAAIljE,KAChBkjE,EAAMA,EAAIm7C,IAEN7xH,KAAK+C,KAAKknB,OAAOi/E,aAAa6oB,GAE9B,OAAOr7C,MAIf,CAEI,GAA6B,IAAzBA,EAAIrtE,QAAQ,UAA2C,IAAzBqtE,EAAIrtE,QAAQ,SAE1C,OAAOqtE,EAYX,GATIA,EAAIrtE,QAAQ,MAAQ,IAEpBqtE,EAAMA,EAAI7tD,OAAO,EAAG6tD,EAAIrtE,QAAQ,OAKpC0oH,EAFgBr7C,EAAI7tD,QAAQnlB,KAAKuC,IAAI,EAAGywE,EAAIo7C,YAAY,OAASjnH,EAAAA,GAAY,GAEvD2jD,cAElBxuD,KAAK+C,KAAKknB,OAAOi/E,aAAa6oB,GAE9B,OAAOvE,EAAK9qH,IAKxB,OAAO,MAYX8tH,UAAW,SAAU5vB,EAAMywB,EAAKW,GAE5B,IACIN,EAAU,iCADJ9wB,EAAKyuB,YAAcrvH,KAAKgwH,aAAapvB,EAAKlqB,IAAKkqB,KAGpDoxB,GAAUX,IAEXW,EAASX,EAAIvZ,QAGbka,IAEAN,EAAUA,EAAU,KAAOM,EAAS,KAGxChyH,KAAK6vH,cAAcjvB,EAAM8wB,IAW7BxB,aAAc,SAAUtvB,EAAMywB,GAE1B,IAAIY,GAAW,EAEf,OAAQrxB,EAAKptF,MAET,IAAK,WAGGY,EAAOouG,KAAKhkF,MAAM6yF,EAAIa,cAC1BtxB,EAAKxsF,KAAOA,MACZ,MAEJ,IAAK,UAED,IAAIkvG,EAAY,aAAextB,KAAK8K,EAAKlqB,IAAI7kD,MAAM,IAAK,GAAG,IAAI,GAAG28B,cAChD,OAAdoyC,EAAKxsF,KAELpU,KAAKga,MAAMqpG,6BAA6BziB,EAAK5tF,IAAK4tF,EAAKlqB,IAAK4sC,EAAW1iB,EAAKxsF,MAI5EpU,KAAKga,MAAMqpG,6BAA6BziB,EAAK5tF,IAAK4tF,EAAKlqB,IAAK4sC,EAAW+N,EAAIc,UAE/E,MAEJ,IAAK,QAEDnyH,KAAKga,MAAMoiE,SAASwkB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,MAC7C,MAEJ,IAAK,cAEDpU,KAAKga,MAAMgsG,eAAeplB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMwsF,EAAKhC,WAAYgC,EAAK/B,YAAa+B,EAAKmf,SAAUnf,EAAKof,OAAQpf,EAAKqf,QAASrf,EAAKsf,YAC3I,MAEJ,IAAK,eAED,GAAqB,MAAjBtf,EAAK4tB,SAELxuH,KAAKga,MAAMisG,gBAAgBrlB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMwsF,EAAKkkB,UAAWlkB,EAAKnsF,aAO/E,GAFAw9G,GAAW,EAEPrxB,EAAKnsF,SAAWjT,EAAOi8C,OAAOouE,0BAA4BjrB,EAAKnsF,SAAWjT,EAAOi8C,OAAOquE,yBAA2BlrB,EAAKnsF,SAAWjT,EAAOi8C,OAAO0oE,yBAEjJnmH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAK4tB,SAAU5tB,GAAO,OAAQ5gG,KAAK2wH,sBAEvE,CAAA,GAAI/vB,EAAKnsF,SAAWjT,EAAOi8C,OAAOyoE,2BAMnC,MAAM,IAAIn9G,MAAM,gDAAkD63F,EAAKnsF,QAJvEzU,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAK4tB,SAAU5tB,GAAO,OAAQ5gG,KAAK4wH,iBAOhF,MAEJ,IAAK,aAEIhwB,EAAK4tB,UAONyD,GAAW,EACXjyH,KAAKiwH,QAAQrvB,EAAM5gG,KAAKgwH,aAAapvB,EAAK4tB,SAAU5tB,GAAO,OAAQ,SAAUA,EAAMywB,GAE/E,IAAI3Q,EAEJ,IAGIA,EAAO8B,KAAKhkF,MAAM6yF,EAAIa,cAE1B,MAAOvjH,IAEH+xG,GAEA9f,EAAKmkB,UAAY,OACjB/kH,KAAK2wH,iBAAiB/vB,EAAMywB,KAI5BzwB,EAAKmkB,UAAY,MACjB/kH,KAAK4wH,gBAAgBhwB,EAAMywB,OAzBnCrxH,KAAKga,MAAM6qG,cAAcjkB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMwsF,EAAKkkB,UAAWlkB,EAAKmkB,UAAWnkB,EAAK/qB,SAAU+qB,EAAK9qB,UA6BhH,MAEJ,IAAK,QAED,GAAI8qB,EAAKqtB,OAEL,IAEIrtB,EAAKxsF,KAAOi9G,EAAIc,SAEpB,MAAOxjH,GAEH,MAAM,IAAI5F,MAAM,sDAAwD63F,EAAK5tF,KAIrFhT,KAAKga,MAAM6rG,SAASjlB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMwsF,EAAKqtB,QACxD,MAEJ,IAAK,QAEGjuH,KAAK+C,KAAK2jC,MAAM2pF,eAEhBzvB,EAAKxsF,KAAOi9G,EAAIc,SAEhBnyH,KAAKga,MAAMkqG,SAAStjB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,MAAM,GAAM,GAErDwsF,EAAK+sB,YAEL3tH,KAAK+C,KAAK2jC,MAAM0rF,OAAOxxB,EAAK5tF,MAKhChT,KAAKga,MAAMkqG,SAAStjB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,MAAM,GAAO,GAE9D,MAEJ,IAAK,OACDwsF,EAAKxsF,KAAOi9G,EAAIa,aAChBlyH,KAAKga,MAAMuqG,QAAQ3jB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,MAC5C,MAEJ,IAAK,SACDwsF,EAAKxsF,KAAOi9G,EAAIa,aAChBlyH,KAAKga,MAAM+rG,UAAUnlB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,MAC9C,MAEJ,IAAK,UACD,IAAIA,EAAOouG,KAAKhkF,MAAM6yF,EAAIa,cAC1BlyH,KAAKga,MAAMwqG,eAAe5jB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKtiE,EAAMwsF,EAAKnsF,QACzD,MAEJ,IAAK,SACDmsF,EAAKxsF,KAAOi8B,SAAS0mD,cAAc,UACnC6J,EAAKxsF,KAAKi+G,SAAW,aACrBzxB,EAAKxsF,KAAKZ,KAAO,kBACjBotF,EAAKxsF,KAAKk+G,OAAQ,EAClB1xB,EAAKxsF,KAAKwgE,KAAOy8C,EAAIa,aACrB7hF,SAASkiF,KAAK3oB,YAAYhJ,EAAKxsF,MAC3BwsF,EAAK5rD,WAEL4rD,EAAKxsF,KAAOwsF,EAAK5rD,SAASxwC,KAAKo8F,EAAKt3D,gBAAiBs3D,EAAK5tF,IAAKq+G,EAAIa,eAEvE,MAEJ,IAAK,SACGtxB,EAAK5rD,SAEL4rD,EAAKxsF,KAAOwsF,EAAK5rD,SAASxwC,KAAKo8F,EAAKt3D,gBAAiBs3D,EAAK5tF,IAAKq+G,EAAIc,UAInEvxB,EAAKxsF,KAAOi9G,EAAIc,SAGpBnyH,KAAKga,MAAM2qG,UAAU/jB,EAAK5tF,IAAK4tF,EAAKxsF,MAKxC69G,GAEAjyH,KAAK6vH,cAAcjvB,IAY3B+vB,iBAAkB,SAAU/vB,EAAMywB,GAE9B,IAAIj9G,EAAOouG,KAAKhkF,MAAM6yF,EAAIa,cAER,YAAdtxB,EAAKptF,KAELxT,KAAKga,MAAMyqG,WAAW7jB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKtiE,EAAMwsF,EAAKnsF,QAElC,eAAdmsF,EAAKptF,KAEVxT,KAAKga,MAAM6qG,cAAcjkB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMA,EAAMwsF,EAAKmkB,UAAWnkB,EAAK/qB,SAAU+qB,EAAK9qB,UAE/E,SAAd8qB,EAAKptF,KAEVxT,KAAKga,MAAM2rG,QAAQ/kB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKtiE,GAIvCpU,KAAKga,MAAMisG,gBAAgBrlB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMA,EAAMwsF,EAAKnsF,QAGzEzU,KAAK6vH,cAAcjvB,IAWvBiwB,gBAAiB,SAAUjwB,EAAMywB,GAE7B,IAAIj9G,EAAOi9G,EAAIa,aAEflyH,KAAKga,MAAMyqG,WAAW7jB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKtiE,EAAMwsF,EAAKnsF,QAErDzU,KAAK6vH,cAAcjvB,IAWvBgwB,gBAAiB,SAAUhwB,EAAMywB,GAG7B,IAAIj9G,EAAOi9G,EAAIa,aACX5Q,EAAMthH,KAAKyuH,SAASr6G,GAExB,IAAKktG,EACL,CACI,IAAIkQ,EAAeH,EAAIG,cAAgBH,EAAImB,YAG3C,OAFAlyH,QAAQ+Z,KAAK,mBAAqBumF,EAAK5tF,IAAM,kBAAoBw+G,EAAe,UAChFxxH,KAAK6vH,cAAcjvB,EAAM,eAIX,eAAdA,EAAKptF,KAELxT,KAAKga,MAAM6qG,cAAcjkB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMktG,EAAK1gB,EAAKmkB,UAAWnkB,EAAK/qB,SAAU+qB,EAAK9qB,UAE9E,iBAAd8qB,EAAKptF,KAEVxT,KAAKga,MAAMisG,gBAAgBrlB,EAAK5tF,IAAK4tF,EAAKlqB,IAAKkqB,EAAKxsF,KAAMktG,EAAK1gB,EAAKnsF,QAEjD,QAAdmsF,EAAKptF,MAEVxT,KAAKga,MAAM4rG,OAAOhlB,EAAK5tF,IAAK4tF,EAAKlqB,IAAK4qC,GAG1CthH,KAAK6vH,cAAcjvB,IAWvB6tB,SAAU,SAAUr6G,GAEhB,IAAIktG,EAEJ,IAEI,GAAIlxG,OAAOqiH,UACX,CACI,IAAIC,EAAY,IAAID,UACpBnR,EAAMoR,EAAUC,gBAAgBv+G,EAAM,iBAItCktG,EAAM,IAAIsR,cAAc,qBAGpBC,MAAQ,QACZvR,EAAIwR,QAAQ1+G,GAGpB,MAAOzF,GAEH2yG,EAAM,KAGV,OAAKA,GAAQA,EAAI1Y,kBAAmB0Y,EAAIC,qBAAqB,eAAe5+G,OAMjE2+G,EAJA,MAcf4N,eAAgB,WAERlvH,KAAKuqH,gBAEgC,IAAjCvqH,KAAKuqH,cAAc5lF,UAEnB3kC,KAAKuqH,cAAc3vF,KAAKh9B,MAAQ8F,KAAKmsB,MAAO7vB,KAAKuqH,cAAc3sH,MAAQ,IAAOoC,KAAKuvH,UAInFvvH,KAAKuqH,cAAc3vF,KAAK/8B,OAAS6F,KAAKmsB,MAAO7vB,KAAKuqH,cAAc1sH,OAAS,IAAOmC,KAAKuvH,UAGrFvvH,KAAKuqH,cAAcjnG,OAEnBtjB,KAAKuqH,cAAcjnG,OAAOgqD,aAK1BttE,KAAKuqH,cAAgB,OAYjCwI,iBAAkB,WAEd,OAAO/yH,KAAK4rH,kBAUhB9hF,iBAAkB,WAEd,OAAO9pC,KAAK0rH,gBAAkB1rH,KAAK4rH,kBAUvCoH,iBAAkB,WAEd,OAAOhzH,KAAKyrH,iBAUhB1hF,iBAAkB,WAEd,OAAO/pC,KAAKyrH,gBAAkBzrH,KAAK2rH,mBAc3C3kH,OAAOyF,eAAejL,EAAOi8C,OAAOn7C,UAAW,iBAE3C4E,IAAK,WAED,IAAIqoH,EAAYvvH,KAAK4rH,iBAAmB5rH,KAAK0rH,gBAAmB,IAChE,OAAOlqH,EAAOkC,KAAK+4B,MAAM8yF,GAAY,EAAG,EAAG,QAWnDvoH,OAAOyF,eAAejL,EAAOi8C,OAAOn7C,UAAW,YAE3C4E,IAAK,WAED,OAAOxD,KAAK+xB,MAAMz1B,KAAKizH,kBAK/BzxH,EAAOi8C,OAAOn7C,UAAUC,YAAcf,EAAOi8C,OAa7Cj8C,EAAOiiH,cAcH7B,WAAY,SAAUN,EAAKl7G,EAAayvE,EAAUC,EAAUzoE,EAAOzI,GAE/D,OAAO5E,KAAKilH,cAAc3D,EAAKl7G,EAAayvE,EAAUC,EAAUzoE,EAAOzI,IAe3EqgH,cAAe,SAAU3D,EAAKl7G,EAAayvE,EAAUC,EAAUzoE,EAAOzI,GAEhD,MAAdA,IAEAA,EAAa,GAGjB,IAAIwP,KACA8+G,EAAO5R,EAAIC,qBAAqB,QAAQ,GACxC4R,EAAS7R,EAAIC,qBAAqB,UAAU,GAEhDntG,EAAKohE,KAAO09C,EAAKE,aAAa,QAC9Bh/G,EAAK0N,KAAOqR,SAAS+/F,EAAKE,aAAa,QAAS,IAChDh/G,EAAKq/E,WAAatgE,SAASggG,EAAOC,aAAa,cAAe,IAAMt9C,EACpE1hE,EAAKuhE,SAOL,IAAK,IALD09C,EAAU/R,EAAIC,qBAAqB,QAEnCx9G,EAAI,EAAUsJ,EAAMtJ,EAAI,EACxBC,EAAI,EAAUqJ,EAAMrJ,EAAI,EAEnBtB,EAAI,EAAGA,EAAI2wH,EAAQ1wH,OAAQD,IACpC,CACI,IAAIqiE,EAAW5xC,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,MAAO,IAEnDE,EAAOl/G,EAAKuhE,MAAM5Q,IAClBhhE,EAAGovB,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,KAAM,IAC1CpvH,EAAGmvB,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,KAAM,IAC1Cx1H,MAAOu1B,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,SAAU,IAClDv1H,OAAQs1B,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,UAAW,IACpDr9C,QAAS5iD,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,WAAY,IAAMxuH,EAC5DoxE,QAAS7iD,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,WAAY,IAAMxuH,EAC5D0zF,UAAWnlE,SAASkgG,EAAQ3wH,GAAG0wH,aAAa,YAAa,IAAMv9C,GAAYjxE,EAC3EyzF,YAEJ,GAAIhrF,GAASA,EAAMmlE,QACnB,CASI,GARI8gD,EAAKvvH,EAAIuvH,EAAK11H,MAAQyP,EAAMolE,kBAAoBplE,EAAM4xG,oBAEtDqU,EAAK11H,OAAS01H,EAAKvvH,EAAIuvH,EAAK11H,MAAQyP,EAAMolE,kBAAoBplE,EAAM4xG,mBAEpEqU,EAAKtvH,EAAIsvH,EAAKz1H,OAASwP,EAAMqlE,kBAAoBrlE,EAAM6xG,oBAEvDoU,EAAKz1H,QAAUy1H,EAAKtvH,EAAIsvH,EAAKz1H,OAASwP,EAAMqlE,kBAAoBrlE,EAAM6xG,mBAEtEoU,EAAKvvH,EAAIsJ,EAAMolE,kBACnB,CACQksC,EAAOtxG,EAAMolE,kBAAoB6gD,EAAKvvH,EAC1CuvH,EAAKvvH,EAAI,EACTuvH,EAAK11H,OAAS+gH,EACd2U,EAAKv9C,SAAW4oC,EAEpB,GAAI2U,EAAKtvH,EAAIqJ,EAAMqlE,kBACnB,CACI,IAAIisC,EAAOtxG,EAAMqlE,kBAAoB4gD,EAAKtvH,EAC1CsvH,EAAKtvH,EAAI,EACTsvH,EAAKz1H,QAAU8gH,EACf2U,EAAKt9C,SAAW2oC,GAGxB2U,EAAKvvH,GAAKA,EACVuvH,EAAKtvH,GAAKA,EAGd,IAAIuvH,EAAWjS,EAAIC,qBAAqB,WAExC,IAAK7+G,EAAI,EAAGA,EAAI6wH,EAAS5wH,OAAQD,IACjC,CACI,IAAIitD,EAAQx8B,SAASogG,EAAS7wH,GAAG0wH,aAAa,SAAU,IACpDI,EAASrgG,SAASogG,EAAS7wH,GAAG0wH,aAAa,UAAW,IACtDn8E,EAAS9jB,SAASogG,EAAS7wH,GAAG0wH,aAAa,UAAW,IAAMxuH,EAE5DwP,EAAKuhE,MAAM69C,KAEXp/G,EAAKuhE,MAAM69C,GAAQn7B,QAAQ1oC,GAAS1Y,GAI5C,OAAOj3C,KAAKyzH,mBAAmBrtH,EAAagO,IAehD4wG,eAAgB,SAAUtE,EAAMt6G,EAAayvE,EAAUC,EAAUzoE,EAAOzI,GAElD,MAAdA,IAEAA,EAAa,GAGjB,IAAIwP,GACAohE,KAAMkrC,EAAKlrC,KAAK09C,KAAKQ,MACrB5xG,KAAMqR,SAASutF,EAAKlrC,KAAK09C,KAAKn4C,MAAO,IACrC0Y,WAAYtgE,SAASutF,EAAKlrC,KAAK29C,OAAOQ,YAAa,IAAM79C,EACzDH,UAGA5xE,EAAI,EAAUsJ,EAAMtJ,EAAI,EACxBC,EAAI,EAAUqJ,EAAMrJ,EAAI,EAgE5B,OA9DA08G,EAAKlrC,KAAKG,MAAM29C,KAAK3iG,QAEjB,SAAoB4jE,GAEhB,IAAIxvB,EAAW5xC,SAASohE,EAAOq/B,IAAK,IAEhCN,EAAOl/G,EAAKuhE,MAAM5Q,IAClBhhE,EAAGovB,SAASohE,EAAOxwC,GAAI,IACvB//C,EAAGmvB,SAASohE,EAAOvwC,GAAI,IACvBpmD,MAAOu1B,SAASohE,EAAO7nF,OAAQ,IAC/B7O,OAAQs1B,SAASohE,EAAO5nF,QAAS,IACjCopE,QAAS5iD,SAASohE,EAAOs/B,SAAU,IAAMjvH,EACzCoxE,QAAS7iD,SAASohE,EAAOu/B,SAAU,IAAMlvH,EACzC0zF,UAAWnlE,SAASohE,EAAOw/B,UAAW,IAAMl+C,GAAYjxE,EACxDyzF,YAEJ,GAAIhrF,GAASA,EAAMmlE,QACnB,CASI,GARI8gD,EAAKvvH,EAAIuvH,EAAK11H,MAAQyP,EAAMolE,kBAAoBplE,EAAM4xG,oBAEtDqU,EAAK11H,OAAS01H,EAAKvvH,EAAIuvH,EAAK11H,MAAQyP,EAAMolE,kBAAoBplE,EAAM4xG,mBAEpEqU,EAAKtvH,EAAIsvH,EAAKz1H,OAASwP,EAAMqlE,kBAAoBrlE,EAAM6xG,oBAEvDoU,EAAKz1H,QAAUy1H,EAAKtvH,EAAIsvH,EAAKz1H,OAASwP,EAAMqlE,kBAAoBrlE,EAAM6xG,mBAEtEoU,EAAKvvH,EAAIsJ,EAAMolE,kBACnB,CACQksC,EAAOtxG,EAAMolE,kBAAoB6gD,EAAKvvH,EAC1CuvH,EAAKvvH,EAAI,EACTuvH,EAAK11H,OAAS+gH,EACd2U,EAAKv9C,SAAW4oC,EAEpB,GAAI2U,EAAKtvH,EAAIqJ,EAAMqlE,kBACnB,CACI,IAAIisC,EAAOtxG,EAAMqlE,kBAAoB4gD,EAAKtvH,EAC1CsvH,EAAKtvH,EAAI,EACTsvH,EAAKz1H,QAAU8gH,EACf2U,EAAKt9C,SAAW2oC,GAGxB2U,EAAKvvH,GAAKA,EACVuvH,EAAKtvH,GAAKA,IAKd08G,EAAKlrC,KAAK+9C,UAAY7S,EAAKlrC,KAAK+9C,SAASl7B,SAEzCqoB,EAAKlrC,KAAK+9C,SAASl7B,QAAQ1nE,QAEvB,SAAuB0nE,GAEfjkF,EAAKuhE,MAAM0iB,EAAQ27B,WAEnB5/G,EAAKuhE,MAAM0iB,EAAQ27B,SAAS37B,QAAQA,EAAQ47B,QAAU9gG,SAASklE,EAAQ67B,QAAS,IAAMtvH,KAO/F5E,KAAKyzH,mBAAmBrtH,EAAagO,IAYhDq/G,mBAAoB,SAAUrtH,EAAa+tH,GAavC,OAXAntH,OAAO0qB,KAAKyiG,EAAex+C,OAAOhlD,QAE9B,SAAqBo0C,GAEjB,IAAIwvB,EAAS4/B,EAAex+C,MAAM5Q,GAElCwvB,EAAOx2F,QAAU,IAAIS,KAAKqO,QAAQzG,EAAa,IAAI5E,EAAOS,UAAUsyF,EAAOxwF,EAAGwwF,EAAOvwF,EAAGuwF,EAAO32F,MAAO22F,EAAO12F,WAK9Gs2H,GAUXC,IAAK,SAAU7Q,GAoBX,IAIItnG,EAJAo4G,EAAY,IAAI9xG,YAAYghG,EAAYvzF,MAAM,EAAG,KACjDskG,EAAY,IAAIjkC,WAAWkzB,GAC3BgR,EAAY,KACZC,EAAeH,EAAU,IAAM,GAAKA,EAAU,GAE9C34G,EAAoB,EAExB,GAAqB,WAAjB24G,EAAU,KAEN,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,IACXhrH,QAAQmrH,IAAgB,EAE9B,CAcI,OAbIA,GAAe,GAAKA,GAAe,EAEnCv4G,EAAuB,QAElBu4G,GAAe,GAAKA,GAAe,GAExCv4G,EAAuB,OAEF,IAAhBu4G,IAELv4G,EAAuB,QAGnBu4G,GAEJ,KAAK,EACD94G,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,EAG7B64G,GACInqG,UAAU,EACVs5F,WAAY,MACZznG,qBAAsBA,EACtBw4G,MAAOJ,EAAU,GACjBG,YAAaA,EACbE,WAAYL,EAAU,GACtBM,YAAaN,EAAU,GACvBx2H,OAAQw2H,EAAU,GAClBz2H,MAAOy2H,EAAU,GACjBO,MAAOP,EAAU,GACjBQ,iBAAkBR,EAAU,GAC5BS,cAAeT,EAAU,IACzBU,gBAAiBV,EAAU,IAC3BW,aAAcX,EAAU,IACxBlgH,YAAamgH,EAAUrvG,SAAS,GAAKovG,EAAU,IAAKC,EAAUW,YAC9Dv5G,kBAAmBA,GAI3B,OAAO64G,GAUXW,IAAK,SAAU3R,GAoCX,IAAI+Q,EAAY,IAAIjkC,WAAWkzB,GAC3B8Q,EAAY,IAAI9xG,YAAYghG,GAC5B4R,EAAY,KA4DhB,OA1DqB,KAAjBb,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAqCqB,UAnC/Ba,GACI/qG,UAAU,EACVs5F,WAAY,MACZznG,qBAAsB,OACtB6F,KAAMuyG,EAAU,GAChBI,MAAOJ,EAAU,GACjBx2H,OAAQw2H,EAAU,GAClBz2H,MAAOy2H,EAAU,GACjBe,MAAOf,EAAU,GACjBO,MAAOP,EAAU,GACjBgB,YAAahB,EAAU,GACvBiB,WAAYjB,EAAU,IACtBkB,WAAYlB,EAAU,IACtBmB,cACI3wD,OAAOC,aAAawvD,EAAU,KAC9BzvD,OAAOC,aAAawvD,EAAU,KAC9BzvD,OAAOC,aAAawvD,EAAU,KAC9BzvD,OAAOC,aAAawvD,EAAU,MAChCxkH,KAAK,IACP2lH,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,KACXniH,YAAamgH,EAAUrvG,SAASovG,EAAU,GAAK,EAAGC,EAAUW,cAElDO,cAEVL,EAAUgB,WAAa9B,EAAU,IACjCc,EAAUiB,kBAAoB/B,EAAU,IACxCc,EAAUkB,SAAWhC,EAAU,IAC/Bc,EAAUmB,UAAYjC,EAAU,IAChCc,EAAUkB,SAAWhC,EAAU,KAEA,SAA3Bc,EAAUK,aAEdL,EAAUz5G,kBAAoB,MAEC,SAA3By5G,EAAUK,eAEdL,EAAUz5G,kBAAoB,QAI/By5G,GAUXoB,IAAK,SAAUhT,GA0BX,IAAI+Q,EAAY,IAAIjkC,WAAWkzB,GAC3B8Q,EAAY,IAAI9xG,YAAYghG,GAC5BiT,EAAY,KACZC,EAAkB,GAAMpC,EAAU,IAAM,EAAK,EAC7CqC,EAAYrC,EAAUoC,GACtBE,EAAmBtC,EAAU,GAC7Bp4G,EAAuB,EAE3B,GAAqB,MAAjBq4G,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,MAKhC,MAGA,MAAQ,MAAQ,MAAQ,MAGxB,MAAQ,MAAQ,MAAQ,OAC1BjrH,QAAQstH,IAAqB,EACnC,CACI,OAAQA,GAEJ,KAAK,MACD16G,EAAuB,OACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,QACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,OAI/Bu6G,GACIpsG,UAAU,EACVs5F,WAAY,MACZznG,qBAAsBA,EACtB26G,WAAYvC,EAAU,GACtBwC,OAAQxC,EAAU,GAClByC,WAAYzC,EAAU,GACtB0C,SAAU1C,EAAU,GACpBsC,iBAAkBtC,EAAU,GAC5B2C,qBAAsB3C,EAAU,GAChCz2H,MAAOy2H,EAAU,GACjBx2H,OAAQw2H,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,EACXviH,YAAamgH,EAAUrvG,SAAiC,GAAvBwxG,EAAkB,GAAQC,EAAY,MAI/E,OAAOF,GAUXc,IAAK,SAAU/T,GAeX,IAAI+Q,EAAY,IAAIjkC,WAAWkzB,GAC3BgU,EAAY,KAoBhB,OAlBqB,KAAjBjD,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAEViD,GACIntG,UAAU,EACVs5F,WAAY,MACZznG,qBAAsB,OACtBxH,OAA+C,OAArC6/G,EAAU,IAAM,EAAIA,EAAU,IACxC12H,MAA8C,OAArC02H,EAAU,IAAM,EAAIA,EAAU,IACvCz2H,OAAiD,OAAvCy2H,EAAU,KAAO,EAAIA,EAAU,KACzCkD,cAAwD,OAAvClD,EAAU,KAAO,EAAIA,EAAU,KAChDmD,eAAyD,OAAvCnD,EAAU,KAAO,EAAIA,EAAU,KACjDngH,YAAamgH,EAAUrvG,SAAS,GAAIqvG,EAAU3xH,UAI/C40H,IAqBf/1H,EAAOy3E,YAAc,SAAUl2E,EAAMiQ,GAMjChT,KAAK+C,KAAOA,EAMZ/C,KAAKgT,IAAMA,EAMXhT,KAAKwW,OAASxW,KAAK+C,KAAKiX,MAAMyrG,QAAQzyG,EAAM,eAM5ChT,KAAK03H,YAAc,KAOnB13H,KAAK+wH,UAAW,EAMhB/wH,KAAK23H,UAEL,IAAK,IAAIxgG,KAAKn3B,KAAKwW,OAAOohH,UAC1B,CACI,IAAI/+C,EAAS74E,KAAKwW,OAAOohH,UAAUzgG,GAC/BuP,EAAQ1mC,KAAK+C,KAAKk2B,IAAIyN,MAAM1mC,KAAKgT,KAErC0zB,EAAMmxF,UAAU1gG,EAAG0hD,EAAOvsE,MAAQusE,EAAOx9D,IAAMw9D,EAAOvsE,MAAQ,KAAMusE,EAAOrN,MAE3ExrE,KAAK23H,OAAOxgG,GAAKuP,EAGjB1mC,KAAKwW,OAAOu6G,WAEZ/wH,KAAK03H,YAAc13H,KAAKwW,OAAOu6G,SAC/B/wH,KAAKsrE,KAAKtrE,KAAK03H,aACf13H,KAAK+wH,SAAW/wH,KAAK23H,OAAO33H,KAAK03H,eAIzCl2H,EAAOy3E,YAAY32E,WAUfgpE,KAAM,SAAUuN,EAAQt3C,GAIpB,YAFeh7B,IAAXg7B,IAAwBA,EAAS,GAE9BvhC,KAAK23H,OAAO9+C,GAAQvN,KAAKuN,EAAQ,KAAMt3C,IASlDp1B,KAAM,SAAU0sE,GAEZ,GAAKA,EASD74E,KAAK23H,OAAO9+C,GAAQ1sE,YAPpB,IAAK,IAAI6G,KAAOhT,KAAK23H,OAEjB33H,KAAK23H,OAAO3kH,GAAK7G,QAgB7BjF,IAAK,SAAU2xE,GAEX,OAAO74E,KAAK23H,OAAO9+C,KAK3Br3E,EAAOy3E,YAAY32E,UAAUC,YAAcf,EAAOy3E,YAkBlDz3E,EAAOw3E,MAAQ,SAAUj2E,EAAMiQ,EAAKuuB,EAAQiqC,EAAMtP,QAE/B31D,IAAXg7B,IAAwBA,EAAS,QACxBh7B,IAATilE,IAAsBA,GAAO,QACjBjlE,IAAZ21D,IAAyBA,EAAUn5D,EAAK2jC,MAAMoxF,iBAMlD93H,KAAK+C,KAAOA,EAKZ/C,KAAKgyB,KAAOhf,EAKZhT,KAAKgT,IAAMA,EAKXhT,KAAKwrE,KAAOA,EAKZxrE,KAAK+3H,WAKL/3H,KAAK8N,QAAU,KAKf9N,KAAK+wH,UAAW,EAKhB/wH,KAAKg4H,cAAgB,EAMrBh4H,KAAK63G,UAAY,EAKjB73G,KAAKi4H,YAAc,EAKnBj4H,KAAK6iC,SAAW,EAKhB7iC,KAAKk4H,WAAa,EAKlBl4H,KAAKY,SAAW,EAKhBZ,KAAKm4H,SAAW,EAMhBn4H,KAAKonC,QAAS,EAKdpnC,KAAKo4H,eAAiB,EAKtBp4H,KAAKq4H,WAAa,EAMlBr4H,KAAKi9G,WAAY,EAMjBj9G,KAAKs4H,cAAgB,GAKrBt4H,KAAKu4H,UAAY,KAMjBv4H,KAAKw4H,iBAAkB,EAMvBx4H,KAAKy4H,UAAW,EAMhBz4H,KAAK04H,eAAgB,EAMrB14H,KAAK24H,UAAW,EAMhB34H,KAAKqwH,cAAgBrwH,KAAK+C,KAAK2jC,MAAM2pF,cAMrCrwH,KAAKswH,cAAgBtwH,KAAK+C,KAAK2jC,MAAM4pF,cAKrCtwH,KAAK44H,aAAe,KAKpB54H,KAAK64H,eAAiB,KAKtB74H,KAAK84H,SAAW,KAMhB94H,KAAK+4H,OAAS,KAMd/4H,KAAKg5H,cAAgB,EAMrBh5H,KAAKi5H,iBAAkB,EAMvBj5H,KAAKk5H,eAAgB,EAMrBl5H,KAAKm5H,yBAA0B,EAM/Bn5H,KAAKo5H,UAAY,EAEbp5H,KAAKqwH,eAELrwH,KAAK8N,QAAU9N,KAAK+C,KAAK2jC,MAAM54B,QAC/B9N,KAAK64H,eAAiB74H,KAAK+C,KAAK2jC,MAAM2yF,gBAEN9yH,IAA5BvG,KAAK8N,QAAQwrH,WAEbt5H,KAAK84H,SAAW94H,KAAK8N,QAAQyrH,iBAI7Bv5H,KAAK84H,SAAW94H,KAAK8N,QAAQwrH,aAGjCt5H,KAAK84H,SAASU,KAAKpyH,MAAQm6B,EAEvB26B,GAEAl8D,KAAK84H,SAAS58D,QAAQl8D,KAAK64H,iBAG1B74H,KAAKswH,gBAENtwH,KAAK+C,KAAKiX,MAAMssG,SAAStzG,IAAQhT,KAAK+C,KAAKiX,MAAM2sG,aAAa3zG,IAE9DhT,KAAK+4H,OAAS/4H,KAAK+C,KAAKiX,MAAM+tG,aAAa/0G,GAC3ChT,KAAKg4H,cAAgB,EAEjBh4H,KAAK+4H,OAAOl2F,WAEZ7iC,KAAKg4H,cAAgBh4H,KAAK+4H,OAAOl2F,WAKrC7iC,KAAK+C,KAAKiX,MAAMioG,cAAchpF,IAAIj5B,KAAKy5H,iBAAkBz5H,OAOjEA,KAAK05H,UAAY,IAAIl4H,EAAO6gC,OAK5BriC,KAAK25H,OAAS,IAAIn4H,EAAO6gC,OAKzBriC,KAAK+oC,QAAU,IAAIvnC,EAAO6gC,OAK1BriC,KAAKipC,SAAW,IAAIznC,EAAO6gC,OAK3BriC,KAAKs2G,OAAS,IAAI90G,EAAO6gC,OAKzBriC,KAAK45H,OAAS,IAAIp4H,EAAO6gC,OAKzBriC,KAAK65H,OAAS,IAAIr4H,EAAO6gC,OAKzBriC,KAAK85H,iBAAmB,IAAIt4H,EAAO6gC,OAKnCriC,KAAKuiC,eAAiB,IAAI/gC,EAAO6gC,OAMjCriC,KAAK+5H,QAAUx4F,EAMfvhC,KAAKg6H,QAAU,KAMfh6H,KAAKi6H,QAAS,EAMdj6H,KAAKk6H,YAAc,EAMnBl6H,KAAKm6H,cAAgB,EAMrBn6H,KAAKo6H,YAAc,EAMnBp6H,KAAKq6H,WAAa,EAMlBr6H,KAAKs6H,YAAc,EAMnBt6H,KAAKu6H,UAAY,EAMjBv6H,KAAKk8C,SAAU,EAMfl8C,KAAKw6H,2BAA4B,GAGrCh5H,EAAOw3E,MAAM12E,WAQTm3H,iBAAkB,SAAUzmH,GAEpBA,IAAQhT,KAAKgT,MAEbhT,KAAK+4H,OAAS/4H,KAAK+C,KAAKiX,MAAM+tG,aAAa/nH,KAAKgT,KAChDhT,KAAKg4H,cAAgBh4H,KAAK+4H,OAAOl2F,WAezCg1F,UAAW,SAAU7lG,EAAM1lB,EAAOu2B,EAAUtB,EAAQiqC,QAE/BjlE,IAAbs8B,GAAuC,OAAbA,IAAqBA,EAAW,QAC/Ct8B,IAAXg7B,GAAmC,OAAXA,IAAmBA,EAAS,QAC3Ch7B,IAATilE,IAAsBA,GAAO,GAEjCxrE,KAAK+3H,QAAQ/lG,IACTA,KAAMA,EACN1lB,MAAOA,EACPH,KAAMG,EAAQu2B,EACdtB,OAAQA,EACRsB,SAAUA,EACVq1F,WAAuB,IAAXr1F,EACZ2oC,KAAMA,IASdivD,aAAc,SAAUzoG,UAEbhyB,KAAK+3H,QAAQ/lG,IAUxB0oG,eAAgB,WAEZ16H,KAAK26H,wBACL36H,KAAKi9G,WAAY,EACjBj9G,KAAKi4H,YAAcj4H,KAAKk4H,WACxBl4H,KAAKmM,OAEDnM,KAAK24H,WAEL34H,KAAKi5H,iBAAkB,EACvBj5H,KAAKm5H,yBAA0B,GAG/Bn5H,KAAKi5H,kBAELj5H,KAAK46H,oBAED56H,KAAKm5H,wBAELn5H,KAAK+C,KAAK2jC,MAAMvqB,OAAOnc,OAIvBA,KAAK+3H,WACL/3H,KAAK8N,QAAU,KACf9N,KAAKg6H,QAAU,KACfh6H,KAAK44H,aAAe,KAEpB54H,KAAK05H,UAAUjtF,UACfzsC,KAAK25H,OAAOltF,UACZzsC,KAAK+oC,QAAQ0D,UACbzsC,KAAKipC,SAASwD,UACdzsC,KAAKs2G,OAAO7pE,UACZzsC,KAAK45H,OAAOntF,UACZzsC,KAAK65H,OAAOptF,UACZzsC,KAAK85H,iBAAiBrtF,aAUlCtH,OAAQ,WAEJ,GAAKnlC,KAAK+C,KAAKiX,MAAMitG,cAAcjnH,KAAKgT,KAAxC,CAMIhT,KAAK66H,YAAc76H,KAAKw6H,4BAExBx6H,KAAK05H,UAAUj0F,SAASzlC,MACxBA,KAAKw6H,2BAA4B,GAGjCx6H,KAAKw4H,iBAAmBx4H,KAAK+C,KAAKiX,MAAM2sG,aAAa3mH,KAAKgT,OAE1DhT,KAAKw4H,iBAAkB,EACvBx4H,KAAKsrE,KAAKtrE,KAAKk6H,YAAal6H,KAAKm6H,cAAen6H,KAAKo6H,YAAap6H,KAAKu6H,YAG3E,IAAIr9E,EAAMl9C,KAAK+C,KAAKwiC,KAAKA,KAEzB,GAAIvlC,KAAKi9G,UACT,CACI,GAAIj9G,KAAKk5H,cACT,CACI,IAAIjB,EAAcj4H,KAAK+4H,OAAOd,YAE9B,KAAIA,IAAgBj4H,KAAKonC,OAASpnC,KAAKq6H,WAAa,IAAMr6H,KAAKY,UAAY,IAUvE,OARAZ,KAAKk5H,eAAgB,EACrBl5H,KAAK63G,UAAY36D,EAAO,IAAO+6E,EAC/Bj4H,KAAKm4H,SAAWn4H,KAAK63G,UAAY73G,KAAKk4H,WAU9Cl4H,KAAKi4H,YAAc/6E,EAAMl9C,KAAK63G,UAE1B73G,KAAKi4H,aAAej4H,KAAKk4H,aAErBl4H,KAAKqwH,cAEDrwH,KAAKwrE,MAGLxrE,KAAKs2G,OAAO7wE,SAASzlC,MAGrBA,KAAKi9G,WAAY,EAEU,KAAvBj9G,KAAKs4H,eAELt4H,KAAKi4H,YAAc,EACnBj4H,KAAK63G,UAAY36D,EACjBl9C,KAAKi9G,WAAY,IAIjBj9G,KAAK85H,iBAAiBr0F,SAASzlC,KAAKs4H,cAAet4H,MACnDA,KAAKsrE,KAAKtrE,KAAKs4H,cAAe,EAAGt4H,KAAKuhC,QAAQ,GAAM,GAAM,KAMnC,KAAvBvhC,KAAKs4H,eAELt4H,KAAKmM,OAIRnM,KAAKwrE,MAEVxrE,KAAKs2G,OAAO7wE,SAASzlC,MAEM,KAAvBA,KAAKs4H,gBAELt4H,KAAKi4H,YAAc,EACnBj4H,KAAK63G,UAAY36D,GAIrBl9C,KAAKi9G,WAAY,EAEjBj9G,KAAKsrE,KAAKtrE,KAAKs4H,cAAe,EAAGt4H,KAAKuhC,QAAQ,GAAM,GAAM,IAI1DvhC,KAAKmM,cA1FbnM,KAAKwC,WAuGbs4H,SAAU,SAAUv5F,GAEhB,OAAOvhC,KAAKsrE,KAAK,KAAM,EAAG/pC,GAAQ,IAetC+pC,KAAM,SAAUuN,EAAQj4E,EAAU2gC,EAAQiqC,EAAMuvD,EAAcpB,GAM1D,QAJepzH,IAAXsyE,IAAmC,IAAXA,GAA+B,OAAXA,IAAmBA,EAAS,SACvDtyE,IAAjBw0H,IAA8BA,GAAe,QAClCx0H,IAAXozH,IAAwBA,GAAS,GAEjC35H,KAAKi9G,YAAcj9G,KAAK04H,gBAAkBqC,IAAiB/6H,KAAKy4H,SAGhE,OAAOz4H,KAkBX,GAfIA,KAAK+4H,QAAU/4H,KAAKi9G,YAAcj9G,KAAK04H,gBAAkB14H,KAAKy4H,UAAYsC,KAEtE/6H,KAAKqwH,cAELrwH,KAAKg7H,2BAEAh7H,KAAKswH,gBAEVtwH,KAAK+4H,OAAO/vF,QACZhpC,KAAK+4H,OAAOd,YAAc,GAG9Bj4H,KAAKi9G,WAAY,GAGN,KAAXpkC,GAAiB7xE,OAAO0qB,KAAK1xB,KAAK+3H,SAASp1H,OAAS,EAMpD,OAAO3C,KAGX,GAAe,KAAX64E,EACJ,CACI,IAAI74E,KAAK+3H,QAAQl/C,GA6Bb,OADAv4E,QAAQ+Z,KAAK,mCAAqCw+D,EAAS,kBACpD74E,KA3BPA,KAAKs4H,cAAgBz/C,EAGrB74E,KAAKY,SAAWZ,KAAK+3H,QAAQl/C,GAAQvsE,MACrCtM,KAAKuhC,OAASvhC,KAAK+3H,QAAQl/C,GAAQt3C,OACnCvhC,KAAKwrE,KAAOxrE,KAAK+3H,QAAQl/C,GAAQrN,KACjCxrE,KAAK6iC,SAAW7iC,KAAK+3H,QAAQl/C,GAAQh2C,SACrC7iC,KAAKk4H,WAAal4H,KAAK+3H,QAAQl/C,GAAQq/C,gBAEjB,IAAX32F,IAEPvhC,KAAKuhC,OAASA,QAGE,IAATiqC,IAEPxrE,KAAKwrE,KAAOA,GAGhBxrE,KAAKk6H,YAAcrhD,EACnB74E,KAAKm6H,cAAgBn6H,KAAKY,SAC1BZ,KAAKo6H,YAAcp6H,KAAKuhC,OACxBvhC,KAAKu6H,UAAYv6H,KAAKwrE,UAU1B5qE,EAAWA,GAAY,OAER2F,IAAXg7B,IAAwBA,EAASvhC,KAAK+5H,cAC7BxzH,IAATilE,IAAsBA,EAAOxrE,KAAKwrE,MAEtCxrE,KAAKY,SAAW8C,KAAKuC,IAAI,EAAGrF,GAC5BZ,KAAKuhC,OAASA,EACdvhC,KAAKwrE,KAAOA,EACZxrE,KAAK6iC,SAAW,EAChB7iC,KAAKk4H,WAAa,EAElBl4H,KAAKk6H,YAAcrhD,EACnB74E,KAAKm6H,cAAgBv5H,EACrBZ,KAAKo6H,YAAc74F,EACnBvhC,KAAKu6H,UAAY/uD,EAyHrB,OAtHIxrE,KAAKqwH,cAGDrwH,KAAK+C,KAAKiX,MAAM0sG,eAAe1mH,KAAKgT,MAEpChT,KAAKi7H,0BAEDj7H,KAAKwrE,MAAmB,KAAXqN,IAEb74E,KAAK+4H,OAAOvtD,MAAO,GAGlBxrE,KAAKwrE,MAAmB,KAAXqN,GAEd74E,KAAKk7H,qBAGTl7H,KAAKg4H,cAAgBh4H,KAAK+4H,OAAO79G,OAAO2nB,SAElB,IAAlB7iC,KAAK6iC,WAEL7iC,KAAK6iC,SAAW7iC,KAAKg4H,cACrBh4H,KAAKk4H,WAAax0H,KAAKwC,KAA0B,IAArBlG,KAAKg4H,gBAGjCh4H,KAAKwrE,MAAmB,KAAXqN,EAEb74E,KAAKm7H,aAAa,EAAG,GAIrBn7H,KAAKm7H,aAAa,EAAGn7H,KAAKY,SAAUZ,KAAK6iC,UAG7C7iC,KAAKi9G,WAAY,EACjBj9G,KAAKonC,QAAS,EACdpnC,KAAK63G,UAAY73G,KAAK+C,KAAKwiC,KAAKA,KAChCvlC,KAAKi4H,YAAc,EACnBj4H,KAAKm4H,SAAWn4H,KAAK63G,UAAY73G,KAAKk4H,WAElCyB,GAEA35H,KAAK25H,OAAOl0F,SAASzlC,QAKzBA,KAAKw4H,iBAAkB,EAEnBx4H,KAAK+C,KAAKiX,MAAMssG,SAAStmH,KAAKgT,OAA0D,IAAlDhT,KAAK+C,KAAKiX,MAAMssG,SAAStmH,KAAKgT,KAAKqxG,YAEzErkH,KAAK+C,KAAK2jC,MAAM0rF,OAAOpyH,KAAKgT,IAAKhT,OAIpCA,KAAK+C,KAAKiX,MAAMssG,SAAStmH,KAAKgT,MAAQhT,KAAK+C,KAAKiX,MAAMssG,SAAStmH,KAAKgT,KAAKg8C,QAE9EhvD,KAAK+C,KAAKiX,MAAMqsG,YAAYrmH,KAAKgT,KACjChT,KAAKw4H,iBAAkB,GAElBx4H,KAAK+4H,SAAW/4H,KAAK+C,KAAKknB,OAAOs1B,UAAuC,IAA3Bv/C,KAAK+4H,OAAO50B,aAE9DnkG,KAAK+4H,OAAOztD,OAEZtrE,KAAK+4H,OAAOvtD,KAAOxrE,KAAKwrE,KAGxBxrE,KAAKg4H,cAAgBh4H,KAAK+4H,OAAOl2F,SAEX,IAAlB7iC,KAAK6iC,WAEL7iC,KAAK6iC,SAAW7iC,KAAKg4H,cACrBh4H,KAAKk4H,WAAkC,IAArBl4H,KAAKg4H,eAG3Bh4H,KAAKg5H,cAAgBh5H,KAAK+C,KAAK2jC,MAAMnF,OAErCvhC,KAAK+4H,OAAOd,YAAcj4H,KAAKY,SAC/BZ,KAAK+4H,OAAOqC,MAAQp7H,KAAKi6H,OAErBj6H,KAAKi6H,QAAUj6H,KAAK+C,KAAK2jC,MAAM20F,KAE/Br7H,KAAK+4H,OAAOx3F,OAAS,EAIrBvhC,KAAK+4H,OAAOx3F,OAASvhC,KAAK+5H,QAAU/5H,KAAKg5H,cAG7Ch5H,KAAKk5H,eAAiBl5H,KAAKs4H,cAC3Bt4H,KAAKi9G,WAAY,EACjBj9G,KAAKonC,QAAS,EACdpnC,KAAKq6H,WAAa,EAClBr6H,KAAK63G,UAAY73G,KAAK+C,KAAKwiC,KAAKA,KAChCvlC,KAAKi4H,YAAc,EACnBj4H,KAAKm4H,SAAWn4H,KAAK63G,UAAY73G,KAAKk4H,WAElCyB,GAEA35H,KAAK25H,OAAOl0F,SAASzlC,OAKzBA,KAAKw4H,iBAAkB,EAGvBx4H,KAAK24H,WAED34H,KAAKwrE,MAELlrE,QAAQ+Z,KAAK,iCAAmCra,KAAKgyB,KAAO,qCAGhEhyB,KAAKi5H,iBAAkB,EACvBj5H,KAAKm5H,yBAA0B,GAG5Bn5H,MAYX0pC,QAAS,SAAUmvC,EAAQj4E,EAAU2gC,EAAQiqC,GAEzCqN,EAASA,GAAU,GACnBj4E,EAAWA,GAAY,EACvB2gC,EAASA,GAAU,OACNh7B,IAATilE,IAAsBA,GAAO,GAEjCxrE,KAAKsrE,KAAKuN,EAAQj4E,EAAU2gC,EAAQiqC,GAAM,IAQ9CxiC,MAAO,WAEChpC,KAAKi9G,YAELj9G,KAAKonC,QAAS,EACdpnC,KAAKo4H,eAAiBp4H,KAAKi4H,YAC3Bj4H,KAAKq4H,WAAar4H,KAAK+C,KAAKwiC,KAAKA,KACjCvlC,KAAKq6H,WAAar6H,KAAK+4H,OAAOd,YAC9Bj4H,KAAK+oC,QAAQtD,SAASzlC,MACtBA,KAAKmM,SASb+8B,OAAQ,WAEJ,GAAIlpC,KAAKonC,OACT,CACI,GAAIpnC,KAAKqwH,cACT,CACI,IAAIrtH,EAAIU,KAAKuC,IAAI,EAAGjG,KAAKY,SAAYZ,KAAKo4H,eAAiB,KAE3Dp4H,KAAKi7H,0BAEsB,KAAvBj7H,KAAKs4H,gBAEDt4H,KAAKwrE,KAELxrE,KAAK+4H,OAAOvtD,MAAO,EAInBxrE,KAAKk7H,sBAIb,IAAIr4F,EAAW7iC,KAAK6iC,SAAY7iC,KAAKo4H,eAAiB,IAElDp4H,KAAKwrE,MAA+B,KAAvBxrE,KAAKs4H,cAElBt4H,KAAKm7H,aAAa,EAAGn4H,GAIrBhD,KAAKm7H,aAAa,EAAGn4H,EAAG6/B,QAK5B7iC,KAAKk5H,eAAiBl5H,KAAKs4H,cAC3Bt4H,KAAK+4H,OAAOd,YAAcj4H,KAAKq6H,WAC/Br6H,KAAKq6H,WAAa,EAClBr6H,KAAK+4H,OAAOztD,OAGhBtrE,KAAKi9G,WAAY,EACjBj9G,KAAKonC,QAAS,EACdpnC,KAAK63G,WAAc73G,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKq4H,WAC9Cr4H,KAAKipC,SAASxD,SAASzlC,QAS/BmM,KAAM,WAkBF,GAhBInM,KAAKi9G,WAAaj9G,KAAK+4H,SAEnB/4H,KAAKqwH,cAELrwH,KAAKg7H,2BAEAh7H,KAAKswH,gBAEVtwH,KAAK+4H,OAAO/vF,QACZhpC,KAAK+4H,OAAOd,YAAc,IAIlCj4H,KAAKw4H,iBAAkB,EACvBx4H,KAAKi9G,WAAY,GAEZj9G,KAAKonC,OACV,CACI,IAAIk0F,EAAat7H,KAAKs4H,cAEK,KAAvBt4H,KAAKs4H,eAELt4H,KAAK85H,iBAAiBr0F,SAASzlC,KAAKs4H,cAAet4H,MAGvDA,KAAKs4H,cAAgB,GAEE,OAAnBt4H,KAAKu4H,WAELv4H,KAAKu4H,UAAUpsH,OAGnBnM,KAAK45H,OAAOn0F,SAASzlC,KAAMs7H,KAgBnCp2F,OAAQ,SAAUrC,EAAU2oC,EAAMqN,QAEjBtyE,IAATilE,IAAsBA,GAAO,QAClBjlE,IAAXsyE,IAAwBA,EAAS74E,KAAKs4H,eAEtCt4H,KAAKonC,SAKTpnC,KAAKsrE,KAAKuN,EAAQ,EAAG,EAAGrN,GAExBxrE,KAAKu7H,OAAO14F,EAAU,KAW1B24F,QAAS,SAAU34F,GAEf7iC,KAAKu7H,OAAO14F,EAAU,IAY1B04F,OAAQ,SAAU14F,EAAUtB,GAEnBvhC,KAAKi9G,YAAaj9G,KAAKonC,QAAU7F,IAAWvhC,KAAKuhC,cAKrCh7B,IAAbs8B,IAA0BA,EAAW,UAE1Bt8B,IAAXg7B,GAMJvhC,KAAKu4H,UAAYv4H,KAAK+C,KAAKk2B,IAAIk7C,MAAMn0E,MAAMmxB,IAAKoQ,OAAQA,GAAUsB,EAAUrhC,EAAOowG,OAAOK,OAAOC,MAAM,GAEvGlyG,KAAKu4H,UAAU9hB,WAAWx9E,IAAIj5B,KAAKy7H,aAAcz7H,OAN7CM,QAAQ+Z,KAAK,+CAerBohH,aAAc,WAEVz7H,KAAKuiC,eAAekD,SAASzlC,KAAMA,KAAKuhC,QAEpB,IAAhBvhC,KAAKuhC,QAELvhC,KAAKmM,QAebuvH,mBAAoB,SAAUC,GAItB37H,KAAKswH,eAAiBtwH,KAAK+4H,SAE3B/4H,KAAKg5H,cAAgB2C,EACrB37H,KAAK+4H,OAAOx3F,OAASvhC,KAAKg5H,cAAgBh5H,KAAK+5H,UAUvDv3H,QAAS,SAAU2Z,QAEA5V,IAAX4V,IAAwBA,GAAS,GAErCnc,KAAKi5H,iBAAkB,EACvBj5H,KAAKm5H,wBAA0Bh9G,EAC/Bnc,KAAKmM,OAEDgQ,EAEAnc,KAAK+C,KAAK2jC,MAAMvqB,OAAOnc,OAIvBA,KAAK+3H,WACL/3H,KAAK8N,QAAU,KACf9N,KAAKg6H,QAAU,KACfh6H,KAAK44H,aAAe,KAEpB54H,KAAK05H,UAAUjtF,UACfzsC,KAAK25H,OAAOltF,UACZzsC,KAAK+oC,QAAQ0D,UACbzsC,KAAKipC,SAASwD,UACdzsC,KAAKs2G,OAAO7pE,UACZzsC,KAAK45H,OAAOntF,UACZzsC,KAAK65H,OAAOptF,UACZzsC,KAAK85H,iBAAiBrtF,YAI9BwuF,wBAAyB,WAErBj7H,KAAK+4H,OAAS/4H,KAAK8N,QAAQ8tH,qBAC3B57H,KAAK+4H,OAAO78D,QAAQl8D,KAAK44H,cAAgB54H,KAAK84H,UAC9C94H,KAAKg6H,QAAUh6H,KAAK+C,KAAKiX,MAAM+tG,aAAa/nH,KAAKgT,KACjDhT,KAAK+4H,OAAO79G,OAASlb,KAAKg6H,QAC1Bh6H,KAAKo5H,aAGTwB,kBAAmB,WAEf56H,KAAK+4H,OAAO38D,WAAWp8D,KAAK44H,cAAgB54H,KAAK84H,WAGrDqC,aAAc,SAAUU,EAAMpkH,EAAQorB,QAIjBt8B,IAAbs8B,EAEA7iC,KAAK+4H,OAAOzsH,MAAMuvH,GAAQ,EAAGpkH,GAAU,GAIvCzX,KAAK+4H,OAAOzsH,MAAMuvH,GAAQ,EAAGpkH,GAAU,EAAGorB,IAIlDm4F,yBAA0B,WAGtBh7H,KAAK26H,wBAEL,IAEI36H,KAAK+4H,OAAO5sH,KAAK,GAErB,MAAOwC,IAKP3O,KAAK46H,oBAEL56H,KAAK+4H,OAAS,MAGlBmC,mBAAoB,WAEhBl7H,KAAK+4H,OAAO+C,QAAU97H,KAAK06H,eAAe3qG,KAAK/vB,OAGnD26H,sBAAuB,WAEnB36H,KAAK+4H,OAAO+C,QAAU,OAK9Bt6H,EAAOw3E,MAAM12E,UAAUC,YAAcf,EAAOw3E,MAO5ChyE,OAAOyF,eAAejL,EAAOw3E,MAAM12E,UAAW,cAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKiX,MAAMssG,SAAStmH,KAAKgT,KAAKqxG,cAUlDr9G,OAAOyF,eAAejL,EAAOw3E,MAAM12E,UAAW,aAE1C4E,IAAK,WAED,OAAOlH,KAAK+C,KAAKiX,MAAM0sG,eAAe1mH,KAAKgT,QASnDhM,OAAOyF,eAAejL,EAAOw3E,MAAM12E,UAAW,QAE1C4E,IAAK,WAED,OAAQlH,KAAKi6H,QAAUj6H,KAAK+C,KAAK2jC,MAAM20F,MAG3Cl0H,IAAK,SAAUC,IAEXA,EAAQA,IAAS,KAEHpH,KAAKi6H,SAKf7yH,GAEApH,KAAKi6H,QAAS,EACdj6H,KAAKs6H,YAAct6H,KAAKo6H,YAEpBp6H,KAAKqwH,cAELrwH,KAAK84H,SAASU,KAAKpyH,MAAQ,EAEtBpH,KAAKswH,eAAiBtwH,KAAK+4H,SAEhC/4H,KAAK+4H,OAAOx3F,OAAS,KAKzBvhC,KAAKi6H,QAAS,EAEVj6H,KAAKqwH,cAELrwH,KAAK84H,SAASU,KAAKpyH,MAAQpH,KAAKs6H,YAE3Bt6H,KAAKswH,eAAiBtwH,KAAK+4H,SAEhC/4H,KAAK+4H,OAAOx3F,OAASvhC,KAAKs6H,cAIlCt6H,KAAK65H,OAAOp0F,SAASzlC,UAS7BgH,OAAOyF,eAAejL,EAAOw3E,MAAM12E,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAK+5H,SAGhB5yH,IAAK,SAAUC,GAGPpH,KAAKswH,gBAELlpH,EAAQpH,KAAK+C,KAAK8iC,KAAKpJ,MAAMr1B,EAAO,EAAG,IAGvCpH,KAAKi6H,OAELj6H,KAAKs6H,YAAclzH,GAIvBpH,KAAKo6H,YAAchzH,EACnBpH,KAAK+5H,QAAU3yH,EAEXpH,KAAKqwH,cAELrwH,KAAK84H,SAASU,KAAKpyH,MAAQA,EAEtBpH,KAAKswH,eAAiBtwH,KAAK+4H,SAEhC/4H,KAAK+4H,OAAOx3F,OAASvhC,KAAKg5H,cAAgB5xH,OAMtDJ,OAAOyF,eAAejL,EAAOw3E,MAAM12E,UAAW,YAE1C4E,IAAK,WAED,OAAOlH,KAAK+4H,OAAS/4H,KAAKo5H,UAAY,QA8B9C53H,EAAOq8C,aAAe,SAAU96C,GAK5B/C,KAAK+C,KAAOA,EAKZ/C,KAAK+7H,cAAgB,IAAIv6H,EAAO6gC,OAMhCriC,KAAKg8H,eAAiB,IAAIx6H,EAAO6gC,OAMjCriC,KAAK65H,OAAS,IAAIr4H,EAAO6gC,OAMzBriC,KAAKi8H,SAAW,IAAIz6H,EAAO6gC,OAO3BriC,KAAKk8H,cAAgB,IAAI16H,EAAO6gC,OAMhCriC,KAAKioC,cAAgB,IAAIzmC,EAAO6gC,OAMhCriC,KAAK8N,QAAU,KAUf9N,KAAKm8H,YAAc,KAMnBn8H,KAAKqwH,eAAgB,EAMrBrwH,KAAKswH,eAAgB,EAMrBtwH,KAAK4tH,SAAU,EAMf5tH,KAAK83H,iBAAkB,EAMvB93H,KAAKskH,aAAc,EAMnBtkH,KAAKo8H,SAAW,GAShBp8H,KAAK4gD,aAAc,EAOnB5gD,KAAKq8H,YAAa,EAOlBr8H,KAAKi6H,QAAS,EAOdj6H,KAAKs8H,cAAgB,KAOrBt8H,KAAK+5H,QAAU,EAOf/5H,KAAKu8H,WAMLv8H,KAAKw8H,WAAa,IAAIh7H,EAAO62C,SAM7Br4C,KAAKy8H,WAAY,EAMjBz8H,KAAK08H,eAAiB,KAMtB18H,KAAK28H,cAAgB,KAMrB38H,KAAK8wC,SAAW9wC,KAAK8wC,SAAS/gB,KAAK/vB,MAMnCA,KAAK48H,eAAiB58H,KAAK48H,eAAe7sG,KAAK/vB,OAGnDwB,EAAOq8C,aAAav7C,WAOhByhC,KAAM,WAEF,IAAI9Z,EAASjqB,KAAK+C,KAAKknB,OACnB00B,EAAevuC,OAAOuuC,aAQ1B,GANI10B,EAAOw2B,MAA2B,IAApBx2B,EAAO60B,WAErB9+C,KAAKo8H,SAAW,GAIhBz9E,EACJ,CAEI,IAAkC,IAA9BA,EAAak+E,aAIb,OAFA78H,KAAK4tH,SAAU,OACf5tH,KAAKskH,aAAc,GAKvB,IAAqC,IAAjC3lE,EAAam+E,gBAIb,OAFA98H,KAAKswH,eAAgB,OACrBtwH,KAAKskH,aAAc,GAK3B,GAAI3lE,GAAgBA,EAAao+E,aAE7B/8H,KAAK8N,QAAU6wC,EAAao+E,iBAGhC,CACI,IAAI13B,EAAej1F,OAAOi1F,cAAgBj1F,OAAOk1F,mBAEjD,GAAID,EAEA,IAEIrlG,KAAK8N,QAAU,IAAIu3F,EAEvB,MAAO9kG,GAEHP,KAAK8N,QAAU,KACf9N,KAAKqwH,eAAgB,EACrBrwH,KAAKskH,aAAc,EAEnBhkH,QAAQ+Z,KAAK9Z,IAKzB,GAAqB,OAAjBP,KAAK8N,QACT,CAEI,QAAqBvH,IAAjB6J,OAAO+gH,MAGP,YADAnxH,KAAK4tH,SAAU,GAKf5tH,KAAKswH,eAAgB,OAKzBtwH,KAAKqwH,eAAgB,EAErBrwH,KAAKm8H,YAAcn8H,KAAK8N,QAAQquH,aAAgB,KAAOn8H,KAAK8N,QAAQigC,YAAc,YAElDxnC,IAA5BvG,KAAK8N,QAAQwrH,WAEbt5H,KAAKq5H,WAAar5H,KAAK8N,QAAQyrH,iBAI/Bv5H,KAAKq5H,WAAar5H,KAAK8N,QAAQwrH,aAGnCt5H,KAAKq5H,WAAWG,KAAKpyH,MAAQ,EAC7BpH,KAAKq5H,WAAWn9D,QAAQl8D,KAAK8N,QAAQ8xE,aAIrC5/E,KAAK8N,QAAQkvH,cAAgBh9H,KAAK48H,eAEP,cAAvB58H,KAAK8N,QAAQ64B,OAEb3mC,KAAK+C,KAAKmU,OAAO85B,iBAAiB,QAAShxC,KAAK8wC,UAInD9wC,KAAK4tH,SAGF3jG,EAAOm/E,oBAEPppG,KAAKi9H,eAITj9H,KAAKqwH,eAAiBpmG,EAAOq3E,QAAUr3E,EAAOs3E,eAAiB,IAE/DjhG,QAAQ+P,IAAI,6IAUpB4sH,aAAc,WAENj9H,KAAK4tH,SAAYx9G,OAAOuuC,eAAqD,IAArCvuC,OAAOuuC,aAAak+E,eAKhE78H,KAAK+C,KAAKyjC,MAAM6e,qBAAqBrlD,KAAKk9H,OAAQl9H,MAAM,GAExDA,KAAKskH,aAAc,IASvB6Y,eAAgB,WAEZn9H,KAAKskH,aAAc,EACnBtkH,KAAKs8H,cAAgB,KACrBt8H,KAAKk8H,cAAcz2F,YAQvB23F,eAAgB,WAEZ,GAAIp9H,KAAKqwH,cAEL,OAAOrwH,KAAK8N,QAAQo7B,UAS5Bm0F,0BAA2B,WAEvB,GAAIr9H,KAAKqwH,eAAwC,cAAvBrwH,KAAK8N,QAAQ64B,MAEnC,OAAO3mC,KAAK8N,QAAQo7B,UAU5Bg0F,OAAQ,WAEJ,GAAIl9H,KAAK4tH,UAAY5tH,KAAKskH,aAAsC,OAAvBtkH,KAAKs8H,cAE1C,OAAO,EAIX,GAAIt8H,KAAKswH,cAELtwH,KAAKm9H,sBAEJ,GAAIn9H,KAAKqwH,cACd,CAMI,IAAIn1G,EAASlb,KAAK8N,QAAQoV,aAAa,EAAG,EAAG,OAC7CljB,KAAKs8H,cAAgBt8H,KAAK8N,QAAQ8tH,qBAClC57H,KAAKs8H,cAAcphH,OAASA,EAC5Blb,KAAKs8H,cAAcpgE,QAAQl8D,KAAK8N,QAAQ8xE,aAExC,IAAIlzC,EAAQ1sC,KAEZA,KAAKs8H,cAAcR,QAAU,WAEzBpvF,EAAMywF,iBACNzwF,EAAM2wF,kCAGuB92H,IAA7BvG,KAAKs8H,cAAchwH,MAEnBtM,KAAKs8H,cAAcgB,OAAO,GAI1Bt9H,KAAKs8H,cAAchwH,MAAM,GAI7BtM,KAAKq9H,4BAIT,OAAO,GAQXE,QAAS,WAEL,IAAIv9H,KAAK4tH,QAKT,IAAK,IAAIlrH,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,IAEb1C,KAAKu8H,QAAQ75H,GAAGyJ,QAU5B4pG,SAAU,WAEN,IAAI/1G,KAAK4tH,QAKT,IAAK,IAAIlrH,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,IAEb1C,KAAKu8H,QAAQ75H,GAAGsmC,SAU5BgtE,UAAW,WAEP,IAAIh2G,KAAK4tH,QAKT,IAAK,IAAIlrH,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,IAEb1C,KAAKu8H,QAAQ75H,GAAGwmC,UAY5BkpF,OAAQ,SAAUp/G,EAAK0zB,GAEnBA,EAAQA,GAAS,KAEjB,IAAI82F,EAAYx9H,KAAK+C,KAAKiX,MAAM+tG,aAAa/0G,GAE7C,GAAIwqH,IAE4C,IAAxCx9H,KAAK+C,KAAKiX,MAAM0sG,eAAe1zG,GACnC,CACIhT,KAAK+C,KAAKiX,MAAMwsG,YAAYxzG,EAAK,cAAc,GAE/C,IAAI05B,EAAQ1sC,KAEZ,IAEIA,KAAK8N,QAAQ2vH,gBAAgBD,EAAW,SAAUtiH,GAE1CA,IAEAwxB,EAAM3pC,KAAKiX,MAAMysG,aAAazzG,EAAKkI,GACnCwxB,EAAMqvF,cAAct2F,SAASzyB,EAAK0zB,MAI9C,MAAO/3B,OAgBnB+uH,mBAAoB,SAAUC,EAAO3oF,EAAU1L,GAEtB,iBAAVq0F,IAEPA,GAAUA,IAGd39H,KAAKw8H,WAAWp2F,QAEhB,IAAK,IAAI1jC,EAAI,EAAGA,EAAIi7H,EAAMh7H,OAAQD,IAE1Bi7H,EAAMj7H,aAAclB,EAAOw3E,MAEtBh5E,KAAK+C,KAAKiX,MAAM0sG,eAAeiX,EAAMj7H,GAAGsQ,MAEzChT,KAAKw8H,WAAWvjG,IAAI0kG,EAAMj7H,GAAGsQ,KAG3BhT,KAAK+C,KAAKiX,MAAM0sG,eAAeiX,EAAMj7H,KAE3C1C,KAAKw8H,WAAWvjG,IAAI0kG,EAAMj7H,IAKJ,IAA1B1C,KAAKw8H,WAAWxjF,OAEhBh5C,KAAKy8H,WAAY,EACjBznF,EAASxwC,KAAK8kC,KAIdtpC,KAAKy8H,WAAY,EACjBz8H,KAAK08H,eAAiB1nF,EACtBh1C,KAAK28H,cAAgBrzF,IAU7BnE,OAAQ,WAEJ,IAAInlC,KAAK4tH,QAAT,CAKA,IAAK,IAAIlrH,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAErC1C,KAAKu8H,QAAQ75H,GAAGyiC,SAGpB,GAAInlC,KAAKy8H,UACT,CAGI,IAFA,IAAIzpH,EAAMhT,KAAKw8H,WAAW7sE,MAEnB38C,GAEChT,KAAK+C,KAAKiX,MAAM0sG,eAAe1zG,IAE/BhT,KAAKw8H,WAAWrgH,OAAOnJ,GAG3BA,EAAMhT,KAAKw8H,WAAWhnF,KAGI,IAA1Bx1C,KAAKw8H,WAAWxjF,QAEhBh5C,KAAKy8H,WAAY,EACjBz8H,KAAK08H,eAAel4H,KAAKxE,KAAK28H,mBAe1C1jG,IAAK,SAAUjmB,EAAKuuB,EAAQiqC,EAAMtP,QAEf31D,IAAXg7B,IAAwBA,EAAS,QACxBh7B,IAATilE,IAAsBA,GAAO,QACjBjlE,IAAZ21D,IAAyBA,EAAUl8D,KAAK83H,iBAE5C,IAAIpxF,EAAQ,IAAIllC,EAAOw3E,MAAMh5E,KAAK+C,KAAMiQ,EAAKuuB,EAAQiqC,EAAMtP,GAI3D,OAFAl8D,KAAKu8H,QAAQz0H,KAAK4+B,GAEXA,GAUX8tC,UAAW,SAAUxhE,GAIjB,OAFkB,IAAIxR,EAAOy3E,YAAYj5E,KAAK+C,KAAMiQ,IAYxDmJ,OAAQ,SAAUuqB,GAId,IAFA,IAAIhkC,EAAI1C,KAAKu8H,QAAQ55H,OAEdD,KAEH,GAAI1C,KAAKu8H,QAAQ75H,KAAOgkC,EAIpB,OAFA1mC,KAAKu8H,QAAQ75H,GAAGF,SAAQ,GACxBxC,KAAKu8H,QAAQzzH,OAAOpG,EAAG,IAChB,EAIf,OAAO,GASXunC,UAAW,WAEPjqC,KAAKu9H,UAEL,IAAK,IAAI76H,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,IAEb1C,KAAKu8H,QAAQ75H,GAAGF,UAIxBxC,KAAKu8H,QAAQ55H,OAAS,GAW1Bi7H,YAAa,SAAU5qH,GAKnB,IAHA,IAAItQ,EAAI1C,KAAKu8H,QAAQ55H,OACjBqH,EAAU,EAEPtH,KAEC1C,KAAKu8H,QAAQ75H,GAAGsQ,MAAQA,IAExBhT,KAAKu8H,QAAQ75H,GAAGF,SAAQ,GACxBxC,KAAKu8H,QAAQzzH,OAAOpG,EAAG,GACvBsH,KAIR,OAAOA,GAYXshE,KAAM,SAAUt4D,EAAKuuB,EAAQiqC,GAEzB,IAAIxrE,KAAK4tH,QAAT,CAKA,IAAIlnF,EAAQ1mC,KAAKi5B,IAAIjmB,EAAKuuB,EAAQiqC,GAIlC,OAFA9kC,EAAM4kC,OAEC5kC,IASXma,QAAS,WAEL,IAAI7gD,KAAKi6H,OAAT,CAKAj6H,KAAKi6H,QAAS,EAEVj6H,KAAKqwH,gBAELrwH,KAAKs6H,YAAct6H,KAAKq5H,WAAWG,KAAKpyH,MACxCpH,KAAKq5H,WAAWG,KAAKpyH,MAAQ,GAIjC,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,GAAG4tH,gBAEhBtwH,KAAKu8H,QAAQ75H,GAAG24H,MAAO,GAI/Br7H,KAAK65H,OAAOp0F,aAShBqb,UAAW,WAEP,GAAK9gD,KAAKi6H,SAAUj6H,KAAKq8H,WAAzB,CAKAr8H,KAAKi6H,QAAS,EAEVj6H,KAAKqwH,gBAELrwH,KAAKq5H,WAAWG,KAAKpyH,MAAQpH,KAAKs6H,aAItC,IAAK,IAAI53H,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,GAAG4tH,gBAEhBtwH,KAAKu8H,QAAQ75H,GAAG24H,MAAO,GAI/Br7H,KAAKi8H,SAASx2F,aAOlBoM,WAAY,WAEJ7xC,KAAK4gD,aAEL5gD,KAAK6gD,WAQb/O,YAAa,WAET9xC,KAAKo9H,iBAEDp9H,KAAK4gD,aAEL5gD,KAAK8gD,aASbt+C,QAAS,WAELxC,KAAKiqC,YAELjqC,KAAK65H,OAAOptF,UACZzsC,KAAK+7H,cAActvF,UACnBzsC,KAAKioC,cAAcwE,UACnBzsC,KAAKk8H,cAAczvF,UACnBzsC,KAAKi8H,SAASxvF,UACdzsC,KAAKg8H,eAAevvF,UAEpBzsC,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,QAASjyC,KAAK8wC,UAE/C9wC,KAAK8N,UAEL9N,KAAK8N,QAAQkvH,cAAgB,KAEzB5sH,OAAOuuC,aAGPvuC,OAAOuuC,aAAao+E,aAAe/8H,KAAK8N,QAGxC9N,KAAK8N,QAAQ+vH,OAEb79H,KAAK8N,QAAQ+vH,QAGjB79H,KAAK8N,QAAU,OAQvB8uH,eAAgB,WAEZ58H,KAAKioC,cAAcxC,SAASzlC,KAAK8N,QAAQ64B,QAO7CmK,SAAU,WAEN9wC,KAAKq9H,4BAELr9H,KAAK+C,KAAKmU,OAAO+6B,oBAAoB,QAASjyC,KAAK8wC,YAK3DtvC,EAAOq8C,aAAav7C,UAAUC,YAAcf,EAAOq8C,aAMnD72C,OAAOyF,eAAejL,EAAOq8C,aAAav7C,UAAW,QAEjD4E,IAAK,WAED,OAAOlH,KAAKi6H,QAGhB9yH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAIpH,KAAKi6H,OAEL,OAGJj6H,KAAKq8H,YAAa,EAClBr8H,KAAK6gD,cAGT,CACI,IAAK7gD,KAAKi6H,OAEN,OAGJj6H,KAAKq8H,YAAa,EAClBr8H,KAAK8gD,gBAUjB95C,OAAOyF,eAAejL,EAAOq8C,aAAav7C,UAAW,UAEjD4E,IAAK,WAED,OAAOlH,KAAK+5H,SAGhB5yH,IAAK,SAAUC,GAWX,GATIA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRpH,KAAK+5H,UAAY3yH,EACrB,CAGI,GAFApH,KAAK+5H,QAAU3yH,EAEXpH,KAAKqwH,cAELrwH,KAAKq5H,WAAWG,KAAKpyH,MAAQA,OAK7B,IAAK,IAAI1E,EAAI,EAAGA,EAAI1C,KAAKu8H,QAAQ55H,OAAQD,IAEjC1C,KAAKu8H,QAAQ75H,GAAG4tH,eAEhBtwH,KAAKu8H,QAAQ75H,GAAGg5H,mBAAmBt0H,GAK/CpH,KAAKg8H,eAAev2F,SAASr+B,OAyEzC5F,EAAO67C,aAAe,SAAUt6C,EAAMnF,EAAOC,GAQzCmC,KAAK+C,KAAOA,EAQZ/C,KAAK89H,IAAMt8H,EAAOwuC,IAOlBhwC,KAAKs4D,KAAO,KAOZt4D,KAAKpC,MAAQ,EAOboC,KAAKnC,OAAS,EASdmC,KAAK+9H,SAAW,KAUhB/9H,KAAKi4F,SAAW,KAShBj4F,KAAKg+H,UAAY,KAUjBh+H,KAAKi+H,UAAY,KASjBj+H,KAAKyX,OAAS,IAAIjW,EAAOX,MAUzBb,KAAKk+H,gBAAiB,EAUtBl+H,KAAKm+H,eAAgB,EAWrBn+H,KAAKo+H,sBAAuB,EAO5Bp+H,KAAKq+H,wBAAyB,EAO9Br+H,KAAKs+H,sBAAuB,EA0B5Bt+H,KAAKu+H,oBAAsB,IAAI/8H,EAAO6gC,OAUtCriC,KAAKw+H,0BAA4B,IAAIh9H,EAAO6gC,OAU5CriC,KAAKy+H,0BAA4B,IAAIj9H,EAAO6gC,OAY5CriC,KAAK0+H,wBAAyB,EAe9B1+H,KAAK2+H,iBAAmB,KAQxB3+H,KAAK4+H,yBAA2B,KAuBhC5+H,KAAK6+H,iBAAmB,IAAIr9H,EAAO6gC,OAWnCriC,KAAK8+H,mBAAqB,IAAIt9H,EAAO6gC,OAWrCriC,KAAK++H,kBAAoB,IAAIv9H,EAAO6gC,OAUpCriC,KAAKg/H,kBAAoBh/H,KAAK89H,IAAImB,uBAOlCj/H,KAAKk/H,YAAc,IAAI19H,EAAOX,MAAM,EAAG,GAQvCb,KAAKm/H,oBAAsB,IAAI39H,EAAOX,MAAM,EAAG,GAS/Cb,KAAKggH,QAAUrsF,KAAM,EAAG0C,IAAK,EAAG3C,MAAO,EAAG4C,OAAQ,EAAGvyB,EAAG,EAAGC,EAAG,GAO9DhE,KAAK8E,OAAS,IAAItD,EAAOS,UAOzBjC,KAAKo/H,YAAc,EAOnBp/H,KAAKq/H,kBAAoB,EAQzBr/H,KAAK0wC,MAAQ,KAeb1wC,KAAKs/H,mBACD5rG,MAAO,SACP4C,OAAQ,IA6BZt2B,KAAKu/H,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrB9/H,KAAK+/H,WAAav+H,EAAO67C,aAAa2iF,SAOtChgI,KAAKigI,qBAAuBz+H,EAAO67C,aAAa2iF,SAWhDhgI,KAAKkgI,gBAAiB,EAYtBlgI,KAAK6pG,WAAa,KAOlB7pG,KAAKmgI,kBAAoB,IAAI3+H,EAAOX,MAAM,EAAG,GAW7Cb,KAAKogI,oBAAsB,IAkB3BpgI,KAAKqgI,aAAe,IAAI7+H,EAAO6gC,OAO/BriC,KAAKsgI,SAAW,KAOhBtgI,KAAKugI,gBAAkB,KAMvBvgI,KAAKwgI,kBAAoB,KAOzBxgI,KAAKygI,mBAAqB,KAO1BzgI,KAAK0gI,UAAY,IAAIl/H,EAAOS,UAO5BjC,KAAK2gI,iBAAmB,IAAIn/H,EAAOX,MAAM,EAAG,GAO5Cb,KAAK4gI,eAAiB,IAAIp/H,EAAOX,MAAM,EAAG,GAO1Cb,KAAK6gI,YAAc,EASnB7gI,KAAK8gI,gBAAkB,EAOvB9gI,KAAK+gI,qBAAuB,IAO5B/gI,KAAKghI,cAAgB,IAAIx/H,EAAOS,UAOhCjC,KAAKihI,YAAc,IAAIz/H,EAAOS,UAO9BjC,KAAKkhI,wBAA0B,IAAI1/H,EAAOS,UAO1CjC,KAAKmhI,sBAAwB,IAAI3/H,EAAOS,UAMxCjC,KAAKohI,SAAU,EAEXr+H,EAAKyT,QAELxW,KAAK6vC,YAAY9sC,EAAKyT,QAG1BxW,KAAKqhI,WAAWzjI,EAAOC,IAS3B2D,EAAO67C,aAAaikF,UAAY,EAQhC9/H,EAAO67C,aAAa2iF,SAAW,EAQ/Bx+H,EAAO67C,aAAakkF,SAAW,EAQ/B//H,EAAO67C,aAAamkF,OAAS,EAQ7BhgI,EAAO67C,aAAaokF,WAAa,EAQjCjgI,EAAO67C,aAAaqkF,OAChB,YACA,WACA,WACA,SACA,cAGJlgI,EAAO67C,aAAa/6C,WAQhByhC,KAAM,WAIF,IAAI49F,EAAS3hI,KAAKu/H,cAElBoC,EAAOnC,mBAAqBx/H,KAAK+C,KAAKknB,OAAOw5E,aAAezjG,KAAK+C,KAAKknB,OAAOs1B,SAGxEv/C,KAAK+C,KAAKknB,OAAOo5E,MAASrjG,KAAK+C,KAAKknB,OAAOk4E,QAAWniG,KAAK+C,KAAKknB,OAAO61E,UAEpE9/F,KAAK+C,KAAKknB,OAAOo2E,UAAYrgG,KAAK+C,KAAKknB,OAAOq3E,OAE9CqgC,EAAOhC,SAAW,IAAIn+H,EAAOX,MAAM,EAAG,GAItC8gI,EAAOhC,SAAW,IAAIn+H,EAAOX,MAAM,EAAG,IAI1Cb,KAAK+C,KAAKknB,OAAO61E,SAEjB6hC,EAAOlC,oBAAsB,SAC7BkC,EAAO7B,gBAAkB,mBAIzB6B,EAAOlC,oBAAsB,GAC7BkC,EAAO7B,gBAAkB,IAK7B,IAAIpzF,EAAQ1sC,KAEZA,KAAK4hI,mBAAqB,SAAUlxF,GAEhC,OAAOhE,EAAMm1F,kBAAkBnxF,IAGnC1wC,KAAK8hI,cAAgB,SAAUpxF,GAE3B,OAAOhE,EAAMq1F,aAAarxF,IAI9BtgC,OAAO4gC,iBAAiB,oBAAqBhxC,KAAK4hI,oBAAoB,GACtExxH,OAAO4gC,iBAAiB,SAAUhxC,KAAK8hI,eAAe,GAElD9hI,KAAKu/H,cAAcC,qBAEnBx/H,KAAKgiI,kBAAoB,SAAUtxF,GAE/B,OAAOhE,EAAMu1F,iBAAiBvxF,IAGlC1wC,KAAKkiI,iBAAmB,SAAUxxF,GAE9B,OAAOhE,EAAMy1F,gBAAgBzxF,IAGjCL,SAASW,iBAAiB,yBAA0BhxC,KAAKgiI,mBAAmB,GAC5E3xF,SAASW,iBAAiB,sBAAuBhxC,KAAKgiI,mBAAmB,GACzE3xF,SAASW,iBAAiB,qBAAsBhxC,KAAKgiI,mBAAmB,GACxE3xF,SAASW,iBAAiB,mBAAoBhxC,KAAKgiI,mBAAmB,GAEtE3xF,SAASW,iBAAiB,wBAAyBhxC,KAAKkiI,kBAAkB,GAC1E7xF,SAASW,iBAAiB,qBAAsBhxC,KAAKkiI,kBAAkB,GACvE7xF,SAASW,iBAAiB,oBAAqBhxC,KAAKkiI,kBAAkB,GACtE7xF,SAASW,iBAAiB,kBAAmBhxC,KAAKkiI,kBAAkB,IAGxEliI,KAAK+C,KAAKkmC,SAAShQ,IAAIj5B,KAAKoiI,aAAcpiI,MAI1CA,KAAK89H,IAAI7tF,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE1CzX,KAAK8E,OAAOswB,MAAMp1B,KAAKyX,OAAO1T,EAAG/D,KAAKyX,OAAOzT,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAEjEmC,KAAKqiI,YAAYriI,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAG5CmC,KAAKg/H,kBAAoBh/H,KAAK89H,IAAImB,qBAAqBj/H,KAAKu/H,cAAcE,qBAEtEj+H,EAAO8gI,WAEPtiI,KAAKs4D,KAAO,IAAI92D,EAAO8gI,SAAStiI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAG3DmC,KAAKohI,SAAU,EAEgB,OAA3BphI,KAAKwgI,oBAELxgI,KAAKlC,UAAYkC,KAAKwgI,kBACtBxgI,KAAKwgI,kBAAoB,OAWjC3wF,YAAa,SAAUr5B,QAEMjQ,IAArBiQ,EAAO1Y,YAEHkC,KAAKohI,QAELphI,KAAKlC,UAAY0Y,EAAO1Y,UAIxBkC,KAAKwgI,kBAAoBhqH,EAAO1Y,gBAILyI,IAA/BiQ,EAAO+rH,sBAEPviI,KAAKuiI,oBAAsB/rH,EAAO+rH,qBAGlC/rH,EAAOmoH,mBAEP3+H,KAAK2+H,iBAAmBnoH,EAAOmoH,kBAGnC3+H,KAAKwiI,sBAAwBhsH,EAAOisH,SAAU,EAC9CziI,KAAK0iI,oBAAsBlsH,EAAOmsH,SAAU,EAExCnsH,EAAOosH,QAAUpsH,EAAOqsH,QAExB7iI,KAAK8iI,aAAatsH,EAAOosH,OAAQpsH,EAAOqsH,OAAQrsH,EAAOusH,MAAOvsH,EAAOwsH,QAc7E3B,WAAY,SAAUzjI,EAAOC,GAEzB,IAAImK,EACA4yB,EAAO,IAAIp5B,EAAOS,UAEG,KAArBjC,KAAK+C,KAAK1B,SAEsB,iBAArBrB,KAAK+C,KAAK1B,OAGjB2G,EAASqoC,SAASq5D,eAAe1pG,KAAK+C,KAAK1B,QAEtCrB,KAAK+C,KAAK1B,QAAwC,IAA9BrB,KAAK+C,KAAK1B,OAAOwyB,WAG1C7rB,EAAShI,KAAK+C,KAAK1B,SAKtB2G,GAaDhI,KAAK6pG,WAAa7hG,EAClBhI,KAAKkgI,gBAAiB,EAEtBlgI,KAAKijI,gBAAgBjjI,KAAKghI,cAAehhI,KAAK6pG,YAE9CjvE,EAAKh9B,MAAQoC,KAAKghI,cAAcpjI,MAChCg9B,EAAK/8B,OAASmC,KAAKghI,cAAcnjI,OAEjCmC,KAAKyX,OAAOtQ,IAAInH,KAAKghI,cAAcj9H,EAAG/D,KAAKghI,cAAch9H,KAlBzDhE,KAAK6pG,WAAa,KAClB7pG,KAAKkgI,gBAAiB,EAEtBtlG,EAAKh9B,MAAQoC,KAAK89H,IAAIoF,aAAatlI,MACnCg9B,EAAK/8B,OAASmC,KAAK89H,IAAIoF,aAAarlI,OAEpCmC,KAAKyX,OAAOtQ,IAAI,EAAG,IAevB,IAAIm3E,EAAW,EACXC,EAAY,EAEK,iBAAV3gF,EAEP0gF,EAAW1gF,GAKXoC,KAAKmgI,kBAAkBp8H,EAAIovB,SAASv1B,EAAO,IAAM,IACjD0gF,EAAW1jD,EAAKh9B,MAAQoC,KAAKmgI,kBAAkBp8H,GAG7B,iBAAXlG,EAEP0gF,EAAY1gF,GAKZmC,KAAKmgI,kBAAkBn8H,EAAImvB,SAASt1B,EAAQ,IAAM,IAClD0gF,EAAY3jD,EAAK/8B,OAASmC,KAAKmgI,kBAAkBn8H,GAGrDs6E,EAAW56E,KAAKmsB,MAAMyuD,GACtBC,EAAY76E,KAAKmsB,MAAM0uD,GAEvBv+E,KAAK0gI,UAAUtrG,MAAM,EAAG,EAAGkpD,EAAUC,GAErCv+E,KAAKmjI,iBAAiB7kD,EAAUC,GAAW,IAS/C6jD,aAAc,WAEVpiI,KAAKojI,aAAY,IAkBrBf,YAAa,SAAUzkI,EAAOC,GAE1BmC,KAAK0gI,UAAUtrG,MAAM,EAAG,EAAGx3B,EAAOC,GAE9BmC,KAAKqjI,mBAAqB7hI,EAAO67C,aAAamkF,QAE9CxhI,KAAKmjI,iBAAiBvlI,EAAOC,GAAQ,GAGzCmC,KAAKojI,aAAY,IAqBrBN,aAAc,SAAUQ,EAAQC,EAAQC,EAAOC,EAAOL,EAAa1+F,GAE/D1kC,KAAK2gI,iBAAiBvrG,MAAMkuG,EAAQC,GACpCvjI,KAAK4gI,eAAexrG,MAAc,EAARouG,EAAmB,EAARC,QAEjBl9H,IAAhB68H,IAA6BA,GAAc,QACjC78H,IAAVm+B,IAAuBA,GAAQ,GAE/B0+F,GAEApjI,KAAKojI,YAAY1+F,IA8BzBg/F,kBAAmB,SAAU1uF,EAAUlnC,GAEnC9N,KAAKsgI,SAAWtrF,EAChBh1C,KAAKugI,gBAAkBzyH,GAa3B61H,iBAAkB,WAEd,IAAKniI,EAAOS,UAAUu/B,eAAexhC,KAAMA,KAAKkhI,2BAC3C1/H,EAAOS,UAAUu/B,eAAexhC,KAAK+C,KAAM/C,KAAKmhI,uBACrD,CACI,IAAIvjI,EAAQoC,KAAKpC,MACbC,EAASmC,KAAKnC,OAElBmC,KAAKkhI,wBAAwB9rG,MAAM,EAAG,EAAGx3B,EAAOC,GAChDmC,KAAKmhI,sBAAsB/rG,MAAM,EAAG,EAAGp1B,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE9DmC,KAAKs4D,MAELt4D,KAAKs4D,KAAKgoE,SAAS1iI,EAAOC,GAG9BmC,KAAKqgI,aAAa56F,SAASzlC,KAAMpC,EAAOC,GAGpCmC,KAAKqjI,mBAAqB7hI,EAAO67C,aAAamkF,SAE9CxhI,KAAK+C,KAAK4jC,MAAMxgC,OAAOvI,EAAOC,GAC9BmC,KAAK+C,KAAK0jC,KAAKtgC,OAAOvI,EAAOC,MAoBzC+lI,UAAW,SAAU7F,EAAUC,EAAW/lC,EAAUgmC,GAEhDj+H,KAAK+9H,SAAWA,EAChB/9H,KAAKg+H,UAAYA,OAEO,IAAb/lC,IAEPj4F,KAAKi4F,SAAWA,QAGK,IAAdgmC,IAEPj+H,KAAKi+H,UAAYA,IAUzBv5H,UAAW,WAEP,KAAI1E,KAAK+C,KAAKwiC,KAAKA,KAAQvlC,KAAK6gI,YAAc7gI,KAAK8gI,iBAAnD,CAKA,IAAI+C,EAAe7jI,KAAK8gI,gBACxB9gI,KAAK+gI,qBAAuB8C,GAAgB,IAAM,EAAI,IAEtD7jI,KAAK89H,IAAI7tF,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAE1C,IAAIqsH,EAAY9jI,KAAKghI,cAAcpjI,MAC/BmmI,EAAa/jI,KAAKghI,cAAcnjI,OAChCiH,EAAS9E,KAAKijI,gBAAgBjjI,KAAKghI,eAEnCgD,EAAgBl/H,EAAOlH,QAAUkmI,GAAah/H,EAAOjH,SAAWkmI,EAGhEE,EAAqBjkI,KAAKkkI,0BAE1BF,GAAiBC,KAEbjkI,KAAKsgI,UAELtgI,KAAKsgI,SAAS97H,KAAKxE,KAAKugI,gBAAiBvgI,KAAM8E,GAGnD9E,KAAKmkI,eAELnkI,KAAK2jI,oBAIT,IAAIS,EAAkC,EAAvBpkI,KAAK8gI,gBAGhB9gI,KAAK8gI,gBAAkB+C,IAEvBO,EAAW1gI,KAAK41B,IAAIuqG,EAAc7jI,KAAK+gI,uBAG3C/gI,KAAK8gI,gBAAkBt/H,EAAOkC,KAAK+4B,MAAM2nG,EAAU,GAAIpkI,KAAKogI,qBAC5DpgI,KAAK6gI,YAAc7gI,KAAK+C,KAAKwiC,KAAKA,OAStC+B,YAAa,WAETtnC,KAAK0E,YAGL1E,KAAK8gI,gBAAkB9gI,KAAKogI,qBAYhC+C,iBAAkB,SAAUvlI,EAAOC,EAAQsI,GAEvCnG,KAAKpC,MAAQA,EAAQoC,KAAKmgI,kBAAkBp8H,EAC5C/D,KAAKnC,OAASA,EAASmC,KAAKmgI,kBAAkBn8H,EAE9ChE,KAAK+C,KAAKnF,MAAQoC,KAAKpC,MACvBoC,KAAK+C,KAAKlF,OAASmC,KAAKnC,OAExBmC,KAAKq/H,kBAAoBr/H,KAAKpC,MAAQoC,KAAKnC,OAC3CmC,KAAKqkI,yBAEDl+H,IAGAnG,KAAK+C,KAAK8B,SAASsB,OAAOnG,KAAKpC,MAAOoC,KAAKnC,QAG3CmC,KAAK+C,KAAK+X,OAAOqrB,QAAQnmC,KAAKpC,MAAOoC,KAAKnC,QAG1CmC,KAAK+C,KAAKE,MAAMkD,OAAOnG,KAAKpC,MAAOoC,KAAKnC,UAWhDwmI,uBAAwB,WAEpBrkI,KAAKk/H,YAAYn7H,EAAI/D,KAAK+C,KAAKnF,MAAQoC,KAAKpC,MAC5CoC,KAAKk/H,YAAYl7H,EAAIhE,KAAK+C,KAAKlF,OAASmC,KAAKnC,OAE7CmC,KAAKm/H,oBAAoBp7H,EAAI/D,KAAKpC,MAAQoC,KAAK+C,KAAKnF,MACpDoC,KAAKm/H,oBAAoBn7H,EAAIhE,KAAKnC,OAASmC,KAAK+C,KAAKlF,OAErDmC,KAAKo/H,YAAcp/H,KAAKpC,MAAQoC,KAAKnC,OAGjCmC,KAAK+C,KAAKmU,QAEVlX,KAAK89H,IAAI7tF,UAAUjwC,KAAK+C,KAAKmU,OAAQlX,KAAKyX,QAG9CzX,KAAK8E,OAAOswB,MAAMp1B,KAAKyX,OAAO1T,EAAG/D,KAAKyX,OAAOzT,EAAGhE,KAAKpC,MAAOoC,KAAKnC,QAG7DmC,KAAK+C,KAAKyjC,OAASxmC,KAAK+C,KAAKyjC,MAAM1lC,OAEnCd,KAAK+C,KAAKyjC,MAAM1lC,MAAMs0B,MAAMp1B,KAAKk/H,YAAYn7H,EAAG/D,KAAKk/H,YAAYl7H,IAkBzEsgI,iBAAkB,SAAUpG,EAAgBC,QAElB53H,IAAlB43H,IAA+BA,GAAgB,IAE5B,IAAnBD,IAA6C,IAAlBC,GAM/Bn+H,KAAKk+H,eAAiBA,EACtBl+H,KAAKm+H,cAAgBA,EAErBn+H,KAAKojI,aAAY,IAPb9iI,QAAQ+Z,KAAK,+EAkBrBkqH,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAWfN,uBAAwB,WAEpB,IAAIO,EAAsBzkI,KAAKg/H,kBAC3B0F,EAAsB1kI,KAAKo+H,qBAE/Bp+H,KAAKg/H,kBAAoBh/H,KAAK89H,IAAImB,qBAAqBj/H,KAAKu/H,cAAcE,qBAE1Ez/H,KAAKo+H,qBAAwBp+H,KAAKk+H,iBAAmBl+H,KAAK2kI,aACrD3kI,KAAKm+H,gBAAkBn+H,KAAK4kI,WAEjC,IAAIC,EAAUJ,IAAwBzkI,KAAKg/H,kBACvC8F,EAAqBJ,IAAwB1kI,KAAKo+H,qBAmBtD,OAjBI0G,IAEI9kI,KAAKo+H,qBAELp+H,KAAKw+H,0BAA0B/4F,WAI/BzlC,KAAKy+H,0BAA0Bh5F,aAInCo/F,GAAWC,IAEX9kI,KAAKu+H,oBAAoB94F,SAASzlC,KAAMykI,EAAqBC,GAG1DG,GAAWC,GAUtBjD,kBAAmB,SAAUnxF,GAEzB1wC,KAAK0wC,MAAQA,EAEb1wC,KAAKojI,aAAY,IAUrBrB,aAAc,SAAUrxF,GAEpB1wC,KAAK0wC,MAAQA,EAEb1wC,KAAKojI,aAAY,IASrB2B,UAAW,WAEP,IAAIpF,EAAW3/H,KAAKu/H,cAAcI,SAE9BA,GAEAvvH,OAAOuvH,SAASA,EAAS57H,EAAG47H,EAAS37H,IAwB7CwlB,QAAS,WAELxpB,KAAK+kI,YACL/kI,KAAKojI,aAAY,IASrBe,aAAc,WAEV,IAAIrmI,EAAYkC,KAAKqjI,iBAErB,GAAIvlI,IAAc0D,EAAO67C,aAAamkF,OAAtC,CAwDA,GAlDAxhI,KAAK+kI,YAED/kI,KAAKu/H,cAAcK,6BAMnBvvF,SAASu4D,gBAAgBttF,MAAM0iH,UAAY5tH,OAAOijB,YAAc,MAGhErzB,KAAKo+H,qBAELp+H,KAAKglI,aAGLlnI,IAAc0D,EAAO67C,aAAaikF,UAElCthI,KAAKilI,cAEAnnI,IAAc0D,EAAO67C,aAAakkF,UAElCvhI,KAAKklI,cAAgBllI,KAAKmlI,gBACvBnlI,KAAKu/H,cAAcM,iBAOvB7/H,KAAKolI,YAAW,GAChBplI,KAAKqlI,cACLrlI,KAAKolI,cAILplI,KAAKolI,aAGJtnI,IAAc0D,EAAO67C,aAAa2iF,UAEvChgI,KAAKpC,MAAQoC,KAAK+C,KAAKnF,MACvBoC,KAAKnC,OAASmC,KAAK+C,KAAKlF,QAEnBC,IAAc0D,EAAO67C,aAAaokF,aAEvCzhI,KAAKpC,MAASoC,KAAK+C,KAAKnF,MAAQoC,KAAK2gI,iBAAiB58H,EAAK/D,KAAK4gI,eAAe78H,EAC/E/D,KAAKnC,OAAUmC,KAAK+C,KAAKlF,OAASmC,KAAK2gI,iBAAiB38H,EAAKhE,KAAK4gI,eAAe58H,IAGhFhE,KAAKu/H,cAAcM,kBACnB/hI,IAAc0D,EAAO67C,aAAakkF,UAAYzjI,IAAc0D,EAAO67C,aAAaokF,YACrF,CACI,IAAI38H,EAAS9E,KAAKijI,gBAAgBjjI,KAAKihI,aACvCjhI,KAAKpC,MAAQ8F,KAAK41B,IAAIt5B,KAAKpC,MAAOkH,EAAOlH,OACzCoC,KAAKnC,OAAS6F,KAAK41B,IAAIt5B,KAAKnC,OAAQiH,EAAOjH,QAI/CmC,KAAKpC,MAAqB,EAAboC,KAAKpC,MAClBoC,KAAKnC,OAAuB,EAAdmC,KAAKnC,OAEnBmC,KAAKslI,oBAlEDtlI,KAAKulI,cAsFbtC,gBAAiB,SAAUj7H,EAAQ3G,GAE/B,IAAIyD,EAASkD,GAAU,IAAIxG,EAAOS,UAC9B4nG,EAAaxoG,GAAUrB,KAAKmlI,eAC5BjC,EAAeljI,KAAK89H,IAAIoF,aACxBsC,EAAexlI,KAAK89H,IAAI0H,aAE5B,GAAK37B,EAKL,CAEI,IAAI47B,EAAa57B,EAAW67B,wBACxBC,EAAc97B,EAAuB,aAAIA,EAAW+7B,aAAaF,wBAA0B77B,EAAW67B,wBAE1G5gI,EAAOswB,MAAMqwG,EAAW9xG,KAAOgyG,EAAWhyG,KAAM8xG,EAAWpvG,IAAMsvG,EAAWtvG,IAAKovG,EAAW7nI,MAAO6nI,EAAW5nI,QAE9G,IAAIgoI,EAAK7lI,KAAKs/H,kBAEd,GAAIuG,EAAGnyG,MACP,CACQoyG,EAA4B,WAAbD,EAAGnyG,MAAqB8xG,EAAetC,EAC1Dp+H,EAAO4uB,MAAQhwB,KAAK41B,IAAIx0B,EAAO4uB,MAAOoyG,EAAaloI,OAGvD,GAAIioI,EAAGvvG,OACP,CACI,IAAIwvG,EAA6B,WAAdD,EAAGvvG,OAAsBkvG,EAAetC,EAC3Dp+H,EAAOwxB,OAAS5yB,KAAK41B,IAAIx0B,EAAOwxB,OAAQwvG,EAAajoI,cArBzDiH,EAAOswB,MAAM,EAAG,EAAG8tG,EAAatlI,MAAOslI,EAAarlI,QA6BxD,OAJAiH,EAAOswB,MACH1xB,KAAK+xB,MAAM3wB,EAAOf,GAAIL,KAAK+xB,MAAM3wB,EAAOd,GACxCN,KAAK+xB,MAAM3wB,EAAOlH,OAAQ8F,KAAK+xB,MAAM3wB,EAAOjH,SAEzCiH,GAWXqwC,MAAO,SAAUrS,EAAYC,GAEP,MAAdD,IAEA9iC,KAAKwiI,sBAAwB1/F,GAGjB,MAAZC,IAEA/iC,KAAK0iI,oBAAsB3/F,IAcnCgjG,YAAa,SAAUjjG,EAAYC,GAE/B,IAAIijG,EAAehmI,KAAKijI,gBAAgBjjI,KAAKihI,aACzC/pH,EAASlX,KAAK+C,KAAKmU,OACnB8oG,EAAShgH,KAAKggH,OAElB,GAAIl9E,EACJ,CACIk9E,EAAOrsF,KAAOqsF,EAAOtsF,MAAQ,EAEzBuyG,EAAe/uH,EAAOwuH,wBAE1B,GAAI1lI,KAAKpC,MAAQooI,EAAapoI,QAAUoC,KAAKo+H,qBAC7C,CACI,IAAI8H,EAAcD,EAAatyG,KAAOqyG,EAAajiI,EAC/CoiI,EAAcH,EAAapoI,MAAQ,EAAMoC,KAAKpC,MAAQ,EAItD6Z,GAFJ0uH,EAAaziI,KAAKuC,IAAIkgI,EAAY,IAERD,EAE1BlmB,EAAOrsF,KAAOjwB,KAAK+xB,MAAMhe,GAG7BP,EAAOoE,MAAM8qH,WAAapmB,EAAOrsF,KAAO,KAEpB,IAAhBqsF,EAAOrsF,OAEPqsF,EAAOtsF,QAAUsyG,EAAapoI,MAAQqoI,EAAaroI,MAAQoiH,EAAOrsF,MAClEzc,EAAOoE,MAAM+qH,YAAcrmB,EAAOtsF,MAAQ,MAIlD,GAAIqP,EACJ,CACIi9E,EAAO3pF,IAAM2pF,EAAO1pF,OAAS,EAE7B,IAAI2vG,EAAe/uH,EAAOwuH,wBAE1B,GAAI1lI,KAAKnC,OAASmoI,EAAanoI,SAAWmC,KAAKo+H,qBAC/C,CACI,IAAI8H,EAAcD,EAAa5vG,IAAM2vG,EAAahiI,EAC9CmiI,EAAcH,EAAanoI,OAAS,EAAMmC,KAAKnC,OAAS,EAIxD4Z,GAFJ0uH,EAAaziI,KAAKuC,IAAIkgI,EAAY,IAERD,EAC1BlmB,EAAO3pF,IAAM3yB,KAAK+xB,MAAMhe,GAG5BP,EAAOoE,MAAMgrH,UAAYtmB,EAAO3pF,IAAM,KAEnB,IAAf2pF,EAAO3pF,MAEP2pF,EAAO1pF,SAAW0vG,EAAanoI,OAASooI,EAAapoI,OAASmiH,EAAO3pF,KACrEnf,EAAOoE,MAAMirH,aAAevmB,EAAO1pF,OAAS,MAKpD0pF,EAAOj8G,EAAIi8G,EAAOrsF,KAClBqsF,EAAOh8G,EAAIg8G,EAAO3pF,KAWtBkvG,WAAY,WAERvlI,KAAKqlI,YAAY,GAAI,IAErB,IAAIvgI,EAAS9E,KAAKijI,gBAAgBjjI,KAAKihI,aACvCjhI,KAAKmjI,iBAAiBr+H,EAAOlH,MAAOkH,EAAOjH,QAAQ,IAWvDynI,aAAc,WAELtlI,KAAKo+H,uBAENp+H,KAAKpC,MAAQ4D,EAAOkC,KAAK+4B,MAAMz8B,KAAKpC,MAAOoC,KAAK+9H,UAAY,EAAG/9H,KAAKi4F,UAAYj4F,KAAKpC,OACrFoC,KAAKnC,OAAS2D,EAAOkC,KAAK+4B,MAAMz8B,KAAKnC,OAAQmC,KAAKg+H,WAAa,EAAGh+H,KAAKi+H,WAAaj+H,KAAKnC,SAG7FmC,KAAKqlI,cAEArlI,KAAKu/H,cAAcG,YAEhB1/H,KAAKklI,cAAgBllI,KAAK4+H,yBAE1B5+H,KAAK+lI,aAAY,GAAM,GAIvB/lI,KAAK+lI,YAAY/lI,KAAKwiI,sBAAuBxiI,KAAK0iI,sBAI1D1iI,KAAKqkI,0BAWTgB,YAAa,SAAUmB,EAAUC,QAEZlgI,IAAbigI,IAA0BA,EAAWxmI,KAAKpC,MAAQ,WACpC2I,IAAdkgI,IAA2BA,EAAYzmI,KAAKnC,OAAS,MAEzD,IAAIqZ,EAASlX,KAAK+C,KAAKmU,OAElBlX,KAAKu/H,cAAcG,YAEpBxoH,EAAOoE,MAAM8qH,WAAa,GAC1BlvH,EAAOoE,MAAMgrH,UAAY,GACzBpvH,EAAOoE,MAAM+qH,YAAc,GAC3BnvH,EAAOoE,MAAMirH,aAAe,IAGhCrvH,EAAOoE,MAAM1d,MAAQ4oI,EACrBtvH,EAAOoE,MAAMzd,OAAS4oI,GAU1BrD,YAAa,SAAU1+F,GAEfA,IAEA1kC,KAAKghI,cAAcpjI,MAAQ,EAC3BoC,KAAKghI,cAAcnjI,OAAS,GAGhCmC,KAAK8gI,gBAAkB9gI,KAAK+gI,sBAShC36F,MAAO,SAAUmD,GAETA,GAAcvpC,KAAKs4D,MAEnBt4D,KAAKs4D,KAAKlyB,SAUlB4+F,WAAY,WAERhlI,KAAKpC,MAAQoC,KAAK89H,IAAIoF,aAAatlI,MACnCoC,KAAKnC,OAASmC,KAAK89H,IAAIoF,aAAarlI,QAUxCunI,WAAY,SAAUsB,GAElB,IAIIC,EAJA7hI,EAAS9E,KAAKijI,gBAAgBjjI,KAAKihI,aACnCrjI,EAAQkH,EAAOlH,MACfC,EAASiH,EAAOjH,OAMhB8oI,EAFAD,EAEahjI,KAAKuC,IAAKpI,EAASmC,KAAK+C,KAAKlF,OAAUD,EAAQoC,KAAK+C,KAAKnF,OAIzD8F,KAAK41B,IAAKz7B,EAASmC,KAAK+C,KAAKlF,OAAUD,EAAQoC,KAAK+C,KAAKnF,OAG1EoC,KAAKpC,MAAQ8F,KAAK+xB,MAAMz1B,KAAK+C,KAAKnF,MAAQ+oI,GAC1C3mI,KAAKnC,OAAS6F,KAAK+xB,MAAMz1B,KAAK+C,KAAKlF,OAAS8oI,IAUhD1B,YAAa,WAET,IAAIngI,EAAS9E,KAAKijI,gBAAgBjjI,KAAKihI,aAEvCjhI,KAAKpC,MAAQkH,EAAOlH,MACpBoC,KAAKnC,OAASiH,EAAOjH,OAEjBmC,KAAKklI,eAMLllI,KAAKi4F,WAELj4F,KAAKpC,MAAQ8F,KAAK41B,IAAIt5B,KAAKpC,MAAOoC,KAAKi4F,WAGvCj4F,KAAKi+H,YAELj+H,KAAKnC,OAAS6F,KAAK41B,IAAIt5B,KAAKnC,OAAQmC,KAAKi+H,cAajD2I,uBAAwB,WAEpB,IAAIC,EAAWx2F,SAAS0mD,cAAc,OAMtC,OAJA8vC,EAASvrH,MAAM0kG,OAAS,IACxB6mB,EAASvrH,MAAMkL,QAAU,IACzBqgH,EAASvrH,MAAMwrH,WAAa,OAErBD,GA+BXE,gBAAiB,SAAU3vH,EAAW4vH,EAAiBjzG,GAEnD,GAAI/zB,KAAKklI,aAEL,OAAO,EAGX,CAAA,GAAKllI,KAAKu/H,cAAcC,mBAAxB,CAaA,GAA2C,mBAAvCx/H,KAAKu/H,cAAcO,gBACvB,CACI,IAAIt5F,EAAQxmC,KAAK+C,KAAKyjC,MAEtB,GAAIA,EAAMuc,eACNvc,EAAMuc,gBAAkBvc,EAAMwc,eAC7BgkF,IAAuC,IAApBA,GAGpB,YADAxgG,EAAMuc,cAAcyN,mBAAmB,kBAAmBxwD,KAAK+mI,gBAAiB/mI,MAAQoX,GAAW,SAKzF7Q,IAAd6Q,GAA2BpX,KAAK+C,KAAK2nC,aAAelpC,EAAO+nB,SAE3DvpB,KAAK+C,KAAKuX,MAAMklC,SAAWpoC,GAG/B,IAAIyvH,EAAW7mI,KAAK2+H,iBAEfkI,IAED7mI,KAAKinI,uBAELjnI,KAAK4+H,yBAA2B5+H,KAAK4mI,yBACrCC,EAAW7mI,KAAK4+H,0BAGpB,IAAIsI,GAAYC,cAAeN,GAM/B,GAJA7mI,KAAK0+H,wBAAyB,EAE9B1+H,KAAK6+H,iBAAiBp5F,SAASzlC,KAAMknI,GAEjClnI,KAAK4+H,yBACT,CAKI,IAAI1nH,EAASlX,KAAK+C,KAAKmU,OACVA,EAAO2yF,WACbvD,aAAaugC,EAAU3vH,GAC9B2vH,EAASj9B,YAAY1yF,GAiBzB,YAdgB3Q,IAAZwtB,IAEAA,GAAYqzG,aAAc,SAG1BpnI,KAAK+C,KAAKknB,OAAO25E,mBAEjBijC,EAAS7mI,KAAK+C,KAAKknB,OAAOy5E,mBAAmB+E,QAAQC,sBAIrDm+B,EAAS7mI,KAAK+C,KAAKknB,OAAOy5E,mBAAmB3vE,IAG1C,EAtEH,IAAI2Y,EAAQ1sC,KAEZokG,WAAW,WAEP13D,EAAMy1F,mBACP,MA2EXkF,eAAgB,WAEZ,SAAKrnI,KAAKklI,eAAiBllI,KAAKu/H,cAAcC,sBAK9Cx/H,KAAK0+H,wBAAyB,EAE9BruF,SAASrwC,KAAK+C,KAAKknB,OAAO05E,qBAEnB,IAUXsjC,qBAAsB,WAElB,IAAIJ,EAAW7mI,KAAK4+H,yBAEpB,GAAIiI,GAAYA,EAASh9B,WACzB,CAKI,IAAIxoG,EAASwlI,EAASh9B,WACtBxoG,EAAOilG,aAAatmG,KAAK+C,KAAKmU,OAAQ2vH,GACtCxlI,EAAOwH,YAAYg+H,GAGvB7mI,KAAK4+H,yBAA2B,MAWpC0I,eAAgB,SAAUC,GAEtB,IAAIC,IAAkBxnI,KAAK4+H,yBACvBiI,EAAW7mI,KAAK4+H,0BAA4B5+H,KAAK2+H,iBAEjD4I,GAEIC,GAAiBxnI,KAAKuiI,sBAAwB/gI,EAAO67C,aAAaikF,YAG9DuF,IAAa7mI,KAAK+C,KAAKmU,SAEvBlX,KAAKygI,oBACDnhC,YAAaunC,EAASvrH,MAAM1d,MAC5B2hG,aAAcsnC,EAASvrH,MAAMzd,QAGjCgpI,EAASvrH,MAAM1d,MAAQ,OACvBipI,EAASvrH,MAAMzd,OAAS,SAO5BmC,KAAKygI,qBAELoG,EAASvrH,MAAM1d,MAAQoC,KAAKygI,mBAAmBnhC,YAC/CunC,EAASvrH,MAAMzd,OAASmC,KAAKygI,mBAAmBlhC,aAEhDv/F,KAAKygI,mBAAqB,MAI9BzgI,KAAKmjI,iBAAiBnjI,KAAK0gI,UAAU9iI,MAAOoC,KAAK0gI,UAAU7iI,QAAQ,GACnEmC,KAAKqlI,gBAWbpD,iBAAkB,SAAUvxF,GAExB1wC,KAAK0wC,MAAQA,EAET1wC,KAAKklI,cAELllI,KAAKsnI,gBAAe,GAEpBtnI,KAAKmkI,eACLnkI,KAAKojI,aAAY,KAIjBpjI,KAAKsnI,gBAAe,GAEpBtnI,KAAKinI,uBAELjnI,KAAKmkI,eACLnkI,KAAKojI,aAAY,IAGrBpjI,KAAK8+H,mBAAmBr5F,SAASzlC,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAW5DskI,gBAAiB,SAAUzxF,GAEvB1wC,KAAK0wC,MAAQA,EAEb1wC,KAAKinI,uBAEL3mI,QAAQ+Z,KAAK,+FAEbra,KAAK++H,kBAAkBt5F,SAASzlC,OAkBpCynI,YAAa,SAAUnkH,EAAQ1lB,EAAOC,EAAQ6pI,GAM1C,QAJcnhI,IAAV3I,IAAuBA,EAAQoC,KAAKpC,YACzB2I,IAAX1I,IAAwBA,EAASmC,KAAKnC,aACxB0I,IAAdmhI,IAA2BA,GAAY,IAEtCpkH,IAAWA,EAAOxiB,MAEnB,OAAOwiB,EAMX,GAHAA,EAAOxiB,MAAMiD,EAAI,EACjBuf,EAAOxiB,MAAMkD,EAAI,EAEZsf,EAAO1lB,OAAS,GAAO0lB,EAAOzlB,QAAU,GAAOD,GAAS,GAAOC,GAAU,EAE1E,OAAOylB,EAGX,IAAIqkH,EAAU/pI,EACVgqI,EAAWtkH,EAAOzlB,OAASD,EAAS0lB,EAAO1lB,MAE3CiqI,EAAWvkH,EAAO1lB,MAAQC,EAAUylB,EAAOzlB,OAC3CiqI,EAAUjqI,EAEVkqI,EAAgBF,EAAUjqI,EA4B9B,OAxBImqI,EAFAA,EAEeL,GAICA,IAKhBpkH,EAAO1lB,MAAQ8F,KAAKmsB,MAAM83G,GAC1BrkH,EAAOzlB,OAAS6F,KAAKmsB,MAAM+3G,KAI3BtkH,EAAO1lB,MAAQ8F,KAAKmsB,MAAMg4G,GAC1BvkH,EAAOzlB,OAAS6F,KAAKmsB,MAAMi4G,IASxBxkH,GAUX9gB,QAAS,WAELxC,KAAK+C,KAAKkmC,SAAS9sB,OAAOnc,KAAKoiI,aAAcpiI,MAE7CoQ,OAAO6hC,oBAAoB,oBAAqBjyC,KAAK4hI,oBAAoB,GACzExxH,OAAO6hC,oBAAoB,SAAUjyC,KAAK8hI,eAAe,GAErD9hI,KAAKu/H,cAAcC,qBAEnBnvF,SAAS4B,oBAAoB,yBAA0BjyC,KAAKgiI,mBAAmB,GAC/E3xF,SAAS4B,oBAAoB,sBAAuBjyC,KAAKgiI,mBAAmB,GAC5E3xF,SAAS4B,oBAAoB,qBAAsBjyC,KAAKgiI,mBAAmB,GAC3E3xF,SAAS4B,oBAAoB,mBAAoBjyC,KAAKgiI,mBAAmB,GAEzE3xF,SAAS4B,oBAAoB,wBAAyBjyC,KAAKkiI,kBAAkB,GAC7E7xF,SAAS4B,oBAAoB,qBAAsBjyC,KAAKkiI,kBAAkB,GAC1E7xF,SAAS4B,oBAAoB,oBAAqBjyC,KAAKkiI,kBAAkB,GACzE7xF,SAAS4B,oBAAoB,kBAAmBjyC,KAAKkiI,kBAAkB,MAMnF1gI,EAAO67C,aAAa/6C,UAAUC,YAAcf,EAAO67C,aAYnDr2C,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,kBAEjD4E,IAAK,WAED,OAAIlH,KAAKkgI,gBACJlgI,KAAKklI,cAAgBllI,KAAK0+H,yBAA2B1+H,KAAK4+H,yBAEpD,KAGM5+H,KAAK+C,KAAKmU,QAAUlX,KAAK+C,KAAKmU,OAAO2yF,YAEjC,QA0C7B7iG,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,aAEjD4E,IAAK,WAED,OAAOlH,KAAK+/H,YAGhB54H,IAAK,SAAUC,GAaX,OAXIA,IAAUpH,KAAK+/H,aAEV//H,KAAKklI,eAENllI,KAAKmjI,iBAAiBnjI,KAAK0gI,UAAU9iI,MAAOoC,KAAK0gI,UAAU7iI,QAAQ,GACnEmC,KAAKojI,aAAY,IAGrBpjI,KAAK+/H,WAAa34H,GAGfpH,KAAK+/H,cAapB/4H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,uBAEjD4E,IAAK,WAED,OAAOlH,KAAKigI,sBAGhB94H,IAAK,SAAUC,GAmBX,OAjBIA,IAAUpH,KAAKigI,uBAGXjgI,KAAKklI,cAELllI,KAAKsnI,gBAAe,GACpBtnI,KAAKigI,qBAAuB74H,EAC5BpH,KAAKsnI,gBAAe,GAEpBtnI,KAAKojI,aAAY,IAIjBpjI,KAAKigI,qBAAuB74H,GAI7BpH,KAAKigI,wBAepBj5H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,oBAEjD4E,IAAK,WAED,OAAOlH,KAAKklI,aAAellI,KAAKigI,qBAAuBjgI,KAAK+/H,cAiBpE/4H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,yBAEjD4E,IAAK,WAED,OAAOlH,KAAKq+H,wBAGhBl3H,IAAK,SAAUC,GAEPA,IAAUpH,KAAKq+H,yBAEfr+H,KAAKq+H,uBAAyBj3H,EAC9BpH,KAAKojI,aAAY,OAyB7Bp8H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,uBAEjD4E,IAAK,WAED,OAAOlH,KAAKs+H,sBAGhBn3H,IAAK,SAAUC,GAEPA,IAAUpH,KAAKs+H,uBAEft+H,KAAKs+H,qBAAuBl3H,EAC5BpH,KAAKojI,aAAY,OAY7Bp8H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,gBAEjD4E,IAAK,WAED,SAAUmpC,SAAS23F,mBACf33F,SAAS43F,yBACT53F,SAAS63F,sBACT73F,SAAS83F,wBAYrBnhI,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,cAEjD4E,IAAK,WAED,MAA4D,aAArDlH,KAAKukI,oBAAoBvkI,KAAKg/H,sBAY7Ch4H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,eAEjD4E,IAAK,WAED,MAA4D,cAArDlH,KAAKukI,oBAAoBvkI,KAAKg/H,sBAe7Ch4H,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,kBAEjD4E,IAAK,WAED,OAAQlH,KAAKnC,OAASmC,KAAKpC,SAenCoJ,OAAOyF,eAAejL,EAAO67C,aAAa/6C,UAAW,mBAEjD4E,IAAK,WAED,OAAQlH,KAAKpC,MAAQoC,KAAKnC,UA2BlC2D,EAAOgwB,MAAMysB,MAAQ,SAAUl7C,GAK3B/C,KAAK+C,KAAOA,EAKZ/C,KAAKsjB,OAAS,KAKdtjB,KAAKooI,IAAM,KAKXpoI,KAAKkX,OAAS,KAKdlX,KAAK8N,QAAU,KAMf9N,KAAKw1E,KAAO,iBAMZx1E,KAAKqoI,YAAc,IAMnBroI,KAAKyzF,WAAa,GAMlBzzF,KAAKogF,UAAY,EAMjBpgF,KAAKsoI,cAAe,EAOpBtoI,KAAKuoI,aAAe,KAMpBvoI,KAAKu5F,SAAW,EAMhBv5F,KAAKw5F,SAAW,EAMhBx5F,KAAKwoI,aAAe,EAMpBxoI,KAAKwR,OAAQ,EAObxR,KAAKm+C,YAAa,EAMlBn+C,KAAKyoI,MAAQ,KAMbzoI,KAAK0oI,MAAQ,MAOjBlnI,EAAOgwB,MAAMysB,MAAM0qF,UAAY,EAM/BnnI,EAAOgwB,MAAMysB,MAAM2qF,eAAiB,EAMpCpnI,EAAOgwB,MAAMysB,MAAM4qF,YAAc,EAMjCrnI,EAAOgwB,MAAMysB,MAAM6qF,WAAa,EAMhCtnI,EAAOgwB,MAAMysB,MAAM8qF,UAAY,EAM/BvnI,EAAOgwB,MAAMysB,MAAM+qF,aAAe,EAElCxnI,EAAOgwB,MAAMysB,MAAM37C,WAQfyhC,KAAM,WAEE/jC,KAAK+C,KAAK2nC,aAAelpC,EAAO+nB,OAEhCvpB,KAAK8N,QAAU9N,KAAK+C,KAAK+K,SAIzB9N,KAAKooI,IAAM,IAAI5mI,EAAOuwE,WAAW/xE,KAAK+C,KAAM,UAAW/C,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAAQ,GAC1FmC,KAAKsjB,OAAStjB,KAAK+C,KAAKwjC,KAAKrsB,MAAM,EAAG,EAAGla,KAAKooI,KAC9CpoI,KAAK+C,KAAKuX,MAAM7R,SAASzI,KAAKsjB,QAE9BtjB,KAAK+C,KAAKjC,MAAMu/H,aAAapnG,IAAIj5B,KAAKmG,OAAQnG,MAE9CA,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAMA,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QACxEmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,OAG1CxY,KAAKyoI,MAAQ,IAAIjnI,EAAOy2B,KACxBj4B,KAAK0oI,MAAQ,IAAIlnI,EAAOS,WAU5BkE,OAAQ,WAEJnG,KAAKooI,IAAIjiI,OAAOnG,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAE3CmC,KAAKkX,OAAOtZ,MAAQoC,KAAK+C,KAAKnF,MAC9BoC,KAAKkX,OAAOrZ,OAASmC,KAAK+C,KAAKlF,QASnC6G,UAAW,WAEH1E,KAAKwR,OAASxR,KAAKsjB,SAEnBtjB,KAAKooI,IAAIxtH,QACT5a,KAAKooI,IAAIxsD,KAAK57E,KAAKkX,OAAQ,EAAG,GAE9BlX,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QACxDmC,KAAKwR,OAAQ,IASrB40B,MAAO,WAECpmC,KAAK8N,SAEL9N,KAAK8N,QAAQka,UAAU,EAAG,EAAGhoB,KAAK+C,KAAKnF,MAAOoC,KAAK+C,KAAKlF,QAGxDmC,KAAKsjB,QAELtjB,KAAKooI,IAAIxtH,SAcjBtO,MAAO,SAAUvI,EAAGC,EAAGqS,EAAOgyH,GAET,iBAANtkI,IAAkBA,EAAI,GAChB,iBAANC,IAAkBA,EAAI,GACjCqS,EAAQA,GAAS,wBACG9P,IAAhB8hI,IAA6BA,EAAc,GAE/CroI,KAAKu5F,SAAWx1F,EAChB/D,KAAKw5F,SAAWx1F,EAChBhE,KAAKuoI,aAAelyH,EACpBrW,KAAKqoI,YAAcA,EAEnBroI,KAAKwR,OAAQ,EAEbxR,KAAK8N,QAAQoa,OACbloB,KAAK8N,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC7O,KAAK8N,QAAQuyE,YAAchqE,EAC3BrW,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQ0nE,KAAOx1E,KAAKw1E,KACzBx1E,KAAK8N,QAAQG,YAAcjO,KAAKwoI,cASpCr8H,KAAM,WAEFnM,KAAK8N,QAAQ0a,WASjBkQ,KAAM,WAIF,IAAK,IAFD30B,EAAI/D,KAAKu5F,SAEJ72F,EAAI,EAAGA,EAAI4tB,UAAU3tB,OAAQD,IAE9B1C,KAAKsoI,eAELtoI,KAAK8N,QAAQ6a,UAAY,aACzB3oB,KAAK8N,QAAQgyE,SAASxvD,UAAU5tB,GAAIqB,EAAI,EAAG/D,KAAKw5F,SAAW,GAC3Dx5F,KAAK8N,QAAQ6a,UAAY3oB,KAAKuoI,cAGlCvoI,KAAK8N,QAAQgyE,SAASxvD,UAAU5tB,GAAIqB,EAAG/D,KAAKw5F,UAE5Cz1F,GAAK/D,KAAKqoI,YAGdroI,KAAKw5F,UAAYx5F,KAAKyzF,YAW1Bw1C,SAAU,SAAUllI,EAAGC,EAAGqS,GAEtB,IAAItT,EAAO/C,KAAK+C,KAEhB/C,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,WAAa31B,EAAKmR,IAC5BlU,KAAK04B,MAAMwwG,EAAG,SAAUC,EAAG,QAASC,EAAG,WAAYC,EAAG,sBAAsBtmI,EAAK2nC,YAAc,KAAO3nC,EAAKnF,MAAQ,MAAQmF,EAAKlF,OAAS,KACzImC,KAAK04B,KAAK,WAAa31B,EAAKqkC,QAC5BpnC,KAAK04B,KAAK,aAAe31B,EAAK84C,SAAW,KAAO94C,EAAKg5C,UAAY,KAEjE/7C,KAAKmM,QAaTw6B,MAAO,SAAU5iC,EAAGC,EAAGqS,GAEnB,IAAIswB,EAAQ3mC,KAAK+C,KAAK4jC,MAClBjV,EAAO1qB,OAAO0qB,KAAKiV,EAAMe,QAE7B1nC,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjB,IAAK,IAAI3T,EAAI,EAAGA,EAAIgvB,EAAK/uB,OAAQD,IACjC,CACI,IAAIsQ,EAAM0e,EAAKhvB,GAEXsQ,IAAQ2zB,EAAMqB,QAEdhoC,KAAK04B,MAAMiO,EAAMmB,SAAW,KAAO,MAAQ90B,GAEtCA,IAAQ2zB,EAAMgB,cAEnB3nC,KAAK04B,KAAK,KAAO1lB,GAIjBhT,KAAK04B,KAAK,KAAO1lB,GAIzBhT,KAAKmM,QAWTu6B,MAAO,SAAU3iC,EAAGC,EAAGqS,GAEnB,IAAIqwB,EAAQ1mC,KAAK+C,KAAK2jC,MAEtB1mC,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEbqwB,EAAMknF,QAEN5tH,KAAK04B,KAAK,sBAIV14B,KAAK04B,KAAK,WAAagO,EAAMnF,OAAO+M,QAAQ,IAAM5H,EAAM20F,KAAO,UAAY,KAC3Er7H,KAAK04B,KAAK,kBAAoBgO,EAAMka,aACpC5gD,KAAK04B,KAAK,WAAagO,EAAM2pF,cAAiB,eAAiB3pF,EAAM54B,QAAQ64B,MAAS,cACtF3mC,KAAK04B,KAAK,iBAAmBgO,EAAM49E,aACnCtkH,KAAK04B,KAAK,WAAagO,EAAM61F,QAAQ55H,SAGzC3C,KAAKmM,QAYTm9H,UAAW,SAAU5iG,EAAO3iC,EAAGC,EAAGqS,GAgB9B,GAdArW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,UAAYgO,EAAM1zB,IAAM,mBAAqB0zB,EAAM3jC,KAAK2jC,MAAM49E,aACxEtkH,KAAK04B,KAAK,cAAgB14B,KAAK+C,KAAKiX,MAAM2sG,aAAajgF,EAAM1zB,KAAO,uBAAyB0zB,EAAM8xF,iBACnGx4H,KAAK04B,KAAK,YAAcgO,EAAMm0F,UAAY,eAAiBn0F,EAAM29E,YACjErkH,KAAK04B,KAAK,YAAcgO,EAAMu2E,UAAY,WAAav2E,EAAM8kC,MAC7DxrE,KAAK04B,KAAK,UAAYgO,EAAMuxF,YAAc,KAAM3pF,QAAQ,GAAK,aAAe5H,EAAMsxF,cAAc1pF,QAAQ,GAAK,KAC7GtuC,KAAK04B,KAAK,WAAagO,EAAMnF,OAAO+M,QAAQ,IAAM5H,EAAM20F,KAAO,UAAY,KAC3Er7H,KAAK04B,KAAK,WAAagO,EAAM2pF,cAAgB,YAAc,cAEvD3pF,EAAM2pF,eAENrwH,KAAK04B,KAAK,cAAgBgO,EAAM6iG,UAAY,SAG5C7iG,EAAM4pF,eAAiB5pF,EAAMqyF,OACjC,CACI,IAAI3pH,EAASs3B,EAAMqyF,OAEnB/4H,KAAK04B,KAAK,iBAAmBtpB,EAAOo6H,YACpCxpI,KAAK04B,KAAK,kBAAoBtpB,EAAO6oH,aACrCj4H,KAAK04B,KAAK,eAAiBtpB,EAAOyzB,UAClC7iC,KAAK04B,KAAK,YAActpB,EAAOq6H,OAC/BzpI,KAAK04B,KAAK,WAAatpB,EAAOo8D,MAC9BxrE,KAAK04B,KAAK,YAActpB,EAAOgsH,OAC/Bp7H,KAAK04B,KAAK,aAAetpB,EAAOg4B,QAGR,KAAxBV,EAAM4xF,gBAENt4H,KAAK04B,KAAK,WAAagO,EAAM4xF,cAAgB,eAAiB5xF,EAAM7D,SAASyL,QAAQ,GAAK,MAAQ5H,EAAMwxF,WAAa,OACrHl4H,KAAK04B,KAAK,UAAYgO,EAAMqxF,QAAQrxF,EAAM4xF,eAAehsH,MAAMgiC,QAAQ,GAAK,WAAa5H,EAAMqxF,QAAQrxF,EAAM4xF,eAAensH,KAAKmiC,QAAQ,IACzItuC,KAAK04B,KAAK,aAAegO,EAAM9lC,SAAS0tC,QAAQ,KAGpDtuC,KAAKmM,QAWT2O,OAAQ,SAAUA,EAAQzE,EAAOqzH,GAE7B,IAAI3nG,EAAWjnB,EAAOinB,SAClB/5B,EAAS8S,EAAO9S,OAChBiP,EAAO6D,EAAO7D,KAEd8qB,IAEA/hC,KAAK0oI,MAAMtzG,MAAMne,EAAKlT,EAAIg+B,EAASh+B,EAAGkT,EAAKjT,EAAI+9B,EAAS/9B,EAAG+9B,EAASnkC,MAAOmkC,EAASlkC,QACpFmC,KAAK2pI,UAAU3pI,KAAK0oI,MAAOryH,EAAOqzH,IAGlC1hI,IAEAhI,KAAKyoI,MAAMrzG,MAAMne,EAAK4gB,QAAS5gB,EAAK6gB,QAAS9vB,EAAOjE,EAAGiE,EAAOhE,GAC9DhE,KAAK4pI,KAAK5pI,KAAKyoI,MAAOpyH,EAAOqzH,GAC7B1pI,KAAK4pI,KAAK5hI,EAAQqO,GAAO,EAAO,KAaxCwzH,WAAY,SAAU/uH,EAAQ/W,EAAGC,EAAGqS,GAEhC,IAAIvR,EAASgW,EAAOhW,OAChBi9B,EAAWjnB,EAAOinB,SAClB/5B,EAAS8S,EAAO9S,OAChBiP,EAAO6D,EAAO7D,KAElBjX,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,WAAa5d,EAAOld,MAAQ,MAAQkd,EAAOjd,OAAS,KAC9DmC,KAAK04B,KAAK,MAAQ5d,EAAO/W,EAAI,OAAS+W,EAAO9W,GAC7ChE,KAAK04B,KAAK,YAAc5zB,EAAU,MAAQA,EAAOf,EAAI,OAASe,EAAOd,EAAI,OAASc,EAAOlH,MAAQ,OAASkH,EAAOjH,OAAU,SAC3HmC,KAAK04B,KAAK,YAAczhB,EAAKlT,EAAI,OAASkT,EAAKjT,EAAI,OAASiT,EAAKrZ,MAAQ,OAASqZ,EAAKpZ,QACvFmC,KAAK04B,KAAK,cAAgB5d,EAAO+c,QAAU,OAAS/c,EAAOgd,SAC3D93B,KAAK04B,KAAK,cAAgBqJ,EAAY,MAAQA,EAASh+B,EAAI,OAASg+B,EAAS/9B,EAAI,OAAS+9B,EAASnkC,MAAQ,OAASmkC,EAASlkC,OAAUkkC,IACvI/hC,KAAK04B,KAAK,kBAAoB5d,EAAOonB,aACrCliC,KAAK04B,KAAK,gBAAkB5d,EAAOmnB,QAAQl+B,EAAI,OAAS+W,EAAOmnB,QAAQj+B,GACvEhE,KAAK04B,KAAK,YAAc1wB,EAAUA,EAAOgqB,MAAQhqB,EAAU,SAC3DhI,KAAKmM,QAYTouG,MAAO,SAAUA,EAAOx2G,EAAGC,EAAGqS,GAE1BrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,mBAAqB6hF,EAAMS,QAAU,aAAeT,EAAMU,QAAU,KAC9Ej7G,KAAK04B,KAAK,cAAgB6hF,EAAM/kE,KAAO,cAAgB+kE,EAAM13E,UAC7D7iC,KAAK04B,KAAK,WAAa6hF,EAAMnzE,OAAS,YAAcmzE,EAAM53G,QAC1D3C,KAAKmM,QAcTkiC,QAAS,SAAUA,EAASy7F,EAAUC,EAAWC,EAAS3zH,EAAO4zH,GAE7D,GAAe,MAAX57F,SAKa9nC,IAAbujI,IAA0BA,GAAW,GAEzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,sBACrBC,EAAgBA,GAAiB,qBAEhB,IAAbH,IAAsC,IAAjBz7F,EAAQid,MAAjC,CAKAtrD,KAAKsM,MAAM+hC,EAAQtqC,EAAGsqC,EAAQrqC,EAAI,IAAKqS,GACvCrW,KAAK8N,QAAQiyE,YACb//E,KAAK8N,QAAQkyE,IAAI3xC,EAAQtqC,EAAGsqC,EAAQrqC,EAAGqqC,EAAQoT,OAAOtsB,OAAQ,EAAa,EAAVzxB,KAAKsxB,IAElEqZ,EAAQtD,OAER/qC,KAAK8N,QAAQ6a,UAAY0lB,EAAQgd,OAAS0+E,EAAYC,EAItDhqI,KAAK8N,QAAQ6a,UAAYshH,EAG7BjqI,KAAK8N,QAAQi5C,OACb/mD,KAAK8N,QAAQmyE,YAGbjgF,KAAK8N,QAAQiyE,YACb//E,KAAK8N,QAAQoyE,OAAO7xC,EAAQ2f,aAAajqD,EAAGsqC,EAAQ2f,aAAahqD,GACjEhE,KAAK8N,QAAQqyE,OAAO9xC,EAAQztC,SAASmD,EAAGsqC,EAAQztC,SAASoD,GACzDhE,KAAK8N,QAAQsyE,UAAY,EACzBpgF,KAAK8N,QAAQwyE,SACbtgF,KAAK8N,QAAQmyE,YAEb,IAAIiqD,EAAK77F,EAAQmf,UACb28E,EAAK97F,EAAQof,WAEby8E,GAAMC,KAENnqI,KAAK8N,QAAQiyE,YACb//E,KAAK8N,QAAQoyE,OAAOgqD,EAAK77F,EAAQztC,SAASmD,EAAGomI,EAAK97F,EAAQztC,SAASoD,GACnEhE,KAAK8N,QAAQqyE,OAAO9xC,EAAQztC,SAASmD,EAAGsqC,EAAQztC,SAASoD,GACzDhE,KAAK8N,QAAQsyE,UAAY,EACzBpgF,KAAK8N,QAAQwyE,SACbtgF,KAAK8N,QAAQmyE,aAIjBjgF,KAAK04B,KAAK,OAAS2V,EAAQn6B,GAAK,YAAcm6B,EAAQtD,QACtD/qC,KAAK04B,KAAK,YAAc2V,EAAQ+7F,OAAO97F,QAAQ,GAAK,aAAeD,EAAQg8F,OAAO/7F,QAAQ,IAC1FtuC,KAAK04B,KAAK,aAAe2V,EAAQtqC,EAAEuqC,QAAQ,GAAK,cAAgBD,EAAQrqC,EAAEsqC,QAAQ,GAAK,QAAUD,EAAQ0a,YACzG/oD,KAAK04B,KAAK,gBAAkBwxG,EAAK,OAASC,GAC1CnqI,KAAK04B,KAAK,aAAe2V,EAAQxL,SAAW,OAC5C7iC,KAAK04B,KAAK,YAAc2V,EAAQgd,OAAS,WAAahd,EAAQid,MAC9DtrD,KAAK04B,KAAK,eAAiB2V,EAAQ4X,WAAa,gBAAkB5X,EAAQmY,WAEtEnY,EAAQqf,SAER1tD,KAAK04B,KAAK,YAAc14B,KAAKsqI,mBAAmBj8F,EAAQge,YAAc,IAC9CrsD,KAAKsqI,mBAAmBj8F,EAAQie,cAAgB,IAChDtsD,KAAKsqI,mBAAmBj8F,EAAQke,cAG5DvsD,KAAKmM,SAGTm+H,mBAAoB,SAAUC,GAE1B,OAAIA,EAAIl/E,OAAiB,IAChBk/E,EAAIj/E,KAAe,IAErB,KAYXk/E,gBAAiB,SAAUlnH,EAAQvf,EAAGC,EAAGqS,GAErCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GACjBrW,KAAK04B,KAAK,kBAAoBpV,EAAO1lB,MAAQ,MAAQ0lB,EAAOzlB,OAAS,KACrEmC,KAAK04B,KAAK,MAAQpV,EAAOkjB,MAAM8uB,WAAWhnB,QAAQ,GAAK,OAAShrB,EAAOkjB,MAAM+uB,WAAWjnB,QAAQ,IAChGtuC,KAAK04B,KAAK,SAAWpV,EAAOkjB,MAAMovB,cAAgB,cAAgBtyC,EAAOkjB,MAAMoxB,eAAetpB,QAAQ,IACtGtuC,KAAK04B,KAAK,SAAWpV,EAAOkjB,MAAMgvB,cAAgB,cAAgBlyC,EAAOkjB,MAAMquB,eAAevmB,QAAQ,IACtGtuC,KAAK04B,KAAK,cAAgBpV,EAAOkjB,MAAMkxB,WAAa,cAAgBp0C,EAAOkjB,MAAMqxB,WACjF73D,KAAKmM,QAYT6G,IAAK,SAAUA,EAAKjP,EAAGC,EAAGqS,GAEtBrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAExBrW,KAAK04B,KAAK,OAAQ1lB,EAAIiwD,QAAS,UAAWjwD,EAAIq4C,QAC9CrrD,KAAK04B,KAAK,YAAa1lB,EAAIy3H,SAAU,UAAWz3H,EAAI03H,QACpD1qI,KAAK04B,KAAK,aAAc1lB,EAAIu4C,SAASjd,QAAQ,GAAI,YAAat7B,EAAI6vB,SAASyL,QAAQ,IAEnFtuC,KAAKmM,QAYTw+H,UAAW,SAAU5mI,EAAGC,EAAGqS,EAAOu0H,GAE9B,IAAIpkG,EAAQxmC,KAAK+C,KAAKyjC,MAetB,QAboBjgC,IAAhBqkI,IAEAA,GAAc,GAGlB5qI,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,SACV14B,KAAK04B,KAAK,MAAQ8N,EAAMziC,EAAI,OAASyiC,EAAMxiC,GAC3ChE,KAAK04B,KAAK,YAAc8N,EAAM4jG,OAAS,aAAe5jG,EAAM6jG,QAC5DrqI,KAAK04B,KAAK,YAAc8N,EAAM1lC,MAAMiD,EAAEuqC,QAAQ,GAAK,aAAe9H,EAAM1lC,MAAMiD,EAAEuqC,QAAQ,IACxFtuC,KAAK04B,KAAK,aAAe8N,EAAMuc,cAAcqK,QAAQ9e,QAAQ,GAAK,cAAgB9H,EAAMuc,cAAcsK,QAAQ/e,QAAQ,IAEjHs8F,EAAL,CAOA5qI,KAAK04B,KAAK,YACV14B,KAAK04B,KAAK,KAAO14B,KAAK6qI,cAAcrkG,EAAM+G,MAAO,UACjDvtC,KAAK04B,KAAK,KAAO14B,KAAK6qI,cAAcrkG,EAAM2c,UAAW,cACrDnjD,KAAK04B,KAAK,KAAO14B,KAAK6qI,cAAcrkG,EAAM0c,MAAO,UAEjD,IAAIJ,EAAWtc,EAAMsc,SACjBE,EAAexc,EAAMwc,aACrB3mC,EAAQ7a,EAAOsvD,aACf/lB,EAAS,EACT+/F,EAAO,EAEX9qI,KAAK04B,KAAK,aACV14B,KAAK04B,KAAK,MAAQsqB,EAAaqI,OAAS,IAAM,KAAO,IAAMhvC,EAAM2mC,EAAamJ,aAAe,IAAMnJ,EAAaiD,YAEhH,IAAK,IAAIvjD,EAAI,EAAGA,EAAIogD,EAASngD,OAAQD,IACrC,CACI,IAAIM,EAAI8/C,EAASpgD,GAEjB1C,KAAK04B,KAAK,MAAQ11B,EAAE+nC,OAAS,IAAM,KAAO,IAAM1uB,EAAMrZ,EAAEmpD,aAAe,IAAMnpD,EAAEijD,YAE3EjjD,EAAE+nC,OAAUA,GAAU,EACnB+/F,GAAQ,EAGnB9qI,KAAK04B,KAAK,aAAeqS,EAAS,UAAY+/F,EAAO,SAAWtkG,EAAMkb,aAEtE1hD,KAAKmM,YA/BDnM,KAAKmM,QA4Cb4+H,aAAc,SAAU7jF,EAASl1B,EAAMjuB,EAAGC,EAAGqS,GAEzCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK1G,GAAQ,KAClBhyB,KAAK04B,KAAK,WAAawuB,EAAQnc,QAE1Bmc,EAAQnc,QAOb/qC,KAAK04B,KAAK,YAAcwuB,EAAQ7F,SAE5B,YAAa6F,GAEblnD,KAAK04B,KAAK,YAAcwuB,EAAQK,SAGhC,mBAAoBL,GAEpBlnD,KAAK04B,KAAK,mBAAqBwuB,EAAQxH,gBAGvC,UAAWwH,GAEXlnD,KAAK04B,KAAK,WAAawuB,EAAQxW,MAAQwW,EAAQxW,MAAMl9B,KAAO0zC,EAAQxW,QAGxE1wC,KAAKmM,QAtBDnM,KAAKmM,QAyBb0+H,cAAe,SAAU3jF,EAASl1B,GAE9B,OAAOhyB,KAAKgrI,wBAAwB9jF,GAAW,IAAMl1B,EAAO,IAAMhyB,KAAKirI,yBAAyB/jF,IAGpG8jF,wBAAyB,SAAU9jF,GAE/B,OAAKA,EAAQnc,OAKNmc,EAAQ7F,QAAU,IAAM,IAHpB,KAMf4pF,yBAA0B,SAAU/jF,GAEhC,OAAKA,EAAQnc,SAKLmc,EAAQK,SAAWL,EAAQxH,gBAAkB,IAH1C,KAcfwrF,aAAc,SAAU5nH,EAAQjN,EAAOqzH,GAEnC,IAAI5kI,EAASwe,EAAOpZ,YAEpBpF,EAAOf,GAAK/D,KAAK+C,KAAK+X,OAAO/W,EAC7Be,EAAOd,GAAKhE,KAAK+C,KAAK+X,OAAO9W,EAE7BhE,KAAK2pI,UAAU7kI,EAAQuR,EAAOqzH,IAWlCyB,aAAc,SAAUz2D,EAAMr+D,EAAOqzH,GAEjC,IAEIvuG,EAAOn7B,KAFI00E,EAAK6Z,SAIX59D,QAAQ,SAAUy6G,GAEvBjwG,EAAKwuG,UAAUyB,EAAS/0H,EAAOqzH,IAChC1pI,OAYPqrI,WAAY,SAAU/nH,EAAQvf,EAAGC,EAAGqS,GAEhCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,YAAcpV,EAAO0O,MAAQ,IAAM,KAAO1O,EAAO1lB,MAAQ,MAAQ0lB,EAAOzlB,OAAS,aAAeylB,EAAO3c,OAAO5C,EAAI,MAAQuf,EAAO3c,OAAO3C,GAClJhE,KAAK04B,KAAK,MAAQpV,EAAOvf,EAAEuqC,QAAQ,GAAK,OAAShrB,EAAOtf,EAAEsqC,QAAQ,IAClEtuC,KAAK04B,KAAK,UAAYpV,EAAOsS,MAAM0Y,QAAQ,GAAK,cAAgBhrB,EAAOtiB,SAASstC,QAAQ,IACxFtuC,KAAK04B,KAAK,YAAcpV,EAAOpiB,QAAU,eAAiBoiB,EAAOuoD,UACjE7rE,KAAK04B,KAAK,aAAepV,EAAOthB,QAAQ+B,EAAEuqC,QAAQ,GAAK,OAAShrB,EAAOthB,QAAQgC,EAAEsqC,QAAQ,GAAK,OAAShrB,EAAOthB,QAAQpE,MAAM0wC,QAAQ,GAAK,OAAShrB,EAAOthB,QAAQnE,OAAOywC,QAAQ,IAChLtuC,KAAK04B,KAAK,YAAcpV,EAAOjiB,OAAUiiB,EAAOjiB,OAAO2wB,MAAQ,kBAAqB,WAEpFhyB,KAAKmM,QAYTm/H,aAAc,SAAUhoH,EAAQvf,EAAGC,EAAGqS,GAElCrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAEpBiN,EAAO0O,MAEPhyB,KAAK04B,KAAKpV,EAAO0O,MAGrBhyB,KAAK04B,KAAK,KAAMpV,EAAOvf,EAAEuqC,QAAQ,GAAI,KAAMhrB,EAAOtf,EAAEsqC,QAAQ,IAC5DtuC,KAAK04B,KAAK,SAAUpV,EAAO1iB,SAASmD,EAAEuqC,QAAQ,GAAI,SAAUhrB,EAAO1iB,SAASoD,EAAEsqC,QAAQ,IACtFtuC,KAAK04B,KAAK,WAAYpV,EAAOrgB,MAAMc,EAAEuqC,QAAQ,GAAI,WAAYhrB,EAAOrgB,MAAMe,EAAEsqC,QAAQ,IAEpFtuC,KAAKmM,QAYTo/H,SAAU,SAAU7yG,EAAM30B,EAAGC,EAAGqS,GAE5BrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,IACxBrW,KAAK04B,KAAK,WAAYA,EAAKpsB,MAAMvI,EAAEuqC,QAAQ,GAAI,WAAY5V,EAAKpsB,MAAMtI,EAAEsqC,QAAQ,IAChFtuC,KAAK04B,KAAK,SAAUA,EAAKrd,IAAItX,EAAEuqC,QAAQ,GAAI,SAAU5V,EAAKrd,IAAIrX,EAAEsqC,QAAQ,IACxEtuC,KAAK04B,KAAK,UAAWA,EAAK/1B,OAAO2rC,QAAQ,GAAI,SAAU5V,EAAK9C,OAC5D51B,KAAKmM,QAYTmwE,MAAO,SAAUv4E,EAAGC,EAAGqS,EAAOyL,GAE1BA,EAAOA,GAAQ,EAEf9hB,KAAKsM,QACLtM,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQgb,SAAS/kB,EAAGC,EAAG8d,EAAMA,GAClC9hB,KAAKmM,QAYTy9H,KAAM,SAAUnwF,EAAQpjC,EAAOqzH,EAAQ8B,QAEpBjlI,IAAXmjI,IAAwBA,GAAS,QACnBnjI,IAAdilI,IAA2BA,EAAY,GAE3Cn1H,EAAQA,GAAS,oBAEjBrW,KAAKsM,QAELtM,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQuyE,YAAchqE,EAC3BrW,KAAK8N,QAAQsyE,UAAYpgF,KAAKogF,UAE9B,IAAIniC,EAAQz8C,EAAOgwB,MAAMysB,MAErButF,IAAcvtF,EAAM2qF,gBAAkBnvF,aAAkBj4C,EAAOS,UAE3DynI,EAEA1pI,KAAK8N,QAAQgb,SAAS2wB,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,QAIzGmC,KAAK8N,QAAQq9E,WAAW1xC,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,QAG1G2tI,IAAcvtF,EAAM4qF,aAAepvF,aAAkBj4C,EAAOmzB,QAEjE30B,KAAK8N,QAAQiyE,YACb//E,KAAK8N,QAAQkyE,IAAIvmC,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAOtkB,OAAQ,EAAa,EAAVzxB,KAAKsxB,IAAQ,GAC9Gh1B,KAAK8N,QAAQmyE,YAETypD,EAEA1pI,KAAK8N,QAAQi5C,OAIb/mD,KAAK8N,QAAQwyE,UAGZkrD,IAAcvtF,EAAM6qF,YAAcrvF,aAAkBj4C,EAAOX,MAEhEb,KAAK8N,QAAQgb,SAAS2wB,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAG,EAAG,GAElFwnI,IAAcvtF,EAAM8qF,WAAatvF,aAAkBj4C,EAAOy2B,MAE/Dj4B,KAAK8N,QAAQiyE,YACb//E,KAAK8N,QAAQoyE,OAAQzmC,EAAOntC,MAAMvI,EAAI,GAAO/D,KAAK+C,KAAK+X,OAAO/W,EAAI01C,EAAOntC,MAAMtI,EAAI,GAAOhE,KAAK+C,KAAK+X,OAAO9W,GAC3GhE,KAAK8N,QAAQqyE,OAAQ1mC,EAAOp+B,IAAItX,EAAI,GAAO/D,KAAK+C,KAAK+X,OAAO/W,EAAI01C,EAAOp+B,IAAIrX,EAAI,GAAOhE,KAAK+C,KAAK+X,OAAO9W,GACvGhE,KAAK8N,QAAQmyE,YACbjgF,KAAK8N,QAAQwyE,WAERkrD,IAAcvtF,EAAM+qF,cAAgBvvF,aAAkBj4C,EAAOo2B,WAElE53B,KAAK8N,QAAQiyE,YACb//E,KAAK8N,QAAQ29H,QAAQhyF,EAAO5hB,QAAU73B,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAO3hB,QAAU93B,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAQ,EAAG67C,EAAO57C,OAAS,EAAG,EAAG,EAAI6F,KAAKsxB,IAAI,GACpJh1B,KAAK8N,QAAQmyE,YAETypD,EAEA1pI,KAAK8N,QAAQi5C,OAIb/mD,KAAK8N,QAAQwyE,UAIrBtgF,KAAKmM,QAWTw9H,UAAW,SAAUlwF,EAAQpjC,EAAOqzH,QAEjBnjI,IAAXmjI,IAAwBA,GAAS,GAErCrzH,EAAQA,GAAS,uBAEjBrW,KAAKsM,QAEDo9H,GAEA1pI,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQgb,SAAS2wB,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,UAIzGmC,KAAK8N,QAAQsyE,UAAYpgF,KAAKogF,UAC9BpgF,KAAK8N,QAAQuyE,YAAchqE,EAC3BrW,KAAK8N,QAAQq9E,WAAW1xC,EAAO11C,EAAI/D,KAAK+C,KAAK+X,OAAO/W,EAAG01C,EAAOz1C,EAAIhE,KAAK+C,KAAK+X,OAAO9W,EAAGy1C,EAAO77C,MAAO67C,EAAO57C,SAG/GmC,KAAKmM,QAaTyoE,KAAM,SAAUA,EAAM7wE,EAAGC,EAAGqS,EAAOm/D,GAE/Bn/D,EAAQA,GAAS,mBACjBm/D,EAAOA,GAAQx1E,KAAKw1E,KAEpBx1E,KAAKsM,QACLtM,KAAK8N,QAAQ0nE,KAAOA,EAEhBx1E,KAAKsoI,eAELtoI,KAAK8N,QAAQ6a,UAAY,aACzB3oB,KAAK8N,QAAQgyE,SAASlL,EAAM7wE,EAAI,EAAGC,EAAI,IAG3ChE,KAAK8N,QAAQ6a,UAAYtS,EACzBrW,KAAK8N,QAAQgyE,SAASlL,EAAM7wE,EAAGC,GAE/BhE,KAAKmM,QAUTu/H,SAAU,SAAUC,EAAUt1H,GAE1BA,EAAQA,GAAS,oBAEjBrW,KAAKsM,QAEL,IAAIxH,EAAS6mI,EAAS7mI,OAEtB,GAA8B,IAA1B6mI,EAAS57B,MAAMptG,OACnB,CACI3C,KAAK8N,QAAQuyE,YAAchqE,EAC3BrW,KAAK8N,QAAQq9E,WAAWrmF,EAAOf,EAAGe,EAAOd,EAAGc,EAAOlH,MAAOkH,EAAOjH,QACjEmC,KAAK40E,KAAK,SAAW+2D,EAAS77B,QAAQntG,OAAQmC,EAAOf,EAAI,EAAGe,EAAOd,EAAI,GAAI,eAAgB,gBAE3FhE,KAAK8N,QAAQuyE,YAAc,eAE3B,IAAS39E,EAAI,EAAGA,EAAIipI,EAAS77B,QAAQntG,OAAQD,IAEzC1C,KAAK8N,QAAQq9E,WAAWwgD,EAAS77B,QAAQptG,GAAGqB,EAAG4nI,EAAS77B,QAAQptG,GAAGsB,EAAG2nI,EAAS77B,QAAQptG,GAAG9E,MAAO+tI,EAAS77B,QAAQptG,GAAG7E,aAKzH,IAAK,IAAI6E,EAAI,EAAGA,EAAIipI,EAAS57B,MAAMptG,OAAQD,IAEvC1C,KAAK0rI,SAASC,EAAS57B,MAAMrtG,IAIrC1C,KAAKmM,QAaTgmC,KAAM,SAAU7uB,EAAQjN,EAAOqzH,GAEvBpmH,EAAO6uB,OAEPnyC,KAAKsM,QAEDgX,EAAO6uB,KAAK3+B,OAAShS,EAAOkxC,QAAQC,OAEpCnxC,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKzmI,OAAOnF,KAAK8N,QAASwV,EAAO6uB,KAAM97B,EAAOqzH,EAAQ1pI,KAAKogF,WAE5E98D,EAAO6uB,KAAK3+B,OAAShS,EAAOkxC,QAAQm5F,MAEzCrqI,EAAOkxC,QAAQo5F,MAAMF,KAAKzmI,OAAOnF,KAAK8N,QAASwV,EAAO6uB,KAAM97B,EAAOqzH,GAE9DpmH,EAAO6uB,KAAK3+B,OAAShS,EAAOkxC,QAAQq5F,OAEzCvqI,EAAOkxC,QAAQs5F,MAAMC,WAAWjsI,KAAK8N,QAASwV,EAAO6uB,KAAM97B,GAG/DrW,KAAKmM,SAab+/H,SAAU,SAAU5oH,EAAQvf,EAAGC,EAAGqS,GAE1BiN,EAAO6uB,OAEPnyC,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAO,KAEpBiN,EAAO6uB,KAAK3+B,OAAShS,EAAOkxC,QAAQC,OAEpCnxC,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKO,eAAensI,KAAMsjB,EAAO6uB,MAElD7uB,EAAO6uB,KAAK3+B,OAAShS,EAAOkxC,QAAQq5F,OAEzC/rI,KAAK+C,KAAK+jC,QAAQslG,MAAMD,eAAensI,KAAMsjB,EAAO6uB,MAGxDnyC,KAAKmM,SAWbkgI,WAAY,WAERrsI,KAAKsM,QAELtM,KAAK8N,QAAQ+tB,WAAW77B,KAAK+C,KAAK+X,OAAO7D,KAAKlT,GAAI/D,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAG,GAC3EhE,KAAK+C,KAAK+jC,QAAQslG,MAAME,gBAAgBtsI,KAAK8N,SAE7C9N,KAAKmM,QAWTogI,UAAW,SAAUp6F,EAAM97B,GAEvBrW,KAAKsM,QACL9K,EAAOkxC,QAAQs5F,MAAMC,WAAWjsI,KAAK8N,QAASqkC,EAAM97B,GACpDrW,KAAKmM,QAaTqgI,YAAa,SAAUvxH,GAanB,QAXsB1U,IAAlB0U,IAA+BA,EAAgBjb,KAAK+C,KAAKE,OAEzDgY,EAAcoW,eAAe,iBAE7B/wB,QAAQ+P,IAAI,IAAM4K,EAAck9B,cAAgB,IAAKl9B,GAIrD3a,QAAQ+P,IAAI,KAAM4K,GAGlBA,EAAcxY,UAAYwY,EAAcxY,SAASE,OAAS,EAE1D,IAAK,IAAID,EAAI,EAAGA,EAAIuY,EAAcxY,SAASE,OAAQD,IAE/C1C,KAAK+C,KAAKmnC,MAAMsiG,YAAYvxH,EAAcxY,SAASC,KAa/DmC,SAAU,SAAUd,EAAGC,EAAGqS,GAEtB,IAAInS,EAAIlE,KAAK+C,KAAK8B,SACdR,EAAIH,EAAE0B,cAWV,GATA5F,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,MAAMx0B,EAAEvG,GAAK,QAAU,UAAY,cAAgBuG,EAAEtG,MAAQ,MAAQsG,EAAErG,OAAS,KACrFmC,KAAK04B,KAAK,eAAiBx0B,EAAE2S,YAC7B7W,KAAK04B,KAAK,sBAAwBx0B,EAAE6S,mBACpC/W,KAAK04B,KAAK,eAAiBx0B,EAAEU,YAC7B5E,KAAK04B,KAAK,gBAAkBx0B,EAAE0S,aAC9B5W,KAAK04B,KAAK,kBAENx0B,EAAEvG,GACN,CACIqC,KAAK04B,KAAK,8BAAgCx0B,EAAEiU,uBAAuBxV,OAAS,KAE5E,IAAK,IAAID,EAAI,EAAGA,EAAIwB,EAAEiU,uBAAuBxV,OAAQD,IAEjD1C,KAAK04B,KAAK,OAASx0B,EAAEiU,uBAAuBzV,IAGhD1C,KAAK04B,KAAK,gBAAkBr0B,EAAE+T,WAC9BpY,KAAK04B,KAAK,kBAAoBx0B,EAAEuU,aAChCzY,KAAK04B,KAAK,qBAAuBx0B,EAAEwU,gBACnC1Y,KAAK04B,KAAK,+BAAiCr0B,EAAEgU,0BAC7CrY,KAAK04B,KAAK,kBAAoBr0B,EAAEuK,kBAIhC5O,KAAK04B,KAAK,kBAAoBr0B,EAAEuK,aAChC5O,KAAK04B,KAAK,iBAAmC,IAAhBr0B,EAAEvG,UAAkB,SAA4B,IAAhBuG,EAAEvG,UAAkB,UAAYuG,EAAEvG,YAGnGkC,KAAKmM,QAGTsgI,WAAY,SAAU1oI,EAAGC,EAAGqS,EAAOgyH,GAE/B,IAAI5oC,EAAOj+F,EAAOqF,WAElB7G,KAAKsM,MAAMvI,EAAGC,EAAGqS,EAAOgyH,GAAe,KACvCroI,KAAK04B,KAAK,eACV14B,KAAK04B,KAAK,QAAS+mE,EAAKC,YACxB1/F,KAAK04B,KAAK,QAAS+mE,EAAKE,WACxB3/F,KAAK04B,KAAK,SAAU+mE,EAAK98F,QACzB3C,KAAKmM,QAYTioE,aAAc,SAAU75B,EAAOlkC,EAAOqzH,EAAQ/xF,GAE1C4C,EAAM5pB,QAAQ3wB,KAAKmyC,KAAMnyC,KAAM23C,EAAathC,EAAOqzH,IAWvDgD,OAAQ,SAAU3oI,EAAGC,EAAGqS,GAEpBrW,KAAK40E,KAAK,WAAapzE,EAAOgqB,QAAU,KACnCxrB,KAAK+C,KAAK2nC,aAAelpC,EAAOmV,MAAQ,QAAU,UAAY,KAC9D3W,KAAK+C,KAAKknB,OAAO60B,SAAW,WAAa,cAC9C/6C,EAAGC,EAAGqS,EAAOrW,KAAKw1E,OAWtB10E,MAAO,SAAUiD,EAAGC,EAAGqS,GAEnBrW,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjB,IAAIvV,EAAQd,KAAK+C,KAAKjC,MAClB6rI,EAAS7rI,EAAMq+H,oBACfr6H,EAAShE,EAAMkgI,cACfj9H,EAAI,MAER/D,KAAK04B,KAAK,SAAW14B,KAAK+C,KAAKnF,MAAQmG,EAAI/D,KAAK+C,KAAKlF,QACrDmC,KAAK04B,KAAK,WAAa53B,EAAMlD,MAAQmG,EAAIjD,EAAMjD,OAC3C,KAAO8uI,EAAO5oI,EAAEuqC,QAAQ,GAAKvqC,EAAI4oI,EAAO3oI,EAAEsqC,QAAQ,GAAK,MAChDxtC,EAAMs+H,YAAY9wF,QAAQ,GAAK,KAC1CtuC,KAAK04B,KAAK,SAAWl3B,EAAO67C,aAAaqkF,MAAM5gI,EAAMuiI,mBAChDviI,EAAMuiI,mBAAqB7hI,EAAO67C,aAAaokF,WAC3C,KAAO3gI,EAAM6/H,iBAAiB58H,EAAIA,EAAIjD,EAAM6/H,iBAAiB38H,EAAI,IAClE,KACRhE,KAAK04B,KAAK,YAAc53B,EAAMo/H,eAAiB,SAAWp/H,EAAM+oG,aAC3D/kG,EAAO+1B,MAAQ,GAAM,KAAO/1B,EAAOlH,MAAQmG,EAAIe,EAAOjH,OAAS,MACpEmC,KAAK04B,KAAK,WAAa53B,EAAMyjI,oBAAoBzjI,EAAMk+H,oBAClDl+H,EAAMs9H,qBAAuB,eAAiB,KAEnDp+H,KAAKmM,QAiBTygI,OAAQ,SAAUA,EAAQ7oI,EAAGC,EAAGqS,GAE5B,IAAIid,EAAM9xB,EAAOgwB,MAAM8B,IAEvBtzB,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEbu2H,EAAOz/H,UAEPnN,KAAK04B,KAAK,YAAck0G,EAAOvpF,YAAc,YAAc,KAEtDupF,EAAOtiB,UAEZtqH,KAAK04B,KAAK,WAIV14B,KAAK04B,KAAK,eAGTk0G,EAAOz/H,YAAay/H,EAAOvpF,cAE5BrjD,KAAK04B,KAAK,aAAgBpF,EAAIs5G,EAAOrd,SAAU,GAAK,KACpDvvH,KAAK04B,KAAK,UAAYk0G,EAAOhhB,iBAAmB,OAC1BghB,EAAOlhB,iBAC7B1rH,KAAK04B,KAAK,UAAYk0G,EAAOjhB,iBAAmB,OAC1BihB,EAAOjhB,mBAGjC3rH,KAAKmM,QAWT8d,OAAQ,SAAUlmB,EAAGC,EAAGqS,GAEpB,IAAI4T,EAASjqB,KAAK+C,KAAKknB,OAEvBjqB,KAAKsM,MAAMvI,EAAGC,EAAGqS,GAEjBrW,KAAK04B,KAAK,UACV14B,KAAK04B,KAAK,mBAAqBzO,EAAOk5B,WACtCnjD,KAAK04B,KAAK,UAAYzO,EAAOi5B,OAC7BljD,KAAK04B,KAAK,cAAgBzO,EAAO60B,UACjC9+C,KAAK04B,KAAK,UAAYzO,EAAOm1B,OAE7Bp/C,KAAKmM,QAQT3J,QAAS,WAELhB,EAAOqF,WAAWsV,OAAOnc,QAKjCwB,EAAOgwB,MAAMysB,MAAM37C,UAAUC,YAAcf,EAAOgwB,MAAMysB,MAmBxDz8C,EAAOwuC,KAYHC,UAAW,SAAUiZ,EAAS9yB,GAE1BA,EAAQA,GAAS,IAAI50B,EAAOX,MAE5B,IAAIgsI,EAAM3jF,EAAQw8E,wBAEdX,EAAYvjI,EAAOwuC,IAAI88F,QACvBC,EAAavrI,EAAOwuC,IAAIg9F,QACxBC,EAAY58F,SAASu4D,gBAAgBqkC,UACrCC,EAAa78F,SAASu4D,gBAAgBskC,WAK1C,OAHA92G,EAAMryB,EAAI8oI,EAAIl5G,KAAOo5G,EAAaG,EAClC92G,EAAMpyB,EAAI6oI,EAAIx2G,IAAM0uG,EAAYkI,EAEzB72G,GAgBXlsB,UAAW,SAAUg/C,EAASikF,GAM1B,YAJgB5mI,IAAZ4mI,IAAyBA,EAAU,OAEvCjkF,EAAUA,IAAYA,EAAQr1B,SAAWq1B,EAAQ,GAAKA,IAEjB,IAArBA,EAAQr1B,WAMb7zB,KAAKotI,UAAUlkF,EAAQw8E,wBAAyByH,IAa/DC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,EAEtB,IAAIz3G,GAAW93B,MAAO,EAAGC,OAAQ,EAAG81B,KAAM,EAAGD,MAAO,EAAG2C,IAAK,EAAGC,OAAQ,GAKvE,OAHAZ,EAAO93B,OAAS83B,EAAOhC,MAAQ25G,EAAO35G,MAAQy5G,IAAYz3G,EAAO/B,KAAO05G,EAAO15G,KAAOw5G,GACtFz3G,EAAO73B,QAAU63B,EAAOY,OAAS+2G,EAAO/2G,OAAS62G,IAAYz3G,EAAOW,IAAMg3G,EAAOh3G,IAAM82G,GAEhFz3G,GAUX43G,eAAgB,SAAU7zF,GAItB,IAAIpkC,GAFJokC,EAAmB,MAAVA,EAAiBz5C,KAAKkjI,aAAmC,IAApBzpF,EAAO5lB,SAAiB7zB,KAAKkK,UAAUuvC,GAAUA,GAEhF77C,MACX2mB,EAAIk1B,EAAO57C,OAYf,MAViB,mBAANwX,IAEPA,EAAIA,EAAE7Q,KAAKi1C,IAGE,mBAANl1B,IAEPA,EAAIA,EAAE/f,KAAKi1C,IAGRpkC,EAAIkP,GAgBfgpH,iBAAkB,SAAUrkF,EAASikF,GAEjC,IAAIjpI,EAAIlE,KAAKkK,UAAUg/C,EAASikF,GAEhC,QAASjpI,GAAKA,EAAEoyB,QAAU,GAAKpyB,EAAEwvB,OAAS,GAAKxvB,EAAEmyB,KAAOr2B,KAAKwlI,aAAa5nI,OAASsG,EAAEyvB,MAAQ3zB,KAAKwlI,aAAa3nI,QA4BnHohI,qBAAsB,SAAUuO,GAE5B,IAAIC,EAASr9H,OAAOq9H,OAChBjJ,EAAciJ,EAAOjJ,aAAeiJ,EAAOC,gBAAkBD,EAAOE,cAExE,GAAInJ,GAA2C,iBAArBA,EAAYhxH,KAGlC,OAAOgxH,EAAYhxH,KAElB,GAA2B,iBAAhBgxH,EAGZ,OAAOA,EAGX,IAAIr2G,EAAW,mBACXD,EAAY,oBAEhB,GAAwB,WAApBs/G,EAEA,OAAQC,EAAO5vI,OAAS4vI,EAAO7vI,MAASuwB,EAAWD,EAElD,GAAwB,aAApBs/G,EAEL,OAAQxtI,KAAKkjI,aAAarlI,OAASmC,KAAKkjI,aAAatlI,MAASuwB,EAAWD,EAExE,GAAwB,uBAApBs/G,GAA0E,iBAAvBp9H,OAAOo0H,YAG/D,OAA+B,IAAvBp0H,OAAOo0H,aAA4C,MAAvBp0H,OAAOo0H,YAAuBr2G,EAAWD,EAE5E,GAAI9d,OAAOw9H,WAChB,CACI,GAAIx9H,OAAOw9H,WAAW,2BAA2BtkC,QAE7C,OAAOn7E,EAEN,GAAI/d,OAAOw9H,WAAW,4BAA4BtkC,QAEnD,OAAOp7E,EAIf,OAAQluB,KAAKkjI,aAAarlI,OAASmC,KAAKkjI,aAAatlI,MAASuwB,EAAWD,GAoB7Eg1G,aAAc,IAAI1hI,EAAOS,UAqBzBujI,aAAc,IAAIhkI,EAAOS,UAczB4rI,eAAgB,IAAIrsI,EAAOS,WAI/BT,EAAOm6C,OAAOwB,UAAU,SAAUlzB,GAG9B,IAAI+iH,EAAU58H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO09H,aAC5B,WAAc,OAAOz9F,SAASu4D,gBAAgBmkC,YAE9CD,EAAU18H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO29H,aAC5B,WAAc,OAAO19F,SAASu4D,gBAAgBm8B,WAuClD,GA7BA/9H,OAAOyF,eAAejL,EAAOwuC,IAAK,WAAY9oC,IAAK8lI,IAUnDhmI,OAAOyF,eAAejL,EAAOwuC,IAAK,WAAY9oC,IAAK4lI,IAEnD9lI,OAAOyF,eAAejL,EAAOwuC,IAAIkzF,aAAc,KAAMh8H,IAAK8lI,IAE1DhmI,OAAOyF,eAAejL,EAAOwuC,IAAIkzF,aAAc,KAAMh8H,IAAK4lI,IAE1D9lI,OAAOyF,eAAejL,EAAOwuC,IAAIw1F,aAAc,KAAMp+H,MAAO,IAE5DJ,OAAOyF,eAAejL,EAAOwuC,IAAIw1F,aAAc,KAAMp+H,MAAO,IAEvC6iB,EAAO61E,SACvBzvD,SAASu4D,gBAAgBolC,aAAe59H,OAAOgjB,YAC/Cid,SAASu4D,gBAAgBqlC,cAAgB79H,OAAOijB,YAQrD,CAKI,IAAI26G,EAAc,WAEd,OAAOtqI,KAAKuC,IAAImK,OAAOgjB,WAAYid,SAASu4D,gBAAgBolC,cAE5DC,EAAe,WAEf,OAAOvqI,KAAKuC,IAAImK,OAAOijB,YAAagd,SAASu4D,gBAAgBqlC,eAIjEjnI,OAAOyF,eAAejL,EAAOwuC,IAAIkzF,aAAc,SAAUh8H,IAAK8mI,IAE9DhnI,OAAOyF,eAAejL,EAAOwuC,IAAIkzF,aAAc,UAAWh8H,IAAK+mI,IAE/DjnI,OAAOyF,eAAejL,EAAOwuC,IAAIw1F,aAAc,SAAUt+H,IAAK8mI,IAE9DhnI,OAAOyF,eAAejL,EAAOwuC,IAAIw1F,aAAc,UAAWt+H,IAAK+mI,SAI/DjnI,OAAOyF,eAAejL,EAAOwuC,IAAIkzF,aAAc,SAC3Ch8H,IAAK,WAED,OAAOkJ,OAAOgjB,cAItBpsB,OAAOyF,eAAejL,EAAOwuC,IAAIkzF,aAAc,UAC3Ch8H,IAAK,WAED,OAAOkJ,OAAOijB,eAItBrsB,OAAOyF,eAAejL,EAAOwuC,IAAIw1F,aAAc,SAE3Ct+H,IAAK,WAED,IAAIhE,EAAImtC,SAASu4D,gBAAgBolC,YAC7B7qI,EAAIiN,OAAOgjB,WAEf,OAAOlwB,EAAIC,EAAIA,EAAID,KAK3B8D,OAAOyF,eAAejL,EAAOwuC,IAAIw1F,aAAc,UAE3Ct+H,IAAK,WAED,IAAIhE,EAAImtC,SAASu4D,gBAAgBqlC,aAC7B9qI,EAAIiN,OAAOijB,YAEf,OAAOnwB,EAAIC,EAAIA,EAAID,KAW/B8D,OAAOyF,eAAejL,EAAOwuC,IAAI69F,eAAgB,KAAMzmI,MAAO,IAE9DJ,OAAOyF,eAAejL,EAAOwuC,IAAI69F,eAAgB,KAAMzmI,MAAO,IAE9DJ,OAAOyF,eAAejL,EAAOwuC,IAAI69F,eAAgB,SAE7C3mI,IAAK,WAED,IAAI7D,EAAIgtC,SAASu4D,gBACjB,OAAOllG,KAAKuC,IAAI5C,EAAE2qI,YAAa3qI,EAAE6qI,YAAa7qI,EAAE8qI,gBAKxDnnI,OAAOyF,eAAejL,EAAOwuC,IAAI69F,eAAgB,UAE7C3mI,IAAK,WAED,IAAI7D,EAAIgtC,SAASu4D,gBACjB,OAAOllG,KAAKuC,IAAI5C,EAAE4qI,aAAc5qI,EAAE+qI,aAAc/qI,EAAEgrI,kBAI3D,MAAM,GAoBT7sI,EAAO62C,SAAW,SAAU6B,GAOxBl6C,KAAKY,SAAW,EAMhBZ,KAAKk6C,KAAOA,OAGhB14C,EAAO62C,SAAS/1C,WAUZ22B,IAAK,SAAU3xB,GAOX,OALKtH,KAAKkN,OAAO5F,IAEbtH,KAAKk6C,KAAKpyC,KAAKR,GAGZA,GAUXuuC,SAAU,SAAUvuC,GAEhB,OAAOtH,KAAKk6C,KAAK7wC,QAAQ/B,IAY7BgnI,SAAU,SAAUt3F,EAAU5vC,GAI1B,IAFA,IAAI1E,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEH,GAAI1C,KAAKk6C,KAAKx3C,GAAGs0C,KAAc5vC,EAE3B,OAAOpH,KAAKk6C,KAAKx3C,GAIzB,OAAO,MAUXwK,OAAQ,SAAU5F,GAEd,OAAQtH,KAAKk6C,KAAK7wC,QAAQ/B,IAAS,GAQvC8+B,MAAO,WAEHpmC,KAAKk6C,KAAKv3C,OAAS,GAUvBwZ,OAAQ,SAAU7U,GAEd,IAAIqvF,EAAM32F,KAAKk6C,KAAK7wC,QAAQ/B,GAE5B,GAAIqvF,GAAO,EAGP,OADA32F,KAAKk6C,KAAKpxC,OAAO6tF,EAAK,GACfrvF,GAWfqvC,OAAQ,SAAU3jC,EAAK5L,GAInB,IAFA,IAAI1E,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEC1C,KAAKk6C,KAAKx3C,KAEV1C,KAAKk6C,KAAKx3C,GAAGsQ,GAAO5L,IAehC2wC,QAAS,SAAU/kC,GAMf,IAJA,IAAImd,EAAO1oB,MAAMnF,UAAU0tB,MAAMxrB,KAAK8rB,UAAW,GAE7C5tB,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEC1C,KAAKk6C,KAAKx3C,IAAM1C,KAAKk6C,KAAKx3C,GAAGsQ,IAE7BhT,KAAKk6C,KAAKx3C,GAAGsQ,GAAKzN,MAAMvF,KAAKk6C,KAAKx3C,GAAIytB,IAWlD8Z,UAAW,SAAUznC,QAED+D,IAAZ/D,IAAyBA,GAAU,GAIvC,IAFA,IAAIE,EAAI1C,KAAKk6C,KAAKv3C,OAEXD,KAEH,GAAI1C,KAAKk6C,KAAKx3C,GACd,CACI,IAAI4E,EAAOtH,KAAKmc,OAAOnc,KAAKk6C,KAAKx3C,IAE7BF,GAEA8E,EAAK9E,UAKjBxC,KAAKY,SAAW,EAChBZ,KAAKk6C,UAWblzC,OAAOyF,eAAejL,EAAO62C,SAAS/1C,UAAW,SAE7C4E,IAAK,WAED,OAAOlH,KAAKk6C,KAAKv3C,UAWzBqE,OAAOyF,eAAejL,EAAO62C,SAAS/1C,UAAW,SAE7C4E,IAAK,WAID,OAFAlH,KAAKY,SAAW,EAEZZ,KAAKk6C,KAAKv3C,OAAS,EAEZ3C,KAAKk6C,KAAK,GAIV,QAYnBlzC,OAAOyF,eAAejL,EAAO62C,SAAS/1C,UAAW,QAE7C4E,IAAK,WAED,OAAIlH,KAAKY,SAAWZ,KAAKk6C,KAAKv3C,QAE1B3C,KAAKY,WAEEZ,KAAKk6C,KAAKl6C,KAAKY,WAIf,QAMnBY,EAAO62C,SAAS/1C,UAAUC,YAAcf,EAAO62C,SAc/C72C,EAAOu4C,YAcHC,cAAe,SAAU81D,EAASpqF,EAAY/iB,GAE1C,GAAgB,OAAZmtG,EAAoB,OAAO,UACZvpG,IAAfmf,IAA4BA,EAAa,QAC9Bnf,IAAX5D,IAAwBA,EAASmtG,EAAQntG,QAE7C,IAAI4rI,EAAc7oH,EAAahiB,KAAKmsB,MAAMnsB,KAAKivB,SAAWhwB,GAE1D,YAAgC4D,IAAzBupG,EAAQy+B,GAA6B,KAAOz+B,EAAQy+B,IAe/DC,iBAAkB,SAAU1+B,EAASpqF,EAAY/iB,GAE7C,GAAe,MAAXmtG,EAEA,OAAO,UAGQvpG,IAAfmf,IAA4BA,EAAa,QAC9Bnf,IAAX5D,IAAwBA,EAASmtG,EAAQntG,QAE7C,IAAI4rI,EAAc7oH,EAAahiB,KAAKmsB,MAAMnsB,KAAKivB,SAAWhwB,GAC1D,GAAI4rI,EAAcz+B,EAAQntG,OAC1B,CACI,IAAIqH,EAAU8lG,EAAQhnG,OAAOylI,EAAa,GAC1C,YAAsBhoI,IAAfyD,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,OAAO,MAoBfmS,OAAQ,SAAUuf,EAAOhW,EAAYnH,GAEjC,IAAI5b,EAAS+4B,EAAM/4B,OAEnB,KAAI+iB,GAAc/iB,GAAoB,IAAV4b,GAA5B,CAEa,MAATA,IAAiBA,EAAQ,GAI7B,IAAK,IAFDkwH,EAAY9rI,EAAS4b,EAEhB7b,EAAIgjB,EAAYhjB,EAAI+rI,IAAa/rI,EAEtCg5B,EAAMh5B,GAAKg5B,EAAMh5B,EAAI6b,GAGzBmd,EAAM/4B,OAAS8rI,IAUnB9zF,QAAS,SAAUjf,GAEf,IAAK,IAAIh5B,EAAIg5B,EAAM/4B,OAAS,EAAGD,EAAI,EAAGA,IACtC,CACI,IAAImF,EAAInE,KAAKmsB,MAAMnsB,KAAKivB,UAAYjwB,EAAI,IACpCiL,EAAO+tB,EAAMh5B,GACjBg5B,EAAMh5B,GAAKg5B,EAAM7zB,GACjB6zB,EAAM7zB,GAAK8F,EAGf,OAAO+tB,GAUXgzG,gBAAiB,SAAUhzG,GAOvB,IAAK,IALDizG,EAAiBjzG,EAAM/4B,OACvBisI,EAAiBlzG,EAAM,GAAG/4B,OAE1Bi2B,EAAS,IAAInxB,MAAMmnI,GAEdlsI,EAAI,EAAGA,EAAIksI,EAAgBlsI,IACpC,CACIk2B,EAAOl2B,GAAK,IAAI+E,MAAMknI,GAEtB,IAAK,IAAI9mI,EAAI8mI,EAAiB,EAAG9mI,GAAK,EAAGA,IAErC+wB,EAAOl2B,GAAGmF,GAAK6zB,EAAM7zB,GAAGnF,GAIhC,OAAOk2B,GAaXi2G,aAAc,SAAUnhI,EAAQi3B,GAO5B,GALyB,iBAAdA,IAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,IAAmC,MAAfA,GAAoC,eAAdA,EAG1Cj3B,GADAA,EAASlM,EAAOu4C,WAAW20F,gBAAgBhhI,IAC3B4Q,eAEf,IAAmB,KAAfqmB,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/Cj3B,EAASA,EAAO4Q,UAChB5Q,EAASlM,EAAOu4C,WAAW20F,gBAAgBhhI,QAE1C,GAA4B,MAAxBhK,KAAKizB,IAAIgO,IAAoC,cAAdA,EACxC,CACI,IAAK,IAAIjiC,EAAI,EAAGA,EAAIgL,EAAO/K,OAAQD,IAE/BgL,EAAOhL,GAAG4b,UAGd5Q,EAASA,EAAO4Q,UAGpB,OAAO5Q,GAYXohI,YAAa,SAAU1nI,EAAO2nI,GAE1B,IAAKA,EAAIpsI,OAEL,OAAOqsI,IAEN,GAAmB,IAAfD,EAAIpsI,QAAgByE,EAAQ2nI,EAAI,GAErC,OAAOA,EAAI,GAIf,IADA,IAAIrsI,EAAI,EACDqsI,EAAIrsI,GAAK0E,GAEZ1E,IAGJ,IAAIusI,EAAMF,EAAIrsI,EAAI,GACdwsI,EAAQxsI,EAAIqsI,EAAIpsI,OAAUosI,EAAIrsI,GAAKm9B,OAAO8B,kBAE9C,OAASutG,EAAO9nI,GAAWA,EAAQ6nI,EAAQC,EAAOD,GAgBtDE,YAAa,SAAUzzG,GAEnB,IAAIr3B,EAAIq3B,EAAM9a,MAGd,OAFA8a,EAAMkuD,QAAQvlF,GAEPA,GAgBX+qI,WAAY,SAAU1zG,GAElB,IAAIr3B,EAAIq3B,EAAMmzB,QAGd,OAFAnzB,EAAM5zB,KAAKzD,GAEJA,GAsBXgrI,YAAa,SAAU/iI,EAAO+O,QAEd9U,IAAR8U,GAA6B,OAARA,IAErBA,EAAM/O,EACNA,EAAQ,GAKZ,IAAK,IAFDssB,KAEKl2B,EAAI4J,EAAO5J,GAAK2Y,EAAK3Y,IAE1Bk2B,EAAO9wB,KAAKpF,GAGhB,OAAOk2B,GAoCX02G,gBAAiB,SAAUhjI,EAAO+O,EAAKilC,QAErB/5C,IAAV+F,GAAiC,OAAVA,IAAkBA,EAAQ,QAEzC/F,IAAR8U,GAA6B,OAARA,IAErBA,EAAM/O,EACNA,EAAQ,QAGC/F,IAAT+5C,IAAsBA,EAAO,GAKjC,IAAK,IAHD1nB,KACAogB,EAAQt1C,KAAKuC,IAAIzE,EAAOkC,KAAKqqG,mBAAmB1yF,EAAM/O,IAAUg0C,GAAQ,IAAK,GAExE59C,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAEvBk2B,EAAO9wB,KAAKwE,GACZA,GAASg0C,EAGb,OAAO1nB,IAsBfp3B,EAAO+tI,WAAa,WAOhBvvI,KAAKw1C,KAAO,KAOZx1C,KAAKm7E,KAAO,KAOZn7E,KAAK2vD,MAAQ,KAOb3vD,KAAKujF,KAAO,KAOZvjF,KAAKg5C,MAAQ,GAGjBx3C,EAAO+tI,WAAWjtI,WASd22B,IAAK,SAAU3xB,GAGX,OAAmB,IAAftH,KAAKg5C,OAA8B,OAAfh5C,KAAK2vD,OAAgC,OAAd3vD,KAAKujF,MAEhDvjF,KAAK2vD,MAAQroD,EACbtH,KAAKujF,KAAOj8E,EACZtH,KAAKw1C,KAAOluC,EACZA,EAAK6zE,KAAOn7E,KACZA,KAAKg5C,QACE1xC,IAIXtH,KAAKujF,KAAK/tC,KAAOluC,EAEjBA,EAAK6zE,KAAOn7E,KAAKujF,KAEjBvjF,KAAKujF,KAAOj8E,EAEZtH,KAAKg5C,QAEE1xC,IAQX8+B,MAAO,WAEHpmC,KAAK2vD,MAAQ,KACb3vD,KAAKujF,KAAO,KACZvjF,KAAKw1C,KAAO,KACZx1C,KAAKm7E,KAAO,KACZn7E,KAAKg5C,MAAQ,GASjB78B,OAAQ,SAAU7U,GAEd,GAAmB,IAAftH,KAAKg5C,MAIL,OAFAh5C,KAAKomC,aACL9+B,EAAKkuC,KAAOluC,EAAK6zE,KAAO,MAIxB7zE,IAAStH,KAAK2vD,MAGd3vD,KAAK2vD,MAAQ3vD,KAAK2vD,MAAMna,KAEnBluC,IAAStH,KAAKujF,OAGnBvjF,KAAKujF,KAAOvjF,KAAKujF,KAAKpI,MAGtB7zE,EAAK6zE,OAGL7zE,EAAK6zE,KAAK3lC,KAAOluC,EAAKkuC,MAGtBluC,EAAKkuC,OAGLluC,EAAKkuC,KAAK2lC,KAAO7zE,EAAK6zE,MAG1B7zE,EAAKkuC,KAAOluC,EAAK6zE,KAAO,KAEL,OAAfn7E,KAAK2vD,QAEL3vD,KAAKujF,KAAO,MAGhBvjF,KAAKg5C,SAUTjB,QAAS,SAAU/C,GAEf,GAAKh1C,KAAK2vD,OAAU3vD,KAAKujF,KAAzB,CAKA,IAAIisD,EAASxvI,KAAK2vD,MAElB,GAEQ6/E,GAAUA,EAAOx6F,IAEjBw6F,EAAOx6F,GAAUxwC,KAAKgrI,GAG1BA,EAASA,EAAOh6F,WAEbg6F,IAAWxvI,KAAKujF,KAAK/tC,SAKpCh0C,EAAO+tI,WAAWjtI,UAAUC,YAAcf,EAAO+tI,WAmBjD/tI,EAAOu8C,OAAS,SAAUh7C,GAKtB/C,KAAK+C,KAAOA,EAKZ/C,KAAKooI,IAAM,KAKXpoI,KAAKkX,OAAS,KAKdlX,KAAKq6E,IAAM,KAKXr6E,KAAKyvI,WACCC,EAAG,OAAQxG,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW/qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW70C,EAAG,YAC/Mk/G,EAAG,OAAQxG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW/qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW70C,EAAG,YAClNk/G,EAAG,OAAQxG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW/qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW70C,EAAG,SAClNk/G,EAAG,OAAQxG,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW/qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW70C,EAAG,YAC/Mk/G,EAAG,OAAQxG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWsG,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW/qE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW70C,EAAG,UAS5NhvB,EAAOu8C,OAAOiyF,aAAe,EAO7BxuI,EAAOu8C,OAAOkyF,YAAc,EAO5BzuI,EAAOu8C,OAAOmyF,YAAc,EAO5B1uI,EAAOu8C,OAAOoyF,YAAc,EAO5B3uI,EAAOu8C,OAAOqyF,yBAA2B,EAEzC5uI,EAAOu8C,OAAOz7C,WAsCVvE,QAAS,SAAUiV,EAAKoB,EAAM84G,EAAYC,EAAaC,EAASzoH,EAAiBqwC,EAAU1L,QAEpE/iC,IAAf2mH,IAA4BA,EAAa,QACzB3mH,IAAhB4mH,IAA6BA,EAAcD,QAC/B3mH,IAAZ6mH,IAAyBA,EAAU,QACf7mH,IAApB5B,IAAiCA,GAAkB,GAEvD,IAAI0Q,EAAIjB,EAAK,GAAGzR,OAASuqH,EACrB3oG,EAAInQ,EAAKzR,OAASwqH,EAGL,OAAbntH,KAAKooI,MAELpoI,KAAKooI,IAAMpoI,KAAK+C,KAAKwjC,KAAKowC,aAC1B32E,KAAKkX,OAASlX,KAAKooI,IAAIlxH,OACvBlX,KAAKq6E,IAAMr6E,KAAKooI,IAAIt6H,SAGxB9N,KAAKooI,IAAIjiI,OAAOkP,EAAGkP,GACnBvkB,KAAKooI,IAAIxtH,QAGT,IAAK,IAAI5W,EAAI,EAAGA,EAAIoQ,EAAKzR,OAAQqB,IAI7B,IAAK,IAFDm8G,EAAM/rG,EAAKpQ,GAEND,EAAI,EAAGA,EAAIo8G,EAAIx9G,OAAQoB,IAChC,CACI,IAAIV,EAAI88G,EAAIp8G,GAEF,MAANV,GAAmB,MAANA,IAEbrD,KAAKq6E,IAAI1xD,UAAY3oB,KAAKyvI,SAASriB,GAAS/pH,GAC5CrD,KAAKq6E,IAAIvxD,SAAS/kB,EAAImpH,EAAYlpH,EAAImpH,EAAaD,EAAYC,IAK3E,OAAOxoH,EACH3E,KAAKooI,IAAIzjI,gBAAgBqO,EAAKgiC,EAAU1L,GACxCtpC,KAAKg0B,QAoBbskC,KAAM,SAAUtlD,EAAKpV,EAAOC,EAAQu3C,EAAWC,EAAYh/B,EAAO1R,EAAiBqwC,EAAU1L,QAEjE/iC,IAApB5B,IAAiCA,GAAkB,GAGtC,OAAb3E,KAAKooI,MAELpoI,KAAKooI,IAAMpoI,KAAK+C,KAAKwjC,KAAKowC,aAC1B32E,KAAKkX,OAASlX,KAAKooI,IAAIlxH,OACvBlX,KAAKq6E,IAAMr6E,KAAKooI,IAAIt6H,SAGxB9N,KAAKooI,IAAIjiI,OAAOvI,EAAOC,GAEvBmC,KAAKq6E,IAAI1xD,UAAYtS,EAErB,IAAK,IAAIrS,EAAI,EAAGA,EAAInG,EAAQmG,GAAKqxC,EAE7Br1C,KAAKq6E,IAAIvxD,SAAS,EAAG9kB,EAAGpG,EAAO,GAGnC,IAAK,IAAImG,EAAI,EAAGA,EAAInG,EAAOmG,GAAKqxC,EAE5Bp1C,KAAKq6E,IAAIvxD,SAAS/kB,EAAG,EAAG,EAAGlG,GAG/B,OAAO8G,EACH3E,KAAKooI,IAAIzjI,gBAAgBqO,EAAKgiC,EAAU1L,GACxCtpC,KAAKg0B,QAebA,KAAM,SAAUuB,EAAMxxB,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAW+5B,GAMlD,OAJY,MAARzM,IAAgBA,EAAOv1B,KAAK+C,KAAKwjC,KAAKowC,cAE1CphD,EAAKpvB,OAAOnG,KAAKooI,IAAIxqI,MAAOoC,KAAKooI,IAAIvqI,QAE9B03B,EAAKqmD,KAAK57E,KAAKooI,IAAKrkI,EAAGC,EAAGpG,EAAOC,EAAQoK,EAAW+5B,KAKnExgC,EAAOu8C,OAAOz7C,UAAUC,YAAcf,EAAOu8C,OAsB7Cv8C,EAAO8gI,SAAW,SAAUrsB,EAASr4G,EAAOC,GAKxCmC,KAAK+C,KAAOkzG,EAAQlzG,KAKpB/C,KAAKi2G,QAAUA,EAGfj2G,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKqwI,aAAe,IAAI7uI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACtDmC,KAAKu4D,YAAc,IAAI/2D,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACrDmC,KAAKswI,WAAa,IAAI9uI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACpDmC,KAAKuwI,WAAa,IAAI/uI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GAMpDmC,KAAKwwI,eAAiB,IAAIhvI,EAAOX,MAAM,EAAG,GAC1Cb,KAAKywI,cAAgB,IAAIjvI,EAAOX,MAAM,EAAG,GACzCb,KAAK0wI,aAAe,IAAIlvI,EAAOX,MAAM,EAAG,GACxCb,KAAK2wI,aAAe,IAAInvI,EAAOX,MAAM,EAAG,GAMxCb,KAAK4wI,YAAc,IAAIpvI,EAAOX,MAAM,EAAG,GACvCb,KAAK6wI,WAAa,IAAIrvI,EAAOX,MAAM,EAAG,GACtCb,KAAKw4D,mBAAqB,IAAIh3D,EAAOX,MAAM,EAAG,GAC9Cb,KAAK8wI,UAAY,IAAItvI,EAAOX,MAAM,EAAG,GACrCb,KAAK+wI,UAAY,IAAIvvI,EAAOX,MAAM,EAAG,GAErCb,KAAKgxI,YAAc,EACnBhxI,KAAKixI,aAAe,EACpBjxI,KAAKkxI,cAAgB,EACrBlxI,KAAKmxI,cAAgB,EAErBnxI,KAAKoxI,OAASxzI,EAAQC,EACtBmC,KAAKqxI,OAASxzI,EAASD,EAEvBoC,KAAK2mI,WAAa,EAElB3mI,KAAKghH,WAGTx/G,EAAO8gI,SAAShgI,WASZ6jC,QAAS,SAAUvoC,EAAOC,GAGtBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKoxI,OAASxzI,EAAQC,EACtBmC,KAAKqxI,OAASxzI,EAASD,EAEvBoC,KAAK+wI,UAAY,IAAIvvI,EAAOX,MAAM,EAAG,GAErCb,KAAKuwI,WAAW3yI,MAAQoC,KAAKpC,MAC7BoC,KAAKuwI,WAAW1yI,OAASmC,KAAKnC,OAE9BmC,KAAKwpB,WAcT8nH,kBAAmB,SAAU1zI,EAAOC,EAAQ4E,EAAU+rC,QAE/BjoC,IAAfioC,IAA4BA,GAAa,GAE7CxuC,KAAKgxI,YAAcpzI,EACnBoC,KAAKixI,aAAepzI,EAEpBmC,KAAKqwI,aAAazyI,MAAQA,EAC1BoC,KAAKqwI,aAAaxyI,OAASA,EAE3B,IAAI0zI,EAAQ,IAAI/vI,EAAOgwI,UAAUxxI,KAAMA,KAAKwwI,eAAgBxwI,KAAKqwI,aAAcrwI,KAAK4wI,aAcpF,OAZIpiG,GAEAxuC,KAAK+C,KAAKE,MAAMg2B,IAAIs4G,GAGxBvxI,KAAKghH,OAAOl5G,KAAKypI,GAEb9uI,GAEA8uI,EAAM58F,YAAYlyC,GAGf8uI,GAUXE,iBAAkB,SAAUhvI,EAAU+rC,QAEfjoC,IAAfioC,IAA4BA,GAAa,GAE7C,IAAI+iG,EAAQ,IAAI/vI,EAAOgwI,UAAUxxI,KAAMA,KAAKywI,cAAezwI,KAAKu4D,YAAav4D,KAAK6wI,YAclF,OAZIriG,GAEAxuC,KAAK+C,KAAKE,MAAMg2B,IAAIs4G,GAGxBvxI,KAAKghH,OAAOl5G,KAAKypI,GAEb9uI,GAEA8uI,EAAM58F,YAAYlyC,GAGf8uI,GAUXG,gBAAiB,SAAUjvI,GAEvB,IAAI8uI,EAAQ,IAAI/vI,EAAOgwI,UAAUxxI,KAAMA,KAAK0wI,aAAc1wI,KAAKswI,WAAYtwI,KAAK6wI,YAWhF,OATA7wI,KAAK+C,KAAKE,MAAMg2B,IAAIs4G,GAEpBvxI,KAAKghH,OAAOl5G,KAAKypI,QAEO,IAAb9uI,GAEP8uI,EAAM58F,YAAYlyC,GAGf8uI,GAUXI,iBAAkB,SAAUlvI,GAExB,IAAI8uI,EAAQ,IAAI/vI,EAAOgwI,UAAUxxI,KAAMA,KAAK2wI,aAAc3wI,KAAKuwI,WAAYvwI,KAAK+wI,WAWhF,OATA/wI,KAAK+C,KAAKE,MAAMg2B,IAAIs4G,GAEpBvxI,KAAKghH,OAAOl5G,KAAKypI,QAEO,IAAb9uI,GAEP8uI,EAAM58F,YAAYlyC,GAGf8uI,GAQXnrG,MAAO,WAIH,IAFA,IAAI1jC,EAAI1C,KAAKghH,OAAOr+G,OAEbD,KAEE1C,KAAKghH,OAAOt+G,GAAGkvI,UAGhB5xI,KAAKghH,OAAOt+G,GAAG9B,SAAW,KAC1BZ,KAAKghH,OAAOt+G,GAAG5B,MAAQ,KACvBd,KAAKghH,OAAOhxF,MAAMttB,EAAG,KAYjC49H,SAAU,SAAU1iI,EAAOC,GAEvBmC,KAAKoxI,OAASxzI,EAAQC,EACtBmC,KAAKqxI,OAASxzI,EAASD,EAEvBoC,KAAKwpB,QAAQ5rB,EAAOC,IAQxB2rB,QAAS,WAELxpB,KAAK2mI,WAAajjI,KAAK41B,IAAKt5B,KAAKi2G,QAAQp4G,OAASmC,KAAKnC,OAAUmC,KAAKi2G,QAAQr4G,MAAQoC,KAAKpC,OAE3FoC,KAAKu4D,YAAY36D,MAAQ8F,KAAK+xB,MAAMz1B,KAAKpC,MAAQoC,KAAK2mI,YACtD3mI,KAAKu4D,YAAY16D,OAAS6F,KAAK+xB,MAAMz1B,KAAKnC,OAASmC,KAAK2mI,YAExD3mI,KAAK6wI,WAAW1pI,IAAInH,KAAKu4D,YAAY36D,MAAQoC,KAAKpC,MAAOoC,KAAKu4D,YAAY16D,OAASmC,KAAKnC,QACxFmC,KAAKw4D,mBAAmBrxD,IAAInH,KAAKpC,MAAQoC,KAAKu4D,YAAY36D,MAAOoC,KAAKnC,OAASmC,KAAKu4D,YAAY16D,QAEhGmC,KAAK8wI,UAAU3pI,IAAInH,KAAKswI,WAAW1yI,MAAQoC,KAAKpC,MAAOoC,KAAKswI,WAAWzyI,OAASmC,KAAKnC,QAErFmC,KAAKswI,WAAW1yI,MAAQ8F,KAAK+xB,MAAMz1B,KAAKi2G,QAAQr4G,MAAQoC,KAAKw4D,mBAAmBz0D,GAChF/D,KAAKswI,WAAWzyI,OAAS6F,KAAK+xB,MAAMz1B,KAAKi2G,QAAQp4G,OAASmC,KAAKw4D,mBAAmBx0D,GAElFhE,KAAKu4D,YAAYv/B,SAASh5B,KAAKi2G,QAAQnxG,OAAO+yB,QAAS73B,KAAKi2G,QAAQnxG,OAAOgzB,SAC3E93B,KAAKuwI,WAAWv3G,SAASh5B,KAAKi2G,QAAQnxG,OAAO+yB,QAAS73B,KAAKi2G,QAAQnxG,OAAOgzB,SAE1E93B,KAAKywI,cAActpI,IAAInH,KAAKu4D,YAAYx0D,EAAG/D,KAAKu4D,YAAYv0D,GAC5DhE,KAAK2wI,aAAaxpI,IAAInH,KAAKuwI,WAAWxsI,EAAG/D,KAAKuwI,WAAWvsI,IAS7D6tI,UAAW,SAAUvuH,GAEjBtjB,KAAKi2G,QAAQwxB,YAAYnkH,GAEzBA,EAAOvf,EAAI/D,KAAKi2G,QAAQnxG,OAAO+yB,QAC/BvU,EAAOtf,EAAIhE,KAAKi2G,QAAQnxG,OAAOgzB,SAQnCoS,MAAO,WAcHlqC,KAAK+C,KAAKmnC,MAAM0qC,KAAK50E,KAAKu4D,YAAY36D,MAAQ,MAAQoC,KAAKu4D,YAAY16D,OAAQmC,KAAKu4D,YAAYx0D,EAAI,EAAG/D,KAAKu4D,YAAYv0D,EAAI,IAC5HhE,KAAK+C,KAAKmnC,MAAM0/F,KAAK5pI,KAAKu4D,YAAa,oBAAoB,KAenE/2D,EAAO8gI,SAAShgI,UAAUC,YAAcf,EAAO8gI,SAuB/C9gI,EAAOgwI,UAAY,SAAUv7B,EAASr1G,EAAUkE,EAAQhE,GAEpDU,EAAO8wC,MAAM9tC,KAAKxE,KAAMi2G,EAAQlzG,KAAM,KAAM,cAAgBkzG,EAAQlzG,KAAK2iC,IAAI6wC,QAAQ,GAKrFv2E,KAAKi2G,QAAUA,EAAQA,QAKvBj2G,KAAKs4D,KAAO29C,EAOZj2G,KAAK4xI,SAAU,EAKf5xI,KAAKY,SAAWA,EAKhBZ,KAAK8E,OAASA,EAKd9E,KAAKc,MAAQA,EAKbd,KAAK8xI,QAAUhtI,EAAOgtI,QAKtB9xI,KAAK+xI,UAAY,IAAIvwI,EAAOX,MAAMiE,EAAO8xB,UAAW,GAKpD52B,KAAKgyI,SAAWltI,EAAOktI,SAKvBhyI,KAAKiyI,WAAantI,EAAOmtI,WAKzBjyI,KAAKkyI,aAAe,IAAI1wI,EAAOX,MAAMiE,EAAO8xB,UAAW9xB,EAAOwxB,QAK9Dt2B,KAAKmyI,YAAcrtI,EAAOqtI,aAG9B3wI,EAAOgwI,UAAUlvI,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WACxDd,EAAOgwI,UAAUlvI,UAAUC,YAAcf,EAAOgwI,UAOhDhwI,EAAOgwI,UAAUlvI,UAAU6D,OAAS,aASpC3E,EAAOgwI,UAAUlvI,UAAU4nC,MAAQ,WAE/BlqC,KAAK+C,KAAKmnC,MAAM0qC,KAAK50E,KAAK8E,OAAOlH,MAAQ,MAAQoC,KAAK8E,OAAOjH,OAAQmC,KAAK8E,OAAOf,EAAI,EAAG/D,KAAK8E,OAAOd,EAAI,IACxGhE,KAAK+C,KAAKmnC,MAAM0/F,KAAK5pI,KAAK8E,OAAQ,oBAAoB,GAEtD9E,KAAK+C,KAAKmnC,MAAM0/F,KAAK5pI,KAAK8xI,QAAS,wBACnC9xI,KAAK+C,KAAKmnC,MAAM0/F,KAAK5pI,KAAK+xI,UAAW,wBACrC/xI,KAAK+C,KAAKmnC,MAAM0/F,KAAK5pI,KAAKgyI,SAAU,yBAcxCxwI,EAAO2e,OASHiyH,IAAK,SASLC,OAAQ,SASRC,OAAQ,SASRC,MAAO,MASPC,KAAM,MASNC,KAAM,IASNC,OAAQ,SASRC,MAAO,SASPC,MAAO,EASPC,KAAM,QAeN31D,UAAW,SAAUh5E,EAAGyW,EAAGxX,EAAGD,GAE1B,OAAI1B,EAAOm6C,OAAOkiC,eAEL36E,GAAK,GAAOC,GAAK,GAAOwX,GAAK,EAAKzW,KAAO,GAIzCA,GAAK,GAAOyW,GAAK,GAAOxX,GAAK,EAAKD,KAAO,GAuB1Ds5E,YAAa,SAAU1yD,EAAMmL,EAAKgpD,EAAKC,GAkCnC,YAhCY33E,IAAR0uB,GAA6B,OAARA,IAAgBA,EAAMzzB,EAAO2e,MAAMo8D,oBAChDh2E,IAAR03E,GAA6B,OAARA,IAAgBA,GAAM,QACnC13E,IAAR23E,GAA6B,OAARA,IAAgBA,GAAM,GAE3C18E,EAAOm6C,OAAOkiC,eAEd5oD,EAAI/xB,GAAa,WAAP4mB,KAAuB,GACjCmL,EAAI9xB,GAAa,SAAP2mB,KAAuB,GACjCmL,EAAIta,GAAa,MAAPmP,KAAuB,EACjCmL,EAAI/wB,EAAa,IAAP4lB,IAIVmL,EAAI/wB,GAAa,WAAP4lB,KAAuB,GACjCmL,EAAIta,GAAa,SAAPmP,KAAuB,GACjCmL,EAAI9xB,GAAa,MAAP2mB,KAAuB,EACjCmL,EAAI/xB,EAAa,IAAP4mB,GAGdmL,EAAI5e,MAAQyT,EACZmL,EAAInL,KAAO,QAAUmL,EAAI/wB,EAAI,IAAM+wB,EAAIta,EAAI,IAAMsa,EAAI9xB,EAAI,IAAO8xB,EAAI/xB,EAAI,IAAO,IAE3E+6E,GAEAz8E,EAAO2e,MAAM2yH,SAAS79G,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,EAAG8xB,GAG3CipD,GAEA18E,EAAO2e,MAAM4yH,SAAS99G,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,EAAG8xB,GAGxCA,GAcX+9G,SAAU,SAAUlpH,EAAMmL,GActB,OAZKA,IAEDA,EAAMzzB,EAAO2e,MAAMo8D,eAGvBtnD,EAAI/wB,GAAa,WAAP4lB,KAAuB,GACjCmL,EAAIta,GAAa,SAAPmP,KAAuB,GACjCmL,EAAI9xB,GAAa,MAAP2mB,KAAuB,EACjCmL,EAAI/xB,EAAa,IAAP4mB,EAEVmL,EAAInL,KAAO,QAAUmL,EAAI/wB,EAAI,IAAM+wB,EAAIta,EAAI,IAAMsa,EAAI9xB,EAAI,IAAM8xB,EAAI/xB,EAAI,IAEhE+xB,GAeXg+G,OAAQ,SAAU/uI,EAAGyW,EAAGxX,EAAGD,GAEvB,OAAQgB,GAAK,GAAOyW,GAAK,GAAOxX,GAAK,EAAKD,GAc9CgwI,OAAQ,SAAUhvI,EAAGyW,EAAGxX,EAAGD,GAEvB,OAASA,GAAK,GAAOC,GAAK,GAAOwX,GAAK,EAAKzW,KAAO,GAWtDkc,cAAe,SAAU/J,GAErB,QACKA,GAAS,GAAK,KAAQ,KACtBA,GAAS,EAAI,KAAQ,KACb,IAARA,GAAgB,MAYzB88H,cAAe,SAAUC,GAErB,OAAkB,IAATA,EAAI,IAAY,KAAgB,IAATA,EAAI,IAAY,GAAc,IAATA,EAAI,IAiB7DN,SAAU,SAAU5uI,EAAGyW,EAAGxX,EAAG8xB,GAEpBA,IAEDA,EAAMzzB,EAAO2e,MAAMo8D,YAAYr4E,EAAGyW,EAAGxX,EAAG,IAG5Ce,GAAK,IACLyW,GAAK,IACLxX,GAAK,IAEL,IAAIm2B,EAAM51B,KAAK41B,IAAIp1B,EAAGyW,EAAGxX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGyW,EAAGxX,GAOzB,GAJA8xB,EAAI1Q,EAAI,EACR0Q,EAAI5wB,EAAI,EACR4wB,EAAIgC,GAAKhxB,EAAMqzB,GAAO,EAElBrzB,IAAQqzB,EACZ,CACI,IAAIj2B,EAAI4C,EAAMqzB,EAEdrE,EAAI5wB,EAAI4wB,EAAIgC,EAAI,GAAM5zB,GAAK,EAAI4C,EAAMqzB,GAAOj2B,GAAK4C,EAAMqzB,GAEnDrzB,IAAQ/B,EAER+wB,EAAI1Q,GAAK5J,EAAIxX,GAAKE,GAAKsX,EAAIxX,EAAI,EAAI,GAE9B8C,IAAQ0U,EAEbsa,EAAI1Q,GAAKphB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEb8xB,EAAI1Q,GAAKrgB,EAAIyW,GAAKtX,EAAI,GAG1B4xB,EAAI1Q,GAAK,EAGb,OAAO0Q,GAiBXsoD,SAAU,SAAUh5D,EAAGlgB,EAAG4yB,EAAGhC,GAczB,GAZKA,GAODA,EAAI/wB,EAAI+yB,EACRhC,EAAIta,EAAIsc,EACRhC,EAAI9xB,EAAI8zB,GAPRhC,EAAMzzB,EAAO2e,MAAMo8D,YAAYtlD,EAAGA,EAAGA,GAU/B,IAAN5yB,EACJ,CACI,IAAIyhF,EAAI7uD,EAAI,GAAMA,GAAK,EAAI5yB,GAAK4yB,EAAI5yB,EAAI4yB,EAAI5yB,EACxCrB,EAAI,EAAIi0B,EAAI6uD,EAChB7wD,EAAI/wB,EAAI1C,EAAO2e,MAAMkzH,WAAWrwI,EAAG8iF,EAAGvhE,EAAI,EAAI,GAC9C0Q,EAAIta,EAAInZ,EAAO2e,MAAMkzH,WAAWrwI,EAAG8iF,EAAGvhE,GACtC0Q,EAAI9xB,EAAI3B,EAAO2e,MAAMkzH,WAAWrwI,EAAG8iF,EAAGvhE,EAAI,EAAI,GAelD,OANA0Q,EAAI/wB,EAAIR,KAAKmsB,MAAe,IAARoF,EAAI/wB,EAAU,GAClC+wB,EAAIta,EAAIjX,KAAKmsB,MAAe,IAARoF,EAAIta,EAAU,GAClCsa,EAAI9xB,EAAIO,KAAKmsB,MAAe,IAARoF,EAAI9xB,EAAU,GAElC3B,EAAO2e,MAAM6xB,YAAY/c,GAElBA,GAiBX89G,SAAU,SAAU7uI,EAAGyW,EAAGxX,EAAG8xB,GAEpBA,IAEDA,EAAMzzB,EAAO2e,MAAMo8D,YAAYr4E,EAAGyW,EAAGxX,EAAG,MAG5Ce,GAAK,IACLyW,GAAK,IACLxX,GAAK,IAEL,IAAIm2B,EAAM51B,KAAK41B,IAAIp1B,EAAGyW,EAAGxX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGyW,EAAGxX,GACrBE,EAAI4C,EAAMqzB,EAyBd,OAtBArE,EAAI1Q,EAAI,EACR0Q,EAAI5wB,EAAY,IAAR4B,EAAY,EAAI5C,EAAI4C,EAC5BgvB,EAAI4pB,EAAI54C,EAEJA,IAAQqzB,IAEJrzB,IAAQ/B,EAER+wB,EAAI1Q,GAAK5J,EAAIxX,GAAKE,GAAKsX,EAAIxX,EAAI,EAAI,GAE9B8C,IAAQ0U,EAEbsa,EAAI1Q,GAAKphB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEb8xB,EAAI1Q,GAAKrgB,EAAIyW,GAAKtX,EAAI,GAG1B4xB,EAAI1Q,GAAK,GAGN0Q,GAiBXq+G,SAAU,SAAU/uH,EAAGlgB,EAAGw6C,EAAG5pB,QAEb1uB,IAAR0uB,IAAqBA,EAAMzzB,EAAO2e,MAAMo8D,YAAY,EAAG,EAAG,EAAG,EAAGh4D,EAAGlgB,EAAG,EAAGw6C,IAE7E,IAAI36C,EAAGyW,EAAGxX,EACNT,EAAIgB,KAAKmsB,MAAU,EAAJtL,GACf0O,EAAQ,EAAJ1O,EAAQ7hB,EACZM,EAAI67C,GAAK,EAAIx6C,GACbyhF,EAAIjnC,GAAK,EAAI5rB,EAAI5uB,GACjBwsB,EAAIguB,GAAK,GAAK,EAAI5rB,GAAK5uB,GAE3B,OAAQ3B,EAAI,GAER,KAAK,EACDwB,EAAI26C,EACJlkC,EAAIkW,EACJ1tB,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAI4hF,EACJnrE,EAAIkkC,EACJ17C,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIlB,EACJ2X,EAAIkkC,EACJ17C,EAAI0tB,EACJ,MACJ,KAAK,EACD3sB,EAAIlB,EACJ2X,EAAImrE,EACJ3iF,EAAI07C,EACJ,MACJ,KAAK,EACD36C,EAAI2sB,EACJlW,EAAI3X,EACJG,EAAI07C,EACJ,MACJ,KAAK,EACD36C,EAAI26C,EACJlkC,EAAI3X,EACJG,EAAI2iF,EAUZ,OANA7wD,EAAI/wB,EAAIR,KAAKmsB,MAAU,IAAJ3rB,GACnB+wB,EAAIta,EAAIjX,KAAKmsB,MAAU,IAAJlV,GACnBsa,EAAI9xB,EAAIO,KAAKmsB,MAAU,IAAJ1sB,GAEnB3B,EAAO2e,MAAM6xB,YAAY/c,GAElBA,GAcXo+G,WAAY,SAAUrwI,EAAG8iF,EAAGj1D,GAYxB,OAVIA,EAAI,IAEJA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGLA,EAAI,EAAI,EAED7tB,EAAc,GAAT8iF,EAAI9iF,GAAS6tB,EAGzBA,EAAI,GAEGi1D,EAGPj1D,EAAI,EAAI,EAED7tB,GAAK8iF,EAAI9iF,IAAM,EAAI,EAAI6tB,GAAK,EAGhC7tB,GAsBXu5E,YAAa,SAAUr4E,EAAGyW,EAAGxX,EAAGD,EAAGqhB,EAAGlgB,EAAG4yB,EAAG4nB,GAExC,IAAI5pB,GAAQ/wB,EAAGA,GAAK,EAAGyW,EAAGA,GAAK,EAAGxX,EAAGA,GAAK,EAAGD,EAAGA,GAAK,EAAGqhB,EAAGA,GAAK,EAAGlgB,EAAGA,GAAK,EAAG4yB,EAAGA,GAAK,EAAG4nB,EAAGA,GAAK,EAAGxoC,MAAO,EAAGk9H,QAAS,EAAGzpH,KAAM,IAEhI,OAAOtoB,EAAO2e,MAAM6xB,YAAY/c,IAWpC+c,YAAa,SAAU/c,GAMnB,OAJAA,EAAInL,KAAO,QAAUmL,EAAI/wB,EAAEoqC,UAAY,IAAMrZ,EAAIta,EAAE2zB,UAAY,IAAMrZ,EAAI9xB,EAAEmrC,UAAY,IAAMrZ,EAAI/xB,EAAE0lB,WAAa,IAChHqM,EAAI5e,MAAQ7U,EAAO2e,MAAMqzH,SAASv+G,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,GACpD8xB,EAAIs+G,QAAU/xI,EAAO2e,MAAMszH,WAAmB,IAARx+G,EAAI/xB,EAAS+xB,EAAI/wB,EAAG+wB,EAAIta,EAAGsa,EAAI9xB,GAE9D8xB,GAcXw+G,WAAY,SAAUvwI,EAAGgB,EAAGyW,EAAGxX,GAE3B,OAAOD,GAAK,GAAKgB,GAAK,GAAKyW,GAAK,EAAIxX,GAaxCqwI,SAAU,SAAUtvI,EAAGyW,EAAGxX,GAEtB,OAAOe,GAAK,GAAKyW,GAAK,EAAIxX,GAgB9BuwI,YAAa,SAAUxvI,EAAGyW,EAAGxX,EAAGD,EAAG6mG,GAK/B,YAHUxjG,IAANrD,IAAmBA,EAAI,UACZqD,IAAXwjG,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAO7lG,GAAK,KAAOyW,GAAK,GAAKxX,GAAGylB,SAAS,IAAIoH,MAAM,GAIhE,KAAOxuB,EAAO2e,MAAMwzH,eAAezwI,GAAK1B,EAAO2e,MAAMwzH,eAAezvI,GAAK1C,EAAO2e,MAAMwzH,eAAeh5H,GAAKnZ,EAAO2e,MAAMwzH,eAAexwI,IAYrJywI,SAAU,SAAUC,GAEhB,IAAIT,EAAM5xI,EAAO2e,MAAM2zH,WAAWD,GAElC,GAAIT,EAEA,OAAO5xI,EAAO2e,MAAMszH,WAAWL,EAAIlwI,EAAGkwI,EAAIlvI,EAAGkvI,EAAIz4H,EAAGy4H,EAAIjwI,IAiBhE2wI,WAAY,SAAUD,EAAK5+G,GAGvB4+G,EAAMA,EAAIv/G,QAAQ,0CAA2C,SAAU8C,EAAGlzB,EAAGyW,EAAGxX,GAE5E,OAAOe,EAAIA,EAAIyW,EAAIA,EAAIxX,EAAIA,IAG/B,IAAIy1B,EAAS,mDAAqDk9D,KAAK+9C,GAEvE,GAAIj7G,EACJ,CACI,IAAI10B,EAAIivB,SAASyF,EAAO,GAAI,IACxBje,EAAIwY,SAASyF,EAAO,GAAI,IACxBz1B,EAAIgwB,SAASyF,EAAO,GAAI,IAEvB3D,GAMDA,EAAI/wB,EAAIA,EACR+wB,EAAIta,EAAIA,EACRsa,EAAI9xB,EAAIA,GANR8xB,EAAMzzB,EAAO2e,MAAMo8D,YAAYr4E,EAAGyW,EAAGxX,GAU7C,OAAO8xB,GAcX8+G,WAAY,SAAUC,EAAK/+G,GAElBA,IAEDA,EAAMzzB,EAAO2e,MAAMo8D,eAGvB,IAAI3jD,EAAS,4EAA8Ek9D,KAAKk+C,GAWhG,OATIp7G,IAEA3D,EAAI/wB,IAAM27B,OAAOjH,EAAO,IACxB3D,EAAIta,IAAMklB,OAAOjH,EAAO,IACxB3D,EAAI9xB,IAAM08B,OAAOjH,EAAO,IACxB3D,EAAI/xB,OAAkBqD,IAAdqyB,EAAO,GAAmBiH,OAAOjH,EAAO,IAAM,EACtDp3B,EAAO2e,MAAM6xB,YAAY/c,IAGtBA,GAgBX8c,aAAc,SAAU3qC,EAAO6tB,GAW3B,GALKA,IAEDA,EAAMzzB,EAAO2e,MAAMo8D,eAGF,iBAAVn1E,EAEP,OAA6B,IAAzBA,EAAMiC,QAAQ,OAEP7H,EAAO2e,MAAM4zH,WAAW3sI,EAAO6tB,IAKtCA,EAAI/xB,EAAI,EACD1B,EAAO2e,MAAM2zH,WAAW1sI,EAAO6tB,IAGzC,GAAqB,iBAAV7tB,EAChB,CAKI,IAAI6sI,EAAYzyI,EAAO2e,MAAM+zH,OAAO9sI,GAKpC,OAJA6tB,EAAI/wB,EAAI+vI,EAAU/vI,EAClB+wB,EAAIta,EAAIs5H,EAAUt5H,EAClBsa,EAAI9xB,EAAI8wI,EAAU9wI,EAClB8xB,EAAI/xB,EAAI+wI,EAAU/wI,EAAI,IACf+xB,EAIP,OAAOA,GAYf0+G,eAAgB,SAAUt9H,GAEtB,IAAIw9H,EAAMx9H,EAAMuS,SAAS,IAEzB,OAAuB,IAAfirH,EAAIlxI,OAAgB,IAAMkxI,EAAMA,GAY5CM,cAAe,SAAU9vI,EAAGw6C,QAEdt4C,IAANlC,IAAmBA,EAAI,QACjBkC,IAANs4C,IAAmBA,EAAI,GAI3B,IAAK,IAFDv8B,KAEKlf,EAAI,EAAGA,GAAK,IAAKA,IAEtBkf,EAAOxa,KAAKtG,EAAO2e,MAAMmzH,SAASlwI,EAAI,IAAKiB,EAAGw6C,IAGlD,OAAOv8B,GAYX8xH,cAAe,SAAU/vI,EAAG4yB,QAEd1wB,IAANlC,IAAmBA,EAAI,SACjBkC,IAAN0wB,IAAmBA,EAAI,IAI3B,IAAK,IAFD3U,KAEKlf,EAAI,EAAGA,GAAK,IAAKA,IAEtBkf,EAAOxa,KAAKtG,EAAO2e,MAAMo9D,SAASn6E,EAAI,IAAKiB,EAAG4yB,IAGlD,OAAO3U,GAgBX+xH,iBAAkB,SAAUC,EAAQC,EAAQx+G,EAAOy+G,EAAavzI,EAAOyzH,QAErDnuH,IAAVtF,IAAuBA,EAAQ,UAChBsF,IAAfmuH,IAA4BA,EAAa,GAE7C,IAAI+f,EAAOjzI,EAAO2e,MAAM+zH,OAAOI,GAC3BI,EAAOlzI,EAAO2e,MAAM+zH,OAAOK,GAE/B,GAAmB,IAAf7f,EAEA,IAAIxwH,GAAOwwI,EAAKj3D,IAAMg3D,EAAKh3D,KAAO+2D,EAAez+G,EAAS0+G,EAAKh3D,IAC3D9iE,GAAO+5H,EAAKh3D,MAAQ+2D,EAAK/2D,OAAS82D,EAAez+G,EAAS0+G,EAAK/2D,MAC/Dv6E,GAAOuxI,EAAK/2D,KAAO82D,EAAK92D,MAAQ62D,EAAez+G,EAAS0+G,EAAK92D,KAGrE,GAAmB,IAAf+2C,EACJ,CACI,IAGInwG,EAHAowH,EAAOnzI,EAAO2e,MAAM4yH,SAAS0B,EAAKvwI,EAAGuwI,EAAK95H,EAAG85H,EAAKtxI,GAClDyxI,EAAOpzI,EAAO2e,MAAM4yH,SAAS2B,EAAKxwI,EAAGwwI,EAAK/5H,EAAG+5H,EAAKvxI,GAClD0xI,EAAKD,EAAKrwH,EAAIowH,EAAKpwH,EAGvB,GAAIowH,EAAKpwH,EAAIqwH,EAAKrwH,EAClB,CACI,IAAIuwH,EAAKF,EAAKrwH,EACdqwH,EAAKrwH,EAAIowH,EAAKpwH,EACdowH,EAAKpwH,EAAIuwH,EACTD,GAAMA,EACNL,EAAcz+G,EAAQy+G,EAGtBK,EAAK,KAELF,EAAKpwH,EAAIowH,EAAKpwH,EAAI,EAClBA,IAAOqwH,EAAKrwH,EAAIowH,EAAKpwH,GAAKiwH,EAAcz+G,EAAS4+G,EAAKpwH,GAAK,GAG3DswH,GAAM,KAENtwH,GAAMqwH,EAAKrwH,EAAIowH,EAAKpwH,GAAKiwH,EAAcz+G,EAAS4+G,EAAKpwH,GAGzD,IAAIlgB,GAAOuwI,EAAKvwI,EAAIswI,EAAKtwI,GAAKmwI,EAAez+G,EAAS4+G,EAAKtwI,EACvDw6C,GAAO+1F,EAAK/1F,EAAI81F,EAAK91F,GAAK21F,EAAez+G,EAAS4+G,EAAK91F,EAEvDu0F,EAAM5xI,EAAO2e,MAAMmzH,SAAS/uH,EAAGlgB,EAAGw6C,EAAGu0F,GACrClvI,EAAIkvI,EAAIlvI,EACRyW,EAAIy4H,EAAIz4H,EACRxX,EAAIiwI,EAAIjwI,EAGhB,OAAO3B,EAAO2e,MAAMszH,WAAWxyI,EAAOiD,EAAGyW,EAAGxX,IAgBhD4xI,wBAAyB,SAAU1+H,EAAOnS,EAAGyW,EAAGxX,EAAG4yB,EAAOy+G,GAEtD,IAAI3kI,EAAMrO,EAAO2e,MAAM+zH,OAAO79H,GAC1B2+H,GAAQ9wI,EAAI2L,EAAI4tE,KAAO+2D,EAAez+G,EAASlmB,EAAI4tE,IACnDw3D,GAAQt6H,EAAI9K,EAAI6tE,OAAS82D,EAAez+G,EAASlmB,EAAI6tE,MACrDw3D,GAAQ/xI,EAAI0M,EAAI8tE,MAAQ62D,EAAez+G,EAASlmB,EAAI8tE,KAExD,OAAOn8E,EAAO2e,MAAMqzH,SAASwB,EAAIC,EAAIC,IAiBzCC,eAAgB,SAAUt4D,EAAIC,EAAI1iD,EAAI2iD,EAAIC,EAAI3iD,EAAItE,EAAOy+G,GAErD,IAAItwI,GAAO64E,EAAKF,GAAM23D,EAAez+G,EAAS8mD,EAC1CliE,GAAOqiE,EAAKF,GAAM03D,EAAez+G,EAAS+mD,EAC1C35E,GAAOk3B,EAAKD,GAAMo6G,EAAez+G,EAASqE,EAE9C,OAAO54B,EAAO2e,MAAMqzH,SAAStvI,EAAGyW,EAAGxX,IAiBvC+yB,OAAQ,SAAUo+G,EAAQC,EAAQ1jH,GAE9B,OAAO7wB,KAAKq0I,iBAAiBC,EAAQC,EAAQ,EAAG1jH,IAepD08E,oBAAqB,SAAUjrF,EAAQuO,GAEnC,IAAIsG,EAAI31B,EAAOkC,KAAKwyB,OAAO,EAAG5T,EAAO3f,OAAS,EAAGkuB,GAC7CyjH,EAAShyH,EAAO5e,KAAKmsB,MAAMsH,IAC3Bo9G,EAASjyH,EAAO5e,KAAKwC,KAAKixB,IAE9B,OAAOn3B,KAAKk2B,OAAOo+G,EAAQC,EAAQp9G,EAAI,IAe3Ci+G,eAAgB,SAAU97G,EAAKrzB,EAAKhF,GAOhC,QALYsF,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,UACjBM,IAAVtF,IAAuBA,EAAQ,KAG/BgF,EAAM,KAAOqzB,EAAMrzB,EAEnB,OAAOzE,EAAO2e,MAAMqzH,SAAS,IAAK,IAAK,KAG3C,IAAI/1D,EAAMnkD,EAAM51B,KAAK+xB,MAAM/xB,KAAKivB,UAAY1sB,EAAMqzB,IAC9CokD,EAAQpkD,EAAM51B,KAAK+xB,MAAM/xB,KAAKivB,UAAY1sB,EAAMqzB,IAChDqkD,EAAOrkD,EAAM51B,KAAK+xB,MAAM/xB,KAAKivB,UAAY1sB,EAAMqzB,IAEnD,OAAO93B,EAAO2e,MAAMszH,WAAWxyI,EAAOw8E,EAAKC,EAAOC,IAatDu2D,OAAQ,SAAU79H,GAEd,OAAIA,EAAQ,UAIJpV,MAAOoV,IAAU,GACjBonE,IAAKpnE,GAAS,GAAK,IACnBqnE,MAAOrnE,GAAS,EAAI,IACpBsnE,KAAc,IAARtnE,EACNnT,EAAGmT,IAAU,GACbnS,EAAGmS,GAAS,GAAK,IACjBsE,EAAGtE,GAAS,EAAI,IAChBlT,EAAW,IAARkT,IAMHpV,MAAO,IACPw8E,IAAKpnE,GAAS,GAAK,IACnBqnE,MAAOrnE,GAAS,EAAI,IACpBsnE,KAAc,IAARtnE,EACNnT,EAAG,IACHgB,EAAGmS,GAAS,GAAK,IACjBsE,EAAGtE,GAAS,EAAI,IAChBlT,EAAW,IAARkT,IAafg/H,UAAW,SAAUh/H,GAEjB,GAAqB,iBAAVA,EAEP,MAAO,QAAUA,EAAMnS,EAAE0kB,WAAa,IAAMvS,EAAMsE,EAAEiO,WAAa,IAAMvS,EAAMlT,EAAEylB,WAAa,KAAOvS,EAAMnT,EAAI,KAAK0lB,WAAa,IAI/H,IAAIwqH,EAAM5xI,EAAO2e,MAAM+zH,OAAO79H,GAC9B,MAAO,QAAU+8H,EAAIlvI,EAAE0kB,WAAa,IAAMwqH,EAAIz4H,EAAEiO,WAAa,IAAMwqH,EAAIjwI,EAAEylB,WAAa,KAAOwqH,EAAIlwI,EAAI,KAAK0lB,WAAa,KAY/H0sH,SAAU,SAAUj/H,GAEhB,OAAOA,IAAU,IAWrBk/H,cAAe,SAAUl/H,GAErB,OAAQA,IAAU,IAAM,KAW5Bm/H,OAAQ,SAAUn/H,GAEd,OAAOA,GAAS,GAAK,KAWzBo/H,SAAU,SAAUp/H,GAEhB,OAAOA,GAAS,EAAI,KAWxBq/H,QAAS,SAAUr/H,GAEf,OAAe,IAARA,GAYXs/H,YAAa,SAAUzyI,GAEnB,OAAOA,GAYXq+E,aAAc,SAAUr+E,EAAGC,GAEvB,OAAQA,EAAID,EAAKC,EAAID,GAYzBo+E,YAAa,SAAUp+E,EAAGC,GAEtB,OAAQA,EAAID,EAAKA,EAAIC,GAezBg+E,cAAe,SAAUj+E,EAAGC,GAExB,OAAQD,EAAIC,EAAK,KAYrByyI,aAAc,SAAU1yI,EAAGC,GAEvB,OAAQD,EAAIC,GAAK,GAYrB+9E,SAAU,SAAUh+E,EAAGC,GAEnB,OAAOO,KAAK41B,IAAI,IAAKp2B,EAAIC,IAY7B0yI,cAAe,SAAU3yI,EAAGC,GAExB,OAAOO,KAAKuC,IAAI,EAAG/C,EAAIC,EAAI,MAc/By+E,gBAAiB,SAAU1+E,EAAGC,GAE1B,OAAOO,KAAKizB,IAAIzzB,EAAIC,IAYxB2yI,cAAe,SAAU5yI,EAAGC,GAExB,OAAO,IAAMO,KAAKizB,IAAI,IAAMzzB,EAAIC,IAcpCi+E,YAAa,SAAUl+E,EAAGC,GAEtB,OAAO,MAAS,IAAMD,IAAM,IAAMC,IAAO,IAa7C0+E,eAAgB,SAAU3+E,EAAGC,GAEzB,OAAOD,EAAIC,EAAI,EAAID,EAAIC,EAAI,KAc/Bk+E,aAAc,SAAUn+E,EAAGC,GAEvB,OAAOA,EAAI,IAAO,EAAID,EAAIC,EAAI,IAAQ,IAAM,GAAK,IAAMD,IAAM,IAAMC,GAAK,KAsB5Ew+E,eAAgB,SAAUz+E,EAAGC,GAEzB,OAAOA,EAAI,IAAO,GAAgB,IAAVD,GAAK,KAAaC,EAAI,KAAO,IAAO,GAAK,KAAkB,IAAVD,GAAK,MAAa,IAAMC,GAAK,KAuB1Gu+E,eAAgB,SAAUx+E,EAAGC,GAEzB,OAAO3B,EAAO2e,MAAMkhE,aAAal+E,EAAGD,IAaxCs+E,gBAAiB,SAAUt+E,EAAGC,GAE1B,OAAa,MAANA,EAAYA,EAAIO,KAAK41B,IAAI,KAAOp2B,GAAK,IAAM,IAAMC,KAa5Ds+E,eAAgB,SAAUv+E,EAAGC,GAEzB,OAAa,IAANA,EAAUA,EAAIO,KAAKuC,IAAI,EAAI,KAAQ,IAAM/C,GAAM,GAAKC,IAY/D4yI,iBAAkB,SAAU7yI,EAAGC,GAE3B,OAAO3B,EAAO2e,MAAM+gE,SAASh+E,EAAGC,IAYpC6yI,gBAAiB,SAAU9yI,EAAGC,GAE1B,OAAO3B,EAAO2e,MAAM01H,cAAc3yI,EAAGC,IAczC8yI,iBAAkB,SAAU/yI,EAAGC,GAE3B,OAAOA,EAAI,IAAM3B,EAAO2e,MAAM61H,gBAAgB9yI,EAAG,EAAIC,GAAK3B,EAAO2e,MAAM41H,iBAAiB7yI,EAAI,GAAKC,EAAI,OAezG+yI,gBAAiB,SAAUhzI,EAAGC,GAE1B,OAAOA,EAAI,IAAM3B,EAAO2e,MAAMshE,eAAev+E,EAAG,EAAIC,GAAK3B,EAAO2e,MAAMqhE,gBAAgBt+E,EAAI,GAAKC,EAAI,OAavGgzI,cAAe,SAAUjzI,EAAGC,GAExB,OAAOA,EAAI,IAAM3B,EAAO2e,MAAMmhE,YAAYp+E,EAAG,EAAIC,GAAK3B,EAAO2e,MAAMohE,aAAar+E,EAAI,GAAKC,EAAI,OAejGizI,aAAc,SAAUlzI,EAAGC,GAEvB,OAAO3B,EAAO2e,MAAM+1H,gBAAgBhzI,EAAGC,GAAK,IAAM,EAAI,KAY1DkzI,aAAc,SAAUnzI,EAAGC,GAEvB,OAAa,MAANA,EAAYA,EAAIO,KAAK41B,IAAI,IAAMp2B,EAAIA,GAAK,IAAMC,KAYzDmzI,UAAW,SAAUpzI,EAAGC,GAEpB,OAAO3B,EAAO2e,MAAMk2H,aAAalzI,EAAGD,IAYxCqzI,aAAc,SAAUrzI,EAAGC,GAEvB,OAAOO,KAAK41B,IAAIp2B,EAAGC,GAAKO,KAAKuC,IAAI/C,EAAGC,GAAK,MAyBjD3B,EAAOkxC,QAAU,SAAU3vC,EAAMyT,GAE7BA,EAASA,MAKTxW,KAAK+C,KAAOA,EAKZ/C,KAAKwW,OAASA,EAKdxW,KAAKw2I,OAAS,KAKdx2I,KAAKggC,GAAK,KAKVhgC,KAAKy2I,MAAQ,KAKbz2I,KAAKosI,MAAQ,KAKbpsI,KAAK02I,SAAW,KAKhB12I,KAAK22I,OAAS,KAEd32I,KAAK6vC,eAOTruC,EAAOkxC,QAAQC,OAAS,EAMxBnxC,EAAOkxC,QAAQs6B,KAAO,EAMtBxrE,EAAOkxC,QAAQm5F,MAAQ,EAMvBrqI,EAAOkxC,QAAQq5F,MAAQ,EAMvBvqI,EAAOkxC,QAAQkkG,SAAW,EAM1Bp1I,EAAOkxC,QAAQmkG,SAAW,EAE1Br1I,EAAOkxC,QAAQpwC,WAOXutC,YAAa,WAEH7vC,KAAKwW,OAAO6a,eAAe,YAAoC,IAAvBrxB,KAAKwW,OAAOggI,SAAoBh1I,EAAOkxC,QAAQrhB,eAAe,YAGxGrxB,KAAKw2I,OAAS,IAAIh1I,EAAOkxC,QAAQ2iC,OAAOr1E,KAAK+C,OAG7C/C,KAAKwW,OAAO6a,eAAe,WAAkC,IAAtBrxB,KAAKwW,OAAOigI,OAAkBj1I,EAAOkxC,QAAQrhB,eAAe,WAEnGrxB,KAAKy2I,MAAQ,IAAIj1I,EAAOkxC,QAAQo5F,MAAM9rI,KAAK+C,OAG3C/C,KAAKwW,OAAO6a,eAAe,QAA4B,IAAnBrxB,KAAKwW,OAAOwpB,IAAex+B,EAAOkxC,QAAQrhB,eAAe,QAE7FrxB,KAAKggC,GAAK,IAAIx+B,EAAOkxC,QAAQokG,GAAG92I,KAAK+C,KAAM/C,KAAKwW,SAGhDxW,KAAKwW,OAAO6a,eAAe,WAAkC,IAAtBrxB,KAAKwW,OAAO41H,OAAkB5qI,EAAOkxC,QAAQrhB,eAAe,WAEnGrxB,KAAKosI,MAAQ,IAAI5qI,EAAOkxC,QAAQs5F,MAAMhsI,KAAK+C,KAAM/C,KAAKwW,SAGtDxW,KAAKwW,OAAO6a,eAAe,YAAoC,IAAvBrxB,KAAKwW,OAAOmgI,QAAmBn1I,EAAOkxC,QAAQrhB,eAAe,YAErGrxB,KAAK22I,OAAS,IAAIn1I,EAAOkxC,QAAQqkG,OAAO/2I,KAAK+C,KAAM/C,KAAKwW,UAwBhEwgI,YAAa,SAAUC,GAEfA,IAAWz1I,EAAOkxC,QAAQC,OAE1B3yC,KAAKw2I,OAAS,IAAIh1I,EAAOkxC,QAAQ2iC,OAAOr1E,KAAK+C,MAExCk0I,IAAWz1I,EAAOkxC,QAAQs6B,KAEf,OAAZhtE,KAAKggC,GAELhgC,KAAKggC,GAAK,IAAIx+B,EAAOkxC,QAAQokG,GAAG92I,KAAK+C,KAAM/C,KAAKwW,QAIhDxW,KAAKggC,GAAGoG,QAGP6wG,IAAWz1I,EAAOkxC,QAAQm5F,MAE/B7rI,KAAKy2I,MAAQ,IAAIj1I,EAAOkxC,QAAQo5F,MAAM9rI,KAAK+C,MAEtCk0I,IAAWz1I,EAAOkxC,QAAQq5F,MAEZ,OAAf/rI,KAAKosI,MAELpsI,KAAKosI,MAAQ,IAAI5qI,EAAOkxC,QAAQs5F,MAAMhsI,KAAK+C,KAAM/C,KAAKwW,QAItDxW,KAAKosI,MAAMhmG,QAGV6wG,IAAWz1I,EAAOkxC,QAAQmkG,WAEX,OAAhB72I,KAAK22I,OAEL32I,KAAK22I,OAAS,IAAIn1I,EAAOkxC,QAAQqkG,OAAO/2I,KAAK+C,KAAM/C,KAAKwW,QAIxDxW,KAAK22I,OAAOvwG,UAyBxBptB,OAAQ,SAAUygC,EAAQw9F,EAAQ/sG,QAEf3jC,IAAX0wI,IAAwBA,EAASz1I,EAAOkxC,QAAQC,aACtCpsC,IAAV2jC,IAAuBA,GAAQ,GAE/B+sG,IAAWz1I,EAAOkxC,QAAQC,OAE1B3yC,KAAKw2I,OAAOx9H,OAAOygC,GAEdw9F,IAAWz1I,EAAOkxC,QAAQs6B,MAAQhtE,KAAKggC,GAE5ChgC,KAAKggC,GAAGhnB,OAAOygC,EAAQvP,GAElB+sG,IAAWz1I,EAAOkxC,QAAQm5F,OAAS7rI,KAAKy2I,MAE7Cz2I,KAAKy2I,MAAMS,WAAWz9F,GAEjBw9F,IAAWz1I,EAAOkxC,QAAQq5F,OAAS/rI,KAAKosI,MAE7CpsI,KAAKosI,MAAMpzH,OAAOygC,GAEbw9F,IAAWz1I,EAAOkxC,QAAQmkG,UAAY72I,KAAK22I,OAEhD32I,KAAK22I,OAAO39H,OAAOygC,GAInBn5C,QAAQ+Z,KAAKo/B,EAAOzmC,IAAM,6EAUlCtO,UAAW,WAIH1E,KAAKggC,IAELhgC,KAAKggC,GAAGt7B,YAGR1E,KAAKosI,OAELpsI,KAAKosI,MAAM1nI,YAGX1E,KAAK22I,QAEL32I,KAAK22I,OAAOjyI,aAUpBygC,OAAQ,WAIAnlC,KAAKggC,IAELhgC,KAAKggC,GAAGmF,SAGRnlC,KAAKosI,OAELpsI,KAAKosI,MAAMjnG,SAGXnlC,KAAK22I,QAEL32I,KAAK22I,OAAOxxG,UAUpBW,iBAAkB,WAEV9lC,KAAKw2I,QAELx2I,KAAKw2I,OAAO1wG,mBAGZ9lC,KAAKy2I,OAELz2I,KAAKy2I,MAAM3wG,mBAGX9lC,KAAKggC,IAELhgC,KAAKggC,GAAG8F,mBAGR9lC,KAAKosI,OAELpsI,KAAKosI,MAAMtmG,mBAGX9lC,KAAK22I,QAEL32I,KAAK22I,OAAO7wG,oBAUpBlrB,MAAO,WAEC5a,KAAKggC,IAELhgC,KAAKggC,GAAGplB,QAGR5a,KAAKosI,OAELpsI,KAAKosI,MAAMxxH,QAGX5a,KAAK22I,QAEL32I,KAAK22I,OAAO/7H,SAUpBwrB,MAAO,WAECpmC,KAAKggC,IAELhgC,KAAKggC,GAAGoG,QAGRpmC,KAAKosI,OAELpsI,KAAKosI,MAAMhmG,QAGXpmC,KAAK22I,QAEL32I,KAAK22I,OAAOvwG,SASpB5jC,QAAS,WAEDxC,KAAKggC,IAELhgC,KAAKggC,GAAGx9B,UAGRxC,KAAKosI,OAELpsI,KAAKosI,MAAM5pI,UAGXxC,KAAK22I,QAEL32I,KAAK22I,OAAOn0I,UAGhBxC,KAAKw2I,OAAS,KACdx2I,KAAKy2I,MAAQ,KACbz2I,KAAKggC,GAAK,KACVhgC,KAAKosI,MAAQ,KACbpsI,KAAK22I,OAAS,OAKtBn1I,EAAOkxC,QAAQpwC,UAAUC,YAAcf,EAAOkxC,QAe9ClxC,EAAOkxC,QAAQ2iC,OAAS,SAAUtyE,GAK9B/C,KAAK+C,KAAOA,EAKZ/C,KAAKm3I,QAAU,IAAI31I,EAAOX,MAK1Bb,KAAK8E,OAAS,IAAItD,EAAOS,UAAU,EAAG,EAAGc,EAAKE,MAAMrF,MAAOmF,EAAKE,MAAMpF,QAOtEmC,KAAKo3I,gBAAmB3yE,IAAI,EAAMhW,MAAM,EAAM96B,MAAM,EAAMD,OAAO,GAKjE1zB,KAAK4vG,WAAa,GAKlB5vG,KAAK6vG,UAAY,EAMjB7vG,KAAKq3I,aAAe,EAKpBr3I,KAAKs3I,QAAS,EAMdt3I,KAAKu3I,cAAgB/1I,EAAOkxC,QAAQ2iC,OAAOmiE,WAK3Cx3I,KAAKy3I,cAAe,EAKpBz3I,KAAK22G,UAAW,EAKhB32G,KAAK0rI,SAAW,IAAIlqI,EAAOmuG,SAAS3vG,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAK4vG,WAAY5vG,KAAK6vG,WAM3K7vG,KAAK03I,OAAS,EAGd13I,KAAK8lC,oBAGTtkC,EAAOkxC,QAAQ2iC,OAAO/yE,UAAUC,YAAcf,EAAOkxC,QAAQ2iC,OAQ7D7zE,EAAOkxC,QAAQ2iC,OAAOsiE,UAAY,EAQlCn2I,EAAOkxC,QAAQ2iC,OAAOmiE,WAAa,EAQnCh2I,EAAOkxC,QAAQ2iC,OAAOuiE,WAAa,EAQnCp2I,EAAOkxC,QAAQ2iC,OAAOwiE,WAAa,EAQnCr2I,EAAOkxC,QAAQ2iC,OAAOyiE,WAAa,EAEnCt2I,EAAOkxC,QAAQ2iC,OAAO/yE,WAWlB24C,UAAW,SAAUl3C,EAAGC,EAAGpG,EAAOC,GAE9BmC,KAAK8E,OAAOswB,MAAMrxB,EAAGC,EAAGpG,EAAOC,IAQnCioC,iBAAkB,WAEd9lC,KAAK8E,OAAOuwB,SAASr1B,KAAK+C,KAAKE,MAAM6B,SAWzCkU,OAAQ,SAAUygC,EAAQh3C,QAEL8D,IAAb9D,IAA0BA,GAAW,GAEzC,IAAIC,EAAI,EAER,GAAI+E,MAAMC,QAAQ+xC,GAId,IAFA/2C,EAAI+2C,EAAO92C,OAEJD,KAEC+2C,EAAO/2C,aAAclB,EAAO8wC,MAG5BtyC,KAAKgZ,OAAOygC,EAAO/2C,GAAGD,SAAUA,IAIhCzC,KAAKwyC,WAAWiH,EAAO/2C,IAEnBD,GAAYg3C,EAAO/2C,GAAG2uB,eAAe,aAAeooB,EAAO/2C,GAAGD,SAASE,OAAS,GAEhF3C,KAAKgZ,OAAOygC,EAAO/2C,IAAI,SAMnC+2C,aAAkBj4C,EAAO8wC,MAGzBtyC,KAAKgZ,OAAOygC,EAAOh3C,SAAUA,IAI7BzC,KAAKwyC,WAAWiH,GAEZh3C,GAAYg3C,EAAOpoB,eAAe,aAAeooB,EAAOh3C,SAASE,OAAS,GAE1E3C,KAAKgZ,OAAOygC,EAAOh3C,UAAU,KAezC+vC,WAAY,SAAUiH,GAEdA,EAAOpoB,eAAe,SAA2B,OAAhBooB,EAAOtH,OAExCsH,EAAOtH,KAAO,IAAI3wC,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKnyF,GAEzCA,EAAOp4C,QAAUo4C,EAAOp4C,kBAAkBG,EAAO8wC,OAEjDmH,EAAOp4C,OAAOizC,UAAUmF,KAWpCs+F,aAAc,SAAU5lG,GAEpB,GAAIA,EAAK6lG,cACT,CACI,IAAIC,EAAgBj4I,KAAKk4I,gBAAgB,EAAG/lG,EAAMA,EAAKgmG,gBAAiBhmG,EAAKimG,oBAAqBjmG,EAAKkmG,YAAalmG,EAAKmmG,YAAcnmG,EAAKgmG,gBAC5IhmG,EAAKgmG,iBAAmBF,EACxB9lG,EAAKnxC,UAAamxC,EAAKgmG,gBAAkBn4I,KAAK+C,KAAKwiC,KAAKu5D,eAG5D3sD,EAAKomG,SAASx0I,EAAI/D,KAAKk4I,gBAAgB,EAAG/lG,EAAMA,EAAKomG,SAASx0I,EAAGouC,EAAKqmG,aAAaz0I,EAAGouC,EAAKsmG,KAAK10I,EAAGouC,EAAKumG,YAAY30I,GACpHouC,EAAKomG,SAASv0I,EAAIhE,KAAKk4I,gBAAgB,EAAG/lG,EAAMA,EAAKomG,SAASv0I,EAAGmuC,EAAKqmG,aAAax0I,EAAGmuC,EAAKsmG,KAAKz0I,EAAGmuC,EAAKumG,YAAY10I,IAgBxHk0I,gBAAiB,SAAUx1E,EAAMvwB,EAAMomG,EAAUC,EAAcC,EAAMxyI,GA4CjE,YA1CYM,IAARN,IAAqBA,EAAM,KAElB,IAATy8D,GAAcvwB,EAAKwmG,aAEnBJ,IAAav4I,KAAKm3I,QAAQpzI,EAAIouC,EAAKglG,QAAQpzI,GAAK/D,KAAK+C,KAAKwiC,KAAKu5D,eAEjD,IAATp8B,GAAcvwB,EAAKwmG,eAExBJ,IAAav4I,KAAKm3I,QAAQnzI,EAAImuC,EAAKglG,QAAQnzI,GAAKhE,KAAK+C,KAAKwiC,KAAKu5D,gBAG/D05C,EAEAD,GAAYC,EAAex4I,KAAK+C,KAAKwiC,KAAKu5D,eAErC25C,GAAQtmG,EAAKymG,YAIdL,GAFJE,GAAQz4I,KAAK+C,KAAKwiC,KAAKu5D,gBAED,EAElBy5C,GAAYE,EAEPF,EAAWE,EAAO,EAEvBF,GAAYE,EAIZF,EAAW,GAIfA,EAAWtyI,EAEXsyI,EAAWtyI,EAENsyI,GAAYtyI,IAEjBsyI,GAAYtyI,GAGTsyI,GA8BXvlE,QAAS,SAAU6lE,EAASC,EAASC,EAAiBC,EAAiB1vG,GAUnE,OARAyvG,EAAkBA,GAAmB,KACrCC,EAAkBA,GAAmB,KACrC1vG,EAAkBA,GAAmByvG,EAErC/4I,KAAK03I,OAAS,EAEd13I,KAAKi5I,eAAeJ,EAASC,EAASC,EAAiBC,EAAiB1vG,GAAiB,GAEjFtpC,KAAK03I,OAAS,GAoD1BwB,QAAS,SAAUL,EAASC,EAASK,EAAiBH,EAAiB1vG,GAUnE,OARA6vG,EAAkBA,GAAmB,KACrCH,EAAkBA,GAAmB,KACrC1vG,EAAkBA,GAAmB6vG,EAErCn5I,KAAK03I,OAAS,EAEd13I,KAAKi5I,eAAeJ,EAASC,EAASK,EAAiBH,EAAiB1vG,GAAiB,GAEjFtpC,KAAK03I,OAAS,GAa1B0B,cAAe,SAAUl2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXjvC,EAAEivC,KAAKpuC,EAAIZ,EAAEgvC,KAAKpuC,EAHd,GAgBfs1I,cAAe,SAAUn2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXhvC,EAAEgvC,KAAKpuC,EAAIb,EAAEivC,KAAKpuC,EAHd,GAgBfu1I,cAAe,SAAUp2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXjvC,EAAEivC,KAAKnuC,EAAIb,EAAEgvC,KAAKnuC,EAHd,GAgBfu1I,cAAe,SAAUr2I,EAAGC,GAExB,OAAKD,EAAEivC,MAAShvC,EAAEgvC,KAKXhvC,EAAEgvC,KAAKnuC,EAAId,EAAEivC,KAAKnuC,EAHd,GAmBf+6B,KAAM,SAAUwb,EAAOg9F,GAEgB,OAA/Bh9F,EAAM9G,qBAEN8jG,EAAgBh9F,EAAM9G,0BAGJltC,IAAlBgxI,IAA+BA,EAAgBv3I,KAAKu3I,eAEpDA,IAAkB/1I,EAAOkxC,QAAQ2iC,OAAOmiE,WAGxCj9F,EAAMnI,KAAKrT,KAAK/+B,KAAKo5I,eAEhB7B,IAAkB/1I,EAAOkxC,QAAQ2iC,OAAOuiE,WAG7Cr9F,EAAMnI,KAAKrT,KAAK/+B,KAAKq5I,eAEhB9B,IAAkB/1I,EAAOkxC,QAAQ2iC,OAAOwiE,WAG7Ct9F,EAAMnI,KAAKrT,KAAK/+B,KAAKs5I,eAEhB/B,IAAkB/1I,EAAOkxC,QAAQ2iC,OAAOyiE,YAG7Cv9F,EAAMnI,KAAKrT,KAAK/+B,KAAKu5I,gBAU7BN,eAAgB,SAAUJ,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAE3F,IAAK/xI,MAAMC,QAAQmxI,IAAYpxI,MAAMC,QAAQoxI,GAEzC,IAASp2I,EAAI,EAAGA,EAAIo2I,EAAQn2I,OAAQD,IAE3Bo2I,EAAQp2I,IAEb1C,KAAKy5I,eAAeZ,EAASC,EAAQp2I,GAAIy2I,EAAiBH,EAAiB1vG,EAAiBkwG,QAG/F,GAAI/xI,MAAMC,QAAQmxI,KAAapxI,MAAMC,QAAQoxI,GAE9C,IAASp2I,EAAI,EAAGA,EAAIm2I,EAAQl2I,OAAQD,IAE3Bm2I,EAAQn2I,IAEb1C,KAAKy5I,eAAeZ,EAAQn2I,GAAIo2I,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,QAG/F,GAAI/xI,MAAMC,QAAQmxI,IAAYpxI,MAAMC,QAAQoxI,IAE7C,IAAK,IAAIp2I,EAAI,EAAGA,EAAIm2I,EAAQl2I,OAAQD,IAEhC,GAAKm2I,EAAQn2I,GAEb,IAAK,IAAImF,EAAI,EAAGA,EAAIixI,EAAQn2I,OAAQkF,IAE3BixI,EAAQjxI,IAEb7H,KAAKy5I,eAAeZ,EAAQn2I,GAAIo2I,EAAQjxI,GAAIsxI,EAAiBH,EAAiB1vG,EAAiBkwG,QAMvGx5I,KAAKy5I,eAAeZ,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,IAgBjGC,eAAgB,SAAUZ,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAG3F,QAAgBjzI,IAAZuyI,GAAyBD,EAAQjmG,cAAgBpxC,EAAOirB,MAIxD,OAFAzsB,KAAK++B,KAAK85G,QACV74I,KAAK05I,mBAAmBb,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,GAKnFX,GAAYC,GAAYD,EAAQ3rI,QAAW4rI,EAAQ5rI,SAMpDlN,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOsiE,YAEzCkB,EAAQjmG,cAAgBpxC,EAAOirB,OAE/BzsB,KAAK++B,KAAK85G,GAGVC,EAAQlmG,cAAgBpxC,EAAOirB,OAE/BzsB,KAAK++B,KAAK+5G,IAKdD,EAAQjmG,cAAgBpxC,EAAO0qB,OAE3B4sH,EAAQlmG,cAAgBpxC,EAAO0qB,OAE/BlsB,KAAK25I,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAE3FV,EAAQlmG,cAAgBpxC,EAAOirB,MAEpCzsB,KAAK45I,qBAAqBf,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAE1FV,EAAQlmG,cAAgBpxC,EAAOorB,cAEpC5sB,KAAK65I,4BAA4BhB,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAKrGX,EAAQjmG,cAAgBpxC,EAAOirB,MAEhCqsH,EAAQlmG,cAAgBpxC,EAAO0qB,OAE/BlsB,KAAK45I,qBAAqBd,EAASD,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,GAE1FV,EAAQlmG,cAAgBpxC,EAAOirB,MAEpCzsB,KAAK85I,oBAAoBjB,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAEzFV,EAAQlmG,cAAgBpxC,EAAOorB,cAEpC5sB,KAAK+5I,2BAA2BlB,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,GAKpGX,EAAQjmG,cAAgBpxC,EAAOorB,eAEhCksH,EAAQlmG,cAAgBpxC,EAAO0qB,OAE/BlsB,KAAK65I,4BAA4Bf,EAASD,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,GAEjGV,EAAQlmG,cAAgBpxC,EAAOirB,OAEpCzsB,KAAK+5I,2BAA2BjB,EAASD,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,MAkBjHG,sBAAuB,SAAUK,EAASC,EAASd,EAAiBH,EAAiB1vG,EAAiBkwG,GAElG,SAAKQ,EAAQ7nG,OAAS8nG,EAAQ9nG,QAK1BnyC,KAAKk6I,SAASF,EAAQ7nG,KAAM8nG,EAAQ9nG,KAAM6mG,EAAiB1vG,EAAiBkwG,KAExEL,GAEAA,EAAgB30I,KAAK8kC,EAAiB0wG,EAASC,GAGnDj6I,KAAK03I,WAGF,IAeXkC,qBAAsB,SAAUt2H,EAAQi3B,EAAO4+F,EAAiBH,EAAiB1vG,EAAiBkwG,GAE9F,GAAqB,IAAjBj/F,EAAM53C,QAAiB2gB,EAAO6uB,KAKlC,GAAInyC,KAAKy3I,cAAgBn0H,EAAO6uB,KAAKslG,aAIjC,IAAK,IAFD3yI,KAEKpC,EAAI,EAAGA,EAAI63C,EAAMnI,KAAKzvC,OAAQD,IACvC,CACI,IAAIm2I,EAAUt+F,EAAMnI,KAAK1vC,GAGzB,GAAKm2I,GAAYA,EAAQ3rI,QAAW2rI,EAAQ1mG,KAA5C,CASA,GAHArtC,EAAS+zI,EAAQ1mG,KAAKjoC,UAAUpF,GAG5B9E,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOmiE,WACjD,CACI,GAAIl0H,EAAO6uB,KAAKze,MAAQ5uB,EAAOf,EAE3B,MAEC,GAAIe,EAAO4uB,MAAQpQ,EAAO6uB,KAAKpuC,EAEhC,cAGH,GAAI/D,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOuiE,WACtD,CACI,GAAIt0H,EAAO6uB,KAAKpuC,EAAIe,EAAO4uB,MAEvB,MAEC,GAAI5uB,EAAOf,EAAIuf,EAAO6uB,KAAKze,MAE5B,cAGH,GAAI1zB,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOwiE,WACtD,CACI,GAAIv0H,EAAO6uB,KAAK7b,OAASxxB,EAAOd,EAE5B,MAEC,GAAIc,EAAOwxB,OAAShT,EAAO6uB,KAAKnuC,EAEjC,cAGH,GAAIhE,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOyiE,WACtD,CACI,GAAIx0H,EAAO6uB,KAAKnuC,EAAIc,EAAOwxB,OAEvB,MAEC,GAAIxxB,EAAOd,EAAIsf,EAAO6uB,KAAK7b,OAE5B,SAIRt2B,KAAK25I,sBAAsBr2H,EAAQu1H,EAASM,EAAiBH,EAAiB1vG,EAAiBkwG,QAIvG,CAEIx5I,KAAK0rI,SAAS9wH,QAEd5a,KAAK0rI,SAAStlG,MAAMpmC,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAK4vG,WAAY5vG,KAAK6vG,WAE3J7vG,KAAK0rI,SAASv7B,SAAS51D,GAIvB,IAAK,IAFD4/F,EAAQn6I,KAAK0rI,SAASp7B,SAAShtF,GAE1B5gB,EAAI,EAAGA,EAAIy3I,EAAMx3I,OAAQD,IAG1B1C,KAAKk6I,SAAS52H,EAAO6uB,KAAMgoG,EAAMz3I,GAAIs2I,EAAiB1vG,EAAiBkwG,KAEnEL,GAEAA,EAAgB30I,KAAK8kC,EAAiBhmB,EAAQ62H,EAAMz3I,GAAG4gB,QAG3DtjB,KAAK03I,YAkBrBgC,mBAAoB,SAAUn/F,EAAO4+F,EAAiBH,EAAiB1vG,EAAiBkwG,GAEpF,GAAqB,IAAjBj/F,EAAM53C,OAKV,IAAK,IAAID,EAAI,EAAGA,EAAI63C,EAAMnI,KAAKzvC,OAAQD,IACvC,CACI,IAAI03I,KACAvB,EAAUt+F,EAAMnI,KAAK1vC,GAGzB,GAAKm2I,GAAYA,EAAQ3rI,QAAW2rI,EAAQ1mG,KAA5C,CAMAioG,EAAUvB,EAAQ1mG,KAAKjoC,UAAUkwI,GAEjC,IAAK,IAAIvyI,EAAInF,EAAI,EAAGmF,EAAI0yC,EAAMnI,KAAKzvC,OAAQkF,IAC3C,CACI,IAAIwyI,KACAvB,EAAUv+F,EAAMnI,KAAKvqC,GAGzB,GAAKixI,GAAYA,EAAQ5rI,QAAW4rI,EAAQ3mG,KAA5C,CASA,GAHAkoG,EAAUvB,EAAQ3mG,KAAKjoC,UAAUmwI,GAG7Br6I,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOmiE,WACjD,CACI,GAAI4C,EAAQ1mH,MAAQ2mH,EAAQt2I,EAExB,MAEC,GAAIs2I,EAAQ3mH,MAAQ0mH,EAAQr2I,EAE7B,cAGH,GAAI/D,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOuiE,WACtD,CACI,GAAIwC,EAAQr2I,EAAIs2I,EAAQ3mH,MAEpB,SAEC,GAAI2mH,EAAQt2I,EAAIq2I,EAAQ1mH,MAEzB,WAGH,GAAI1zB,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOwiE,WACtD,CACI,GAAIuC,EAAQ9jH,OAAS+jH,EAAQr2I,EAEzB,SAEC,GAAIq2I,EAAQ/jH,OAAS8jH,EAAQp2I,EAE9B,WAGH,GAAIhE,KAAKu3I,gBAAkB/1I,EAAOkxC,QAAQ2iC,OAAOyiE,WACtD,CACI,GAAIsC,EAAQp2I,EAAIq2I,EAAQ/jH,OAEpB,SAEC,GAAI+jH,EAAQr2I,EAAI60I,EAAQ1mG,KAAK7b,OAE9B,MAIRt2B,KAAK25I,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiB1vG,EAAiBkwG,QAiB5GM,oBAAqB,SAAUQ,EAAQC,EAAQpB,EAAiBH,EAAiB1vG,EAAiBkwG,GAE9F,GAAsB,IAAlBc,EAAO33I,QAAkC,IAAlB43I,EAAO53I,OAKlC,IAAK,IAAID,EAAI,EAAGA,EAAI43I,EAAO73I,SAASE,OAAQD,IAEpC43I,EAAO73I,SAASC,GAAGwK,SAEfotI,EAAO73I,SAASC,GAAGkwC,cAAgBpxC,EAAOirB,MAE1CzsB,KAAK85I,oBAAoBQ,EAAO73I,SAASC,GAAI63I,EAAQpB,EAAiBH,EAAiB1vG,EAAiBkwG,GAIxGx5I,KAAK45I,qBAAqBU,EAAO73I,SAASC,GAAI63I,EAAQpB,EAAiBH,EAAiB1vG,EAAiBkwG,KAkBzHU,SAAU,SAAUM,EAAOC,EAAOzB,EAAiB1vG,EAAiBkwG,GAEhE,IACKgB,EAAMxhI,SACNyhI,EAAMzhI,QACPwhI,EAAMpD,eAAesD,MACrBD,EAAMrD,eAAesD,OACpB16I,KAAKw2B,WAAWgkH,EAAOC,GAExB,OAAO,EAIX,GAAIzB,IAAyF,IAAtEA,EAAgBx0I,KAAK8kC,EAAiBkxG,EAAMl3H,OAAQm3H,EAAMn3H,QAE7E,OAAO,EAIX,GAAIk3H,EAAMG,UAAYF,EAAME,SAExB,OAAO36I,KAAK46I,eAAeJ,EAAOC,EAAOjB,GAS7C,GAAIgB,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAIE,EAAYL,EAAc,SAAIC,EAAQD,EACtCM,EAAcN,EAAc,SAAIA,EAAQC,EAExC7/G,GACA72B,EAAG82I,EAAS92I,EACZC,EAAG62I,EAAS72I,EACZ0vB,MAAOmnH,EAASnnH,MAChB4C,OAAQukH,EAASvkH,QAGjBmrB,EAASq5F,EAAWh8G,OAExB,IAAI2iB,EAAOz9C,EAAI42B,EAAK52B,GAAKy9C,EAAOz9C,EAAI42B,EAAKtE,UAEjCmrB,EAAO19C,EAAI62B,EAAK72B,GAAK09C,EAAO19C,EAAI62B,EAAKlH,OAErC,OAAO1zB,KAAK46I,eAAeJ,EAAOC,EAAOjB,GAKrD,IAAIuB,GAAU,EACVC,GAAU,EAGVh7I,KAAKs3I,QAAU5zI,KAAKizB,IAAI32B,KAAKm3I,QAAQnzI,EAAIw2I,EAAMrD,QAAQnzI,GAAKN,KAAKizB,IAAI32B,KAAKm3I,QAAQpzI,EAAIy2I,EAAMrD,QAAQpzI,IAEpGg3I,EAAU/6I,KAAKi7I,UAAUT,EAAOC,EAAOjB,GAGnCx5I,KAAKw2B,WAAWgkH,EAAOC,KAEvBO,EAAUh7I,KAAKk7I,UAAUV,EAAOC,EAAOjB,MAK3CwB,EAAUh7I,KAAKk7I,UAAUV,EAAOC,EAAOjB,GAGnCx5I,KAAKw2B,WAAWgkH,EAAOC,KAEvBM,EAAU/6I,KAAKi7I,UAAUT,EAAOC,EAAOjB,KAI/C,IAAI5gH,EAAUmiH,GAAWC,EA8BzB,OA5BIpiH,IAEI4gH,GAEIgB,EAAMW,WAENX,EAAMW,UAAU11G,SAAS+0G,EAAMl3H,OAAQm3H,EAAMn3H,QAG7Cm3H,EAAMU,WAENV,EAAMU,UAAU11G,SAASg1G,EAAMn3H,OAAQk3H,EAAMl3H,UAK7Ck3H,EAAMY,WAENZ,EAAMY,UAAU31G,SAAS+0G,EAAMl3H,OAAQm3H,EAAMn3H,QAG7Cm3H,EAAMW,WAENX,EAAMW,UAAU31G,SAASg1G,EAAMn3H,OAAQk3H,EAAMl3H,UAKlDsV,GAWXpC,WAAY,SAAUgkH,EAAOC,GAEzB,OAAID,IAAUC,IAKVD,EAAMG,SAEFF,EAAME,SAGCn5I,EAAOkC,KAAK8xB,SAASglH,EAAM17G,OAAO/6B,EAAGy2I,EAAM17G,OAAO96B,EAAGy2I,EAAM37G,OAAO/6B,EAAG02I,EAAM37G,OAAO96B,IAAOw2I,EAAM5jH,UAAY6jH,EAAM7jH,UAKjH52B,KAAKq7I,qBAAqBb,EAAOC,GAI5CA,EAAME,SAGC36I,KAAKq7I,qBAAqBZ,EAAOD,KAKpCA,EAAM9mH,OAAS+mH,EAAM75I,SAASmD,OAK9By2I,EAAMlkH,QAAUmkH,EAAM75I,SAASoD,OAK/Bw2I,EAAM55I,SAASmD,GAAK02I,EAAM/mH,UAK1B8mH,EAAM55I,SAASoD,GAAKy2I,EAAMnkH,YAiBtC+kH,qBAAsB,SAAU55F,EAAQtP,GAEpC,IAAIpuC,EAAIvC,EAAOkC,KAAK+4B,MAAMglB,EAAO3iB,OAAO/6B,EAAGouC,EAAKxe,KAAMwe,EAAKze,OACvD1vB,EAAIxC,EAAOkC,KAAK+4B,MAAMglB,EAAO3iB,OAAO96B,EAAGmuC,EAAK9b,IAAK8b,EAAK7b,QAK1D,OAHUmrB,EAAO3iB,OAAO/6B,EAAIA,IAAM09C,EAAO3iB,OAAO/6B,EAAIA,IAC1C09C,EAAO3iB,OAAO96B,EAAIA,IAAMy9C,EAAO3iB,OAAO96B,EAAIA,IAE/By9C,EAAO7qB,UAAY6qB,EAAO7qB,WAanDgkH,eAAgB,SAAUJ,EAAOC,EAAOjB,GAGpCx5I,KAAKs7I,YAAYd,EAAOC,GACxBz6I,KAAKu7I,YAAYf,EAAOC,GAExB,IAAItsI,EAAKssI,EAAM37G,OAAO/6B,EAAIy2I,EAAM17G,OAAO/6B,EACnCsK,EAAKosI,EAAM37G,OAAO96B,EAAIw2I,EAAM17G,OAAO96B,EAEnCw3I,EAAiB93I,KAAKq5B,MAAM1uB,EAAIF,GAEhC6kE,EAAU,EAEd,GAAIwnE,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAI//G,GACA72B,EAAI02I,EAAc,SAAID,EAAM55I,SAASmD,EAAI02I,EAAM75I,SAASmD,EACxDC,EAAIy2I,EAAc,SAAID,EAAM55I,SAASoD,EAAIy2I,EAAM75I,SAASoD,EACxD0vB,MAAQ+mH,EAAc,SAAID,EAAM9mH,MAAQ+mH,EAAM/mH,MAC9C4C,OAASmkH,EAAc,SAAID,EAAMlkH,OAASmkH,EAAMnkH,QAGhDmrB,GACA19C,EAAIy2I,EAAc,SAAIA,EAAM17G,OAAO/6B,EAAI02I,EAAM37G,OAAO/6B,EACpDC,EAAIw2I,EAAc,SAAIA,EAAM17G,OAAO96B,EAAIy2I,EAAM37G,OAAO96B,EACpDmxB,OAASqlH,EAAc,SAAIA,EAAM5jH,UAAY6jH,EAAM7jH,WAGnD6qB,EAAOz9C,EAAI42B,EAAK52B,EAEZy9C,EAAO19C,EAAI62B,EAAK72B,EAEhBivE,EAAUxxE,EAAOkC,KAAK8xB,SAASisB,EAAO19C,EAAG09C,EAAOz9C,EAAG42B,EAAK72B,EAAG62B,EAAK52B,GAAKy9C,EAAOtsB,OAEvEssB,EAAO19C,EAAI62B,EAAKlH,QAErBs/C,EAAUxxE,EAAOkC,KAAK8xB,SAASisB,EAAO19C,EAAG09C,EAAOz9C,EAAG42B,EAAKlH,MAAOkH,EAAK52B,GAAKy9C,EAAOtsB,QAG/EssB,EAAOz9C,EAAI42B,EAAKtE,SAEjBmrB,EAAO19C,EAAI62B,EAAK72B,EAEhBivE,EAAUxxE,EAAOkC,KAAK8xB,SAASisB,EAAO19C,EAAG09C,EAAOz9C,EAAG42B,EAAK72B,EAAG62B,EAAKtE,QAAUmrB,EAAOtsB,OAE5EssB,EAAO19C,EAAI62B,EAAKlH,QAErBs/C,EAAUxxE,EAAOkC,KAAK8xB,SAASisB,EAAO19C,EAAG09C,EAAOz9C,EAAG42B,EAAKlH,MAAOkH,EAAKtE,QAAUmrB,EAAOtsB,SAI7F69C,IAAY,OAIZA,EAAWwnE,EAAM5jH,UAAY6jH,EAAM7jH,UAAap1B,EAAOkC,KAAK8xB,SAASglH,EAAM17G,OAAO/6B,EAAGy2I,EAAM17G,OAAO96B,EAAGy2I,EAAM37G,OAAO/6B,EAAG02I,EAAM37G,OAAO96B,GAItI,GAAIw1I,GAA2B,IAAZxmE,GAAkBwnE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMkB,iBAAmBjB,EAAMiB,gBAgBvG,OAdgB,IAAZ1oE,IAEIwnE,EAAMW,WAENX,EAAMW,UAAU11G,SAAS+0G,EAAMl3H,OAAQm3H,EAAMn3H,QAG7Cm3H,EAAMU,WAENV,EAAMU,UAAU11G,SAASg1G,EAAMn3H,OAAQk3H,EAAMl3H,SAKjC,IAAZ0vD,EAOZ,IAAIuqB,GACAx5F,EAAGy2I,EAAMjC,SAASx0I,EAAIL,KAAKI,IAAI03I,GAAkBhB,EAAMjC,SAASv0I,EAAIN,KAAKG,IAAI23I,GAC7Ex3I,GAAIw2I,EAAMjC,SAASx0I,EAAIL,KAAKG,IAAI23I,GAAkBhB,EAAMjC,SAASv0I,EAAIN,KAAKI,IAAI03I,IAG9Eh+C,GACAz5F,EAAG02I,EAAMlC,SAASx0I,EAAIL,KAAKI,IAAI03I,GAAkBf,EAAMlC,SAASv0I,EAAIN,KAAKG,IAAI23I,GAC7Ex3I,GAAIy2I,EAAMlC,SAASx0I,EAAIL,KAAKG,IAAI23I,GAAkBf,EAAMlC,SAASv0I,EAAIN,KAAKI,IAAI03I,IAI9EG,IAAanB,EAAMoB,KAAOnB,EAAMmB,MAAQr+C,EAAGx5F,EAAI,EAAI02I,EAAMmB,KAAOp+C,EAAGz5F,IAAMy2I,EAAMoB,KAAOnB,EAAMmB,MAC5FC,GAAY,EAAIrB,EAAMoB,KAAOr+C,EAAGx5F,GAAK02I,EAAMmB,KAAOpB,EAAMoB,MAAQp+C,EAAGz5F,IAAMy2I,EAAMoB,KAAOnB,EAAMmB,MAkFhG,OA/EKpB,EAAMiB,YAEPjB,EAAMjC,SAASx0I,GAAK43I,EAAWj4I,KAAKI,IAAI03I,GAAkBj+C,EAAGv5F,EAAIN,KAAKG,IAAI23I,IAAmBhB,EAAMsB,OAAO/3I,EAC1Gy2I,EAAMjC,SAASv0I,GAAKu5F,EAAGv5F,EAAIN,KAAKI,IAAI03I,GAAkBG,EAAWj4I,KAAKG,IAAI23I,IAAmBhB,EAAMsB,OAAO93I,GAGzGy2I,EAAMgB,YAEPhB,EAAMlC,SAASx0I,GAAK83I,EAAWn4I,KAAKI,IAAI03I,GAAkBh+C,EAAGx5F,EAAIN,KAAKG,IAAI23I,IAAmBf,EAAMqB,OAAO/3I,EAC1G02I,EAAMlC,SAASv0I,GAAKw5F,EAAGx5F,EAAIN,KAAKI,IAAI03I,GAAkBK,EAAWn4I,KAAKG,IAAI23I,IAAmBf,EAAMqB,OAAO93I,GAS1GN,KAAKizB,IAAI6kH,GAAkB93I,KAAKsxB,GAAK,EAEhCwlH,EAAMjC,SAASx0I,EAAI,IAAOy2I,EAAMiB,WAAchB,EAAMlC,SAASx0I,EAAIy2I,EAAMjC,SAASx0I,EAEjFy2I,EAAMjC,SAASx0I,IAAM,EAEf02I,EAAMlC,SAASx0I,EAAI,IAAO02I,EAAMgB,WAAcjB,EAAMjC,SAASx0I,EAAI02I,EAAMlC,SAASx0I,EAEtF02I,EAAMlC,SAASx0I,IAAM,EAEfy2I,EAAMjC,SAASv0I,EAAI,IAAOw2I,EAAMiB,WAAchB,EAAMlC,SAASv0I,EAAIw2I,EAAMjC,SAASv0I,EAEtFw2I,EAAMjC,SAASv0I,IAAM,EAEfy2I,EAAMlC,SAASv0I,EAAI,IAAOy2I,EAAMgB,WAAcjB,EAAMjC,SAASv0I,EAAIy2I,EAAMlC,SAASv0I,IAEtFy2I,EAAMlC,SAASv0I,IAAM,GAGpBN,KAAKizB,IAAI6kH,GAAkB93I,KAAKsxB,GAAK,IAErCwlH,EAAMjC,SAASx0I,EAAI,IAAOy2I,EAAMiB,WAAchB,EAAMlC,SAASx0I,EAAIy2I,EAAMjC,SAASx0I,EAEjFy2I,EAAMjC,SAASx0I,IAAM,EAEf02I,EAAMlC,SAASx0I,EAAI,IAAO02I,EAAMgB,WAAcjB,EAAMjC,SAASx0I,EAAI02I,EAAMlC,SAASx0I,EAEtF02I,EAAMlC,SAASx0I,IAAM,EAEfy2I,EAAMjC,SAASv0I,EAAI,IAAOw2I,EAAMiB,WAAchB,EAAMlC,SAASv0I,EAAIw2I,EAAMjC,SAASv0I,EAEtFw2I,EAAMjC,SAASv0I,IAAM,EAEfy2I,EAAMlC,SAASv0I,EAAI,IAAOy2I,EAAMgB,WAAcjB,EAAMjC,SAASx0I,EAAI02I,EAAMlC,SAASv0I,IAEtFy2I,EAAMlC,SAASv0I,IAAM,IAIxBw2I,EAAMiB,YAEPjB,EAAMz2I,GAAMy2I,EAAMjC,SAASx0I,EAAI/D,KAAK+C,KAAKwiC,KAAKu5D,eAAkB9rB,EAAUtvE,KAAKI,IAAI03I,GACnFhB,EAAMx2I,GAAMw2I,EAAMjC,SAASv0I,EAAIhE,KAAK+C,KAAKwiC,KAAKu5D,eAAkB9rB,EAAUtvE,KAAKG,IAAI23I,IAGlFf,EAAMgB,YAEPhB,EAAM12I,GAAM02I,EAAMlC,SAASx0I,EAAI/D,KAAK+C,KAAKwiC,KAAKu5D,eAAkB9rB,EAAUtvE,KAAKI,IAAI03I,GACnFf,EAAMz2I,GAAMy2I,EAAMlC,SAASv0I,EAAIhE,KAAK+C,KAAKwiC,KAAKu5D,eAAkB9rB,EAAUtvE,KAAKG,IAAI23I,IAGnFhB,EAAMY,WAENZ,EAAMY,UAAU31G,SAAS+0G,EAAMl3H,OAAQm3H,EAAMn3H,QAG7Cm3H,EAAMW,WAENX,EAAMW,UAAU31G,SAASg1G,EAAMn3H,OAAQk3H,EAAMl3H,SAG1C,GAaXg4H,YAAa,SAAUd,EAAOC,EAAOjB,GAEjC,IAAIxmE,EAAU,EACV+oE,EAAavB,EAAMwB,YAAcvB,EAAMuB,YAAch8I,KAAKq3I,aA+C9D,OA7CuB,IAAnBmD,EAAM1sE,UAAqC,IAAnB2sE,EAAM3sE,UAG9B0sE,EAAMyB,UAAW,EACjBxB,EAAMwB,UAAW,GAEZzB,EAAM1sE,SAAW2sE,EAAM3sE,UAG5BkF,EAAUwnE,EAAM9mH,MAAQ+mH,EAAM12I,GAEfg4I,IAAevC,IAA+C,IAA/BgB,EAAMpD,eAAe1jH,QAAiD,IAA9B+mH,EAAMrD,eAAezjH,KAEvGq/C,EAAU,GAIVwnE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASxoH,OAAQ,EACvB+mH,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASvoH,MAAO,GAGrB6mH,EAAM1sE,SAAW2sE,EAAM3sE,aAG5BkF,EAAUwnE,EAAMz2I,EAAI02I,EAAM78I,MAAQ68I,EAAM12I,GAExBg4I,IAAevC,IAA8C,IAA9BgB,EAAMpD,eAAezjH,OAAiD,IAA/B8mH,EAAMrD,eAAe1jH,MAEvGs/C,EAAU,GAIVwnE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASvoH,MAAO,EACtB8mH,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASxoH,OAAQ,IAK/B8mH,EAAM2B,SAAWnpE,EACjBynE,EAAM0B,SAAWnpE,EAEVA,GAaXuoE,YAAa,SAAUf,EAAOC,EAAOjB,GAEjC,IAAIxmE,EAAU,EACV+oE,EAAavB,EAAM4B,YAAc3B,EAAM2B,YAAcp8I,KAAKq3I,aA+C9D,OA7CuB,IAAnBmD,EAAM7wF,UAAqC,IAAnB8wF,EAAM9wF,UAG9B6wF,EAAMyB,UAAW,EACjBxB,EAAMwB,UAAW,GAEZzB,EAAM7wF,SAAW8wF,EAAM9wF,UAG5BqpB,EAAUwnE,EAAMlkH,OAASmkH,EAAMz2I,GAEhB+3I,IAAevC,IAA8C,IAA9BgB,EAAMpD,eAAe3oF,OAA8C,IAA5BgsF,EAAMrD,eAAe3yE,GAEtGuO,EAAU,GAIVwnE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASztF,MAAO,EACtBgsF,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASz3E,IAAK,GAGnB+1E,EAAM7wF,SAAW8wF,EAAM9wF,aAG5BqpB,EAAUwnE,EAAMx2I,EAAIy2I,EAAMnkH,QAEVylH,IAAevC,IAA4C,IAA5BgB,EAAMpD,eAAe3yE,KAA8C,IAA9Bg2E,EAAMrD,eAAe3oF,KAErGukB,EAAU,GAIVwnE,EAAM0B,SAASxB,MAAO,EACtBF,EAAM0B,SAASz3E,IAAK,EACpBg2E,EAAMyB,SAASxB,MAAO,EACtBD,EAAMyB,SAASztF,MAAO,IAK9B+rF,EAAM6B,SAAWrpE,EACjBynE,EAAM4B,SAAWrpE,EAEVA,GAaXioE,UAAW,SAAUT,EAAOC,EAAOjB,GAE/B,IAAIxmE,EAAUhzE,KAAKs7I,YAAYd,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZxmE,GAAkBwnE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMkB,iBAAmBjB,EAAMiB,gBAGvG,OAAoB,IAAZ1oE,GAAmBwnE,EAAMyB,UAAYxB,EAAMwB,SAIvD,IAAI1+C,EAAKi9C,EAAMjC,SAASx0I,EACpBy5F,EAAKi9C,EAAMlC,SAASx0I,EAExB,GAAKy2I,EAAMiB,WAAchB,EAAMgB,UAiBrBjB,EAAMiB,WAaZhB,EAAM12I,GAAKivE,EACXynE,EAAMlC,SAASx0I,EAAIw5F,EAAKC,EAAKi9C,EAAMqB,OAAO/3I,EAGtCy2I,EAAM8B,QAEN7B,EAAMz2I,IAAMw2I,EAAMx2I,EAAIw2I,EAAMr/D,KAAKn3E,GAAKw2I,EAAM+B,SAASv4I,KAjBzDw2I,EAAMz2I,GAAKivE,EACXwnE,EAAMjC,SAASx0I,EAAIy5F,EAAKD,EAAKi9C,EAAMsB,OAAO/3I,EAGtC02I,EAAM6B,QAEN9B,EAAMx2I,IAAMy2I,EAAMz2I,EAAIy2I,EAAMt/D,KAAKn3E,GAAKy2I,EAAM8B,SAASv4I,QAxB7D,CACIgvE,GAAW,GAEXwnE,EAAMz2I,GAAKivE,EACXynE,EAAM12I,GAAKivE,EAEX,IAAIwpE,EAAM94I,KAAKS,KAAMq5F,EAAKA,EAAKi9C,EAAMmB,KAAQpB,EAAMoB,OAAUp+C,EAAK,EAAK,GAAK,GACxEi/C,EAAM/4I,KAAKS,KAAMo5F,EAAKA,EAAKi9C,EAAMoB,KAAQnB,EAAMmB,OAAUr+C,EAAK,EAAK,GAAK,GACxEm/C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPlC,EAAMjC,SAASx0I,EAAI24I,EAAMF,EAAMhC,EAAMsB,OAAO/3I,EAC5C02I,EAAMlC,SAASx0I,EAAI24I,EAAMD,EAAMhC,EAAMqB,OAAO/3I,EA0BhD,OAAO,GAaXm3I,UAAW,SAAUV,EAAOC,EAAOjB,GAE/B,IAAIxmE,EAAUhzE,KAAKu7I,YAAYf,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZxmE,GAAkBwnE,EAAMiB,WAAahB,EAAMgB,WAAcjB,EAAMmC,iBAAmBlC,EAAMkC,gBAGvG,OAAoB,IAAZ3pE,GAAmBwnE,EAAMyB,UAAYxB,EAAMwB,SAIvD,IAAI1+C,EAAKi9C,EAAMjC,SAASv0I,EACpBw5F,EAAKi9C,EAAMlC,SAASv0I,EAExB,GAAKw2I,EAAMiB,WAAchB,EAAMgB,UAiBrBjB,EAAMiB,WAaZhB,EAAMz2I,GAAKgvE,EACXynE,EAAMlC,SAASv0I,EAAIu5F,EAAKC,EAAKi9C,EAAMqB,OAAO93I,EAGtCw2I,EAAM8B,QAEN7B,EAAM12I,IAAMy2I,EAAMz2I,EAAIy2I,EAAMr/D,KAAKp3E,GAAKy2I,EAAM+B,SAASx4I,KAjBzDy2I,EAAMx2I,GAAKgvE,EACXwnE,EAAMjC,SAASv0I,EAAIw5F,EAAKD,EAAKi9C,EAAMsB,OAAO93I,EAGtCy2I,EAAM6B,QAEN9B,EAAMz2I,IAAM02I,EAAM12I,EAAI02I,EAAMt/D,KAAKp3E,GAAK02I,EAAM8B,SAASx4I,QAxB7D,CACIivE,GAAW,GAEXwnE,EAAMx2I,GAAKgvE,EACXynE,EAAMz2I,GAAKgvE,EAEX,IAAIwpE,EAAM94I,KAAKS,KAAMq5F,EAAKA,EAAKi9C,EAAMmB,KAAQpB,EAAMoB,OAAUp+C,EAAK,EAAK,GAAK,GACxEi/C,EAAM/4I,KAAKS,KAAMo5F,EAAKA,EAAKi9C,EAAMoB,KAAQnB,EAAMmB,OAAUr+C,EAAK,EAAK,GAAK,GACxEm/C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPlC,EAAMjC,SAASv0I,EAAI04I,EAAMF,EAAMhC,EAAMsB,OAAO93I,EAC5Cy2I,EAAMlC,SAASv0I,EAAI04I,EAAMD,EAAMhC,EAAMqB,OAAO93I,EA0BhD,OAAO,GAeX44I,uBAAwB,SAAUvuG,EAASkM,EAAOvF,EAAU1L,GAExD,GAAqB,IAAjBiR,EAAM53C,QAAiB0rC,EAAQnhC,OAKnC,OAAOlN,KAAK68I,qBAAqBxuG,EAAQtqC,EAAGsqC,EAAQrqC,EAAGu2C,EAAOvF,EAAU1L,EAAiB+E,IAiB7FwuG,qBAAsB,SAAU94I,EAAGC,EAAGu2C,EAAOvF,EAAU1L,EAAiBwzG,GAEpE98I,KAAK0rI,SAAS9wH,QAEd5a,KAAK0rI,SAAStlG,MAAMpmC,KAAK+C,KAAKE,MAAM6B,OAAOf,EAAG/D,KAAK+C,KAAKE,MAAM6B,OAAOd,EAAGhE,KAAK+C,KAAKE,MAAM6B,OAAOlH,MAAOoC,KAAK+C,KAAKE,MAAM6B,OAAOjH,OAAQmC,KAAK4vG,WAAY5vG,KAAK6vG,WAE3J7vG,KAAK0rI,SAASv7B,SAAS51D,GAOvB,IAAK,IALD3f,EAAO,IAAIp5B,EAAOS,UAAU8B,EAAGC,EAAG,EAAG,GACrC0xB,KAEAykH,EAAQn6I,KAAK0rI,SAASp7B,SAAS11E,GAE1Bl4B,EAAI,EAAGA,EAAIy3I,EAAMx3I,OAAQD,IAE1By3I,EAAMz3I,GAAGgkD,QAAQ3iD,EAAGC,KAEhBgxC,GAEAA,EAASxwC,KAAK8kC,EAAiBwzG,EAAa3C,EAAMz3I,GAAG4gB,QAGzDoS,EAAO5tB,KAAKqyI,EAAMz3I,GAAG4gB,SAI7B,OAAOoS,GAkBXqnH,aAAc,SAAU9hI,EAAe2kE,EAAap+B,EAAOw7F,QAEzCz2I,IAAVi7C,IAAuBA,EAAQ,SACnBj7C,IAAZy2I,IAAyBA,EAAU,GAEvC,IAAIpnH,EAAQp0B,EAAOX,MAAM+0B,MAAMgqD,EAAa3kE,GAU5C,OARI+hI,EAAU,IAGVx7F,EAAQxhD,KAAKi9I,gBAAgBhiI,EAAe2kE,IAAgBo9D,EAAU,MAG1E/hI,EAAck3B,KAAKomG,SAASp8G,WAAWvG,EAAO4rB,GAEvC5rB,GAiBXsnH,cAAe,SAAUjiI,EAAeumC,EAAOnT,EAAS2uG,QAEtCz2I,IAAVi7C,IAAuBA,EAAQ,IACnCnT,EAAUA,GAAWruC,KAAK+C,KAAKyjC,MAAMuc,mBACrBx8C,IAAZy2I,IAAyBA,EAAU,GAEvC,IAAIpnH,EAAQ51B,KAAKm9I,eAAeliI,EAAeozB,GAU/C,OARI2uG,EAAU,IAGVx7F,EAAQxhD,KAAKo9I,kBAAkBniI,EAAeozB,IAAY2uG,EAAU,MAGxE/hI,EAAck3B,KAAKomG,SAASp8G,WAAWvG,EAAO4rB,GAEvC5rB,GAmBXynH,SAAU,SAAUpiI,EAAelX,EAAGC,EAAGw9C,EAAOw7F,QAE9Bz2I,IAAVi7C,IAAuBA,EAAQ,SACnBj7C,IAAZy2I,IAAyBA,EAAU,GAEvC,IAAIpnH,EAAQlyB,KAAKq5B,MAAM/4B,EAAIiX,EAAcjX,EAAGD,EAAIkX,EAAclX,GAU9D,OARIi5I,EAAU,IAGVx7F,EAAQxhD,KAAKs9I,aAAariI,EAAelX,EAAGC,IAAMg5I,EAAU,MAGhE/hI,EAAck3B,KAAKomG,SAASp8G,WAAWvG,EAAO4rB,GAEvC5rB,GAaX2nH,kBAAmB,SAAU3nH,EAAO4rB,EAAOprB,GAKvC,YAHc7vB,IAAVi7C,IAAuBA,EAAQ,KACnCprB,EAAQA,GAAS,IAAI50B,EAAOX,OAEfs7B,WAAWvG,EAAO4rB,GAAO,IAa1Cg8F,qBAAsB,SAAUx8I,EAAUwgD,EAAOprB,GAK7C,YAHc7vB,IAAVi7C,IAAuBA,EAAQ,KACnCprB,EAAQA,GAAS,IAAI50B,EAAOX,OAEfs7B,WAAWn7B,EAAUwgD,IAatCi8F,yBAA0B,SAAUz8I,EAAUwgD,EAAOprB,GAKjD,YAHc7vB,IAAVi7C,IAAuBA,EAAQ,KACnCprB,EAAQA,GAAS,IAAI50B,EAAOX,OAEfs7B,WAAWn7B,EAAUwgD,IAiBtCk8F,mBAAoB,SAAUziI,EAAe2kE,EAAap+B,EAAOm8F,EAAWC,QAE1Dr3I,IAAVi7C,IAAuBA,EAAQ,SACjBj7C,IAAdo3I,IAA2BA,EAAY,UACzBp3I,IAAdq3I,IAA2BA,EAAY,KAE3C,IAAIhoH,EAAQ51B,KAAKysG,aAAaxxF,EAAe2kE,GAK7C,OAHA3kE,EAAck3B,KAAKqmG,aAAar8G,WAAWvG,EAAO4rB,GAClDvmC,EAAck3B,KAAKumG,YAAYtjH,MAAMuoH,EAAWC,GAEzChoH,GAiBXioH,oBAAqB,SAAU5iI,EAAeozB,EAASmT,EAAOm8F,EAAWC,QAEvDr3I,IAAVi7C,IAAuBA,EAAQ,SACnBj7C,IAAZ8nC,IAAyBA,EAAUruC,KAAK+C,KAAKyjC,MAAMuc,oBACrCx8C,IAAdo3I,IAA2BA,EAAY,UACzBp3I,IAAdq3I,IAA2BA,EAAY,KAE3C,IAAIhoH,EAAQ51B,KAAKm9I,eAAeliI,EAAeozB,GAK/C,OAHApzB,EAAck3B,KAAKqmG,aAAar8G,WAAWvG,EAAO4rB,GAClDvmC,EAAck3B,KAAKumG,YAAYtjH,MAAMuoH,EAAWC,GAEzChoH,GAkBXkoH,eAAgB,SAAU7iI,EAAelX,EAAGC,EAAGw9C,EAAOm8F,EAAWC,QAE/Cr3I,IAAVi7C,IAAuBA,EAAQ,SACjBj7C,IAAdo3I,IAA2BA,EAAY,UACzBp3I,IAAdq3I,IAA2BA,EAAY,KAE3C,IAAIhoH,EAAQ51B,KAAK+9I,UAAU9iI,EAAelX,EAAGC,GAK7C,OAHAiX,EAAck3B,KAAKqmG,aAAapjH,MAAMQ,EAAO4rB,GAC7CvmC,EAAck3B,KAAKumG,YAAYtjH,MAAMuoH,EAAWC,GAEzChoH,GAuBXqnH,gBAAiB,SAAU7tI,EAAQpH,EAAQ/E,EAAOq1B,QAEhC/xB,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EACAE,EAkBJ,OAhBIiqB,GAEAnqB,EAAKiB,EAAOyoB,QAAU7vB,EAAO6vB,QAC7BxpB,EAAKe,EAAO0oB,QAAU9vB,EAAO8vB,SAExB70B,GAELkL,EAAKiB,EAAOnM,MAAMc,EAAIiE,EAAO/E,MAAMc,EACnCsK,EAAKe,EAAOnM,MAAMe,EAAIgE,EAAO/E,MAAMe,IAInCmK,EAAKiB,EAAOrL,EAAIiE,EAAOjE,EACvBsK,EAAKe,EAAOpL,EAAIgE,EAAOhE,GAGpBN,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAmBpCivI,aAAc,SAAUriI,EAAelX,EAAGC,EAAGf,QAE3BsD,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EAAK,EAAU8M,EAAchY,MAAMc,EAAIA,EAAIkX,EAAclX,EAAIA,EAC7DsK,EAAK,EAAU4M,EAAchY,MAAMe,EAAIA,EAAIiX,EAAcjX,EAAIA,EAEjE,OAAON,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAkBpC+uI,kBAAmB,SAAUniI,EAAeozB,EAASprC,QAEjCsD,IAAZ8nC,IAAyBA,EAAUruC,KAAK+C,KAAKyjC,MAAMuc,oBACzCx8C,IAAVtD,IAAuBA,GAAQ,GAEnC,IAAIkL,EAAK,EAAU8M,EAAchY,MAAMc,EAAIsqC,EAAQ+7F,OAASnvH,EAAclX,EAAIsqC,EAAQ+7F,OAClF/7H,EAAK,EAAU4M,EAAchY,MAAMe,EAAIqqC,EAAQg8F,OAASpvH,EAAcjX,EAAIqqC,EAAQg8F,OAEtF,OAAO3mI,KAAKS,KAAKgK,EAAKA,EAAKE,EAAKA,IAcpC2vI,QAAS,SAAU5uI,EAAQ6uI,EAASh7I,EAAOq1B,GAKvC,IAAK,IAHDgB,EAAMzuB,EAAAA,EACNmzI,EAAU,KAELt7I,EAAI,EAAGouB,EAAMmtH,EAAQt7I,OAAQD,EAAIouB,EAAKpuB,IAC/C,CACI,IAAIsF,EAASi2I,EAAQv7I,GACjB8yB,EAAWx1B,KAAKi9I,gBAAgB7tI,EAAQpH,EAAQ/E,EAAOq1B,GAEvD9C,EAAW8D,IAEX0kH,EAAUh2I,EACVsxB,EAAM9D,GAId,OAAOwoH,GAaXE,SAAU,SAAU9uI,EAAQ6uI,EAASh7I,EAAOq1B,GAKxC,IAAK,IAHDryB,GAAO,EACPi4I,EAAW,KAENx7I,EAAI,EAAGouB,EAAMmtH,EAAQt7I,OAAQD,EAAIouB,EAAKpuB,IAC/C,CACI,IAAIsF,EAASi2I,EAAQv7I,GACjB8yB,EAAWx1B,KAAKi9I,gBAAgB7tI,EAAQpH,EAAQ/E,EAAOq1B,GAEvD9C,EAAWvvB,IAEXi4I,EAAWl2I,EACX/B,EAAMuvB,GAId,OAAO0oH,GAgBXzxC,aAAc,SAAUr9F,EAAQpH,EAAQ/E,GAIpC,YAFcsD,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOzB,EAAOX,MAAM+0B,MAAM5tB,EAAO/E,MAAOmM,EAAOnM,OAIxCzB,EAAOX,MAAM+0B,MAAM5tB,EAAQoH,IAY1C+uI,oBAAqB,SAAU/uI,EAAQpH,GAEnC,IAAImG,EAAKnG,EAAO6vB,QAAUzoB,EAAOyoB,QAC7BxpB,EAAKrG,EAAO8vB,QAAU1oB,EAAO0oB,QAEjC,OAAOp0B,KAAKq5B,MAAM1uB,EAAIF,IAiB1B4vI,UAAW,SAAU9iI,EAAelX,EAAGC,EAAGf,GAItC,YAFcsD,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOS,KAAKq5B,MAAM/4B,EAAIiX,EAAchY,MAAMe,EAAGD,EAAIkX,EAAchY,MAAMc,GAI9DL,KAAKq5B,MAAM/4B,EAAIiX,EAAcjX,EAAGD,EAAIkX,EAAclX,IAiBjEo5I,eAAgB,SAAUliI,EAAeozB,EAASprC,GAK9C,YAHgBsD,IAAZ8nC,IAAyBA,EAAUruC,KAAK+C,KAAKyjC,MAAMuc,oBACzCx8C,IAAVtD,IAAuBA,GAAQ,GAE/BA,EAEOS,KAAKq5B,MAAMsR,EAAQg8F,OAASpvH,EAAchY,MAAMe,EAAGqqC,EAAQ+7F,OAASnvH,EAAchY,MAAMc,GAIxFL,KAAKq5B,MAAMsR,EAAQg8F,OAASpvH,EAAcjX,EAAGqqC,EAAQ+7F,OAASnvH,EAAclX,IAa3Fq6I,oBAAqB,SAAUnjI,EAAeozB,GAE1C,OAAOruC,KAAKm9I,eAAeliI,EAAeozB,GAAS,KAmB3D7sC,EAAOkxC,QAAQ2iC,OAAOu2D,KAAO,SAAUtoH,GAKnCtjB,KAAKsjB,OAASA,EAKdtjB,KAAK+C,KAAOugB,EAAOvgB,KAKnB/C,KAAKwT,KAAOhS,EAAOkxC,QAAQC,OAM3B3yC,KAAKgZ,QAAS,EASdhZ,KAAK26I,UAAW,EAWhB36I,KAAKm1B,OAAS,EAKdn1B,KAAKyX,OAAS,IAAIjW,EAAOX,MAMzBb,KAAKY,SAAW,IAAIY,EAAOX,MAAMyiB,EAAOvf,EAAGuf,EAAOtf,GAMlDhE,KAAKm7E,KAAO,IAAI35E,EAAOX,MAAMb,KAAKY,SAASmD,EAAG/D,KAAKY,SAASoD,GAM5DhE,KAAKg4I,eAAgB,EAOrBh4I,KAAKgB,SAAWsiB,EAAOsS,MAMvB51B,KAAKq+I,YAAc/6H,EAAOsS,MAM1B51B,KAAKpC,MAAQ0lB,EAAO1lB,MAMpBoC,KAAKnC,OAASylB,EAAOzlB,OAMrBmC,KAAK23F,YAAcr0E,EAAO1lB,MAM1BoC,KAAK43F,aAAet0E,EAAOzlB,OAEvBylB,EAAOvlB,UAEPiC,KAAK23F,YAAcr0E,EAAOvlB,QAAQsP,MAAMzP,MACxCoC,KAAK43F,aAAet0E,EAAOvlB,QAAQsP,MAAMxP,QAO7CmC,KAAK42B,UAAYlzB,KAAKizB,IAAIrT,EAAO1lB,MAAQ,GAMzCoC,KAAK62B,WAAanzB,KAAKizB,IAAIrT,EAAOzlB,OAAS,GAM3CmC,KAAK8+B,OAAS,IAAIt9B,EAAOX,MAAMyiB,EAAOvf,EAAI/D,KAAK42B,UAAWtT,EAAOtf,EAAIhE,KAAK62B,YAK1E72B,KAAKu4I,SAAW,IAAI/2I,EAAOX,MAM3Bb,KAAKs+I,YAAc,IAAI98I,EAAOX,MAK9Bb,KAAKu+I,SAAW,IAAI/8I,EAAOX,MAK3Bb,KAAKw4I,aAAe,IAAIh3I,EAAOX,MAM/Bb,KAAK44I,WAAY,EAKjB54I,KAAKy4I,KAAO,IAAIj3I,EAAOX,MAMvBb,KAAK24I,cAAe,EAKpB34I,KAAKm3I,QAAU,IAAI31I,EAAOX,MAK1Bb,KAAK87I,OAAS,IAAIt6I,EAAOX,MAQzBb,KAAKw+I,YAAc,KAYnBx+I,KAAKy+I,cAAgB,KAoBrBz+I,KAAKo7I,UAAY,KAoBjBp7I,KAAKm7I,UAAY,KAMjBn7I,KAAK04I,YAAc,IAAIl3I,EAAOX,MAAM,IAAO,KAK3Cb,KAAKu8I,SAAW,IAAI/6I,EAAOX,MAAM,EAAG,GAMpCb,KAAKm4I,gBAAkB,EAMvBn4I,KAAKo4I,oBAAsB,EAM3Bp4I,KAAKq4I,YAAc,EAMnBr4I,KAAKs4I,WAAa,IAMlBt4I,KAAK47I,KAAO,EAMZ57I,KAAK41B,MAAQ,EAMb51B,KAAKwhD,MAAQ,EAMbxhD,KAAK0+I,OAASl9I,EAAOqqB,KAMrB7rB,KAAKy7I,WAAY,EAcjBz7I,KAAKs8I,OAAQ,EAQbt8I,KAAK07I,iBAAkB,EAQvB17I,KAAK28I,iBAAkB,EAMvB38I,KAAKm8I,SAAW,EAMhBn8I,KAAKq8I,SAAW,EAMhBr8I,KAAK2+I,SAAW,EAMhB3+I,KAAKi8I,UAAW,EAMhBj8I,KAAK4+I,oBAAqB,EAS1B5+I,KAAKo3I,gBAAmBsD,MAAM,EAAOj2E,IAAI,EAAMhW,MAAM,EAAM96B,MAAM,EAAMD,OAAO,GAO9E1zB,KAAKk8I,UAAaxB,MAAM,EAAMj2E,IAAI,EAAOhW,MAAM,EAAO96B,MAAM,EAAOD,OAAO,GAM1E1zB,KAAK6+I,aAAgBnE,MAAM,EAAMj2E,IAAI,EAAOhW,MAAM,EAAO96B,MAAM,EAAOD,OAAO,GAO7E1zB,KAAK8+I,SAAYpE,MAAM,EAAMj2E,IAAI,EAAOhW,MAAM,EAAO96B,MAAM,EAAOD,OAAO,GAOzE1zB,KAAK++I,YAAc,IAAIv9I,EAAOX,MAK9Bb,KAAKwR,OAAQ,EAKbxR,KAAKy3I,cAAe,EAUpBz3I,KAAKg/I,YAAa,EAKlBh/I,KAAKi/I,UAAW,EAKhBj/I,KAAKk/I,uBAAwB,EAM7Bl/I,KAAKm/I,UAAY,EAMjBn/I,KAAKo/I,aAAe,EAMpBp/I,KAAKq/I,aAAe,EAMpBr/I,KAAKs/I,WAAa,KAMlBt/I,KAAKu/I,QAAU,KAKfv/I,KAAKw/I,eAAiB,IAAIh+I,EAAO6gC,OAKjCriC,KAAKy/I,iBAAmB,KAKxBz/I,KAAK0/I,wBAA0B,KAM/B1/I,KAAKizE,QAAS,EAMdjzE,KAAK2/I,IAAMr8H,EAAOxiB,MAAMiD,EAMxB/D,KAAK4/I,IAAMt8H,EAAOxiB,MAAMkD,EAMxBhE,KAAKm2D,IAAM,EAMXn2D,KAAKo2D,IAAM,GAGf50D,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,WAQvBu9I,aAAc,WAEV,GAAI7/I,KAAKg/I,WACT,CACI,IAAI77I,EAAInD,KAAKsjB,OAAOpZ,YACpB/G,EAAEg9B,UAEEh9B,EAAEvF,QAAUoC,KAAKpC,OAASuF,EAAEtF,SAAWmC,KAAKnC,SAE5CmC,KAAKpC,MAAQuF,EAAEvF,MACfoC,KAAKnC,OAASsF,EAAEtF,OAChBmC,KAAKizE,QAAS,OAItB,CACI,IAAI6sE,EAAMp8I,KAAKizB,IAAI32B,KAAKsjB,OAAOxiB,MAAMiD,GACjCg8I,EAAMr8I,KAAKizB,IAAI32B,KAAKsjB,OAAOxiB,MAAMkD,GAEjC87I,IAAQ9/I,KAAK2/I,KAAOI,IAAQ//I,KAAK4/I,MAEjC5/I,KAAKpC,MAAQoC,KAAK23F,YAAcmoD,EAChC9/I,KAAKnC,OAASmC,KAAK43F,aAAemoD,EAClC//I,KAAK2/I,IAAMG,EACX9/I,KAAK4/I,IAAMG,EACX//I,KAAKizE,QAAS,GAIlBjzE,KAAKizE,SAELjzE,KAAK42B,UAAYlzB,KAAKmsB,MAAM7vB,KAAKpC,MAAQ,GACzCoC,KAAK62B,WAAanzB,KAAKmsB,MAAM7vB,KAAKnC,OAAS,GAC3CmC,KAAKggJ,iBAUbA,aAAc,WAEVhgJ,KAAK8+B,OAAO1J,MAAMp1B,KAAKY,SAASmD,EAAI/D,KAAK42B,UAAW52B,KAAKY,SAASoD,EAAIhE,KAAK62B,aAS/EnyB,UAAW,WAEF1E,KAAKgZ,SAAUhZ,KAAK+C,KAAK+jC,QAAQ0vG,OAAO7/B,WAK7C32G,KAAKwR,OAAQ,EAGbxR,KAAK6+I,YAAYnE,KAAO16I,KAAKk8I,SAASxB,KACtC16I,KAAK6+I,YAAYp6E,GAAKzkE,KAAKk8I,SAASz3E,GACpCzkE,KAAK6+I,YAAYpwF,KAAOzuD,KAAKk8I,SAASztF,KACtCzuD,KAAK6+I,YAAYlrH,KAAO3zB,KAAKk8I,SAASvoH,KACtC3zB,KAAK6+I,YAAYnrH,MAAQ1zB,KAAKk8I,SAASxoH,MAEvC1zB,KAAKk8I,SAASxB,MAAO,EACrB16I,KAAKk8I,SAASz3E,IAAK,EACnBzkE,KAAKk8I,SAASztF,MAAO,EACrBzuD,KAAKk8I,SAASvoH,MAAO,EACrB3zB,KAAKk8I,SAASxoH,OAAQ,EAEtB1zB,KAAK8+I,QAAQpE,MAAO,EACpB16I,KAAK8+I,QAAQr6E,IAAK,EAClBzkE,KAAK8+I,QAAQrwF,MAAO,EACpBzuD,KAAK8+I,QAAQnrH,MAAO,EACpB3zB,KAAK8+I,QAAQprH,OAAQ,EAErB1zB,KAAK2+I,SAAW,EAChB3+I,KAAKm8I,SAAW,EAChBn8I,KAAKq8I,SAAW,EAEhBr8I,KAAKi8I,UAAW,EAEhBj8I,KAAK6/I,eAEL7/I,KAAKY,SAASmD,EAAK/D,KAAKsjB,OAAOrgB,MAAMc,EAAK/D,KAAKsjB,OAAO3c,OAAO5C,EAAI/D,KAAKsjB,OAAO1lB,MAAUoC,KAAKsjB,OAAOxiB,MAAMiD,EAAI/D,KAAKyX,OAAO1T,EACzH/D,KAAKY,SAASmD,GAAK/D,KAAKsjB,OAAOxiB,MAAMiD,EAAI,EAAI/D,KAAKpC,MAAQ,EAE1DoC,KAAKY,SAASoD,EAAKhE,KAAKsjB,OAAOrgB,MAAMe,EAAKhE,KAAKsjB,OAAO3c,OAAO3C,EAAIhE,KAAKsjB,OAAOzlB,OAAWmC,KAAKsjB,OAAOxiB,MAAMkD,EAAIhE,KAAKyX,OAAOzT,EAC1HhE,KAAKY,SAASoD,GAAKhE,KAAKsjB,OAAOxiB,MAAMkD,EAAI,EAAIhE,KAAKnC,OAAS,EAE3DmC,KAAKggJ,eAELhgJ,KAAKgB,SAAWhB,KAAKsjB,OAAOsS,MAE5B51B,KAAKq+I,YAAcr+I,KAAKgB,UAEpBhB,KAAKizE,QAAUjzE,KAAKsjB,OAAOwpD,SAE3B9sE,KAAKm7E,KAAKp3E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAKm7E,KAAKn3E,EAAIhE,KAAKY,SAASoD,GAG5BhE,KAAKs8I,QAELt8I,KAAK+C,KAAK+jC,QAAQ0vG,OAAOuB,aAAa/3I,MAEtCA,KAAKs+I,YAAYn3I,IAAInH,KAAKu4I,SAASx0I,EAAI/D,KAAK+C,KAAKwiC,KAAKu5D,eAAgB9+F,KAAKu4I,SAASv0I,EAAIhE,KAAK+C,KAAKwiC,KAAKu5D,gBAEvG9+F,KAAKY,SAASmD,GAAK/D,KAAKs+I,YAAYv6I,EACpC/D,KAAKY,SAASoD,GAAKhE,KAAKs+I,YAAYt6I,EACpChE,KAAKggJ,eAEDhgJ,KAAKY,SAASmD,IAAM/D,KAAKm7E,KAAKp3E,GAAK/D,KAAKY,SAASoD,IAAMhE,KAAKm7E,KAAKn3E,IAEjEhE,KAAK41B,MAAQ51B,KAAKu4I,SAASt7G,QAG/Bj9B,KAAKwhD,MAAQ99C,KAAKS,KAAKnE,KAAKu4I,SAASx0I,EAAI/D,KAAKu4I,SAASx0I,EAAI/D,KAAKu4I,SAASv0I,EAAIhE,KAAKu4I,SAASv0I,GAOvFhE,KAAK4+I,oBAED5+I,KAAK8rE,oBAAsB9rE,KAAKy+I,eAEhCz+I,KAAKy+I,cAAch5G,SAASzlC,KAAKsjB,OAAQtjB,KAAK8+I,QAAQr6E,GAAIzkE,KAAK8+I,QAAQrwF,KAAMzuD,KAAK8+I,QAAQnrH,KAAM3zB,KAAK8+I,QAAQprH,QAKzH1zB,KAAKm2D,IAAMn2D,KAAK8tE,SAChB9tE,KAAKo2D,IAAMp2D,KAAK2pD,SAEhB3pD,KAAKizE,QAAS,IASlBgtE,eAAgB,WAEZ,IAAIjxC,EAAU,EACVkxC,EAA8B,IAAlBlgJ,KAAKm8I,UAAoC,IAAlBn8I,KAAKq8I,SAiB5C,GAbIr8I,KAAKq/I,aAAe,GAEpBr/I,KAAKm/I,WAAan/I,KAAK+C,KAAKwiC,KAAKC,UAEjCwpE,EAAUhvG,KAAKm/I,UAAYn/I,KAAKq/I,eAIhCr/I,KAAKs/I,WAAWjkI,IAAIlU,IAAInH,KAAKY,SAASmD,EAAG/D,KAAKY,SAASoD,GAEvDgrG,EAAUhvG,KAAKs/I,WAAW38I,OAAS3C,KAAKo/I,cAGxCp/I,KAAKy/I,iBAEL,IAAI7mH,EAAS54B,KAAKy/I,iBAAiBj7I,KAAKxE,KAAK0/I,wBAAyB1/I,KAAMA,KAAKu4I,SAAUvpC,GAG/F,QAAIkxC,GAAYlxC,GAAW,QAAiBzoG,IAAXqyB,IAAmC,IAAXA,KAErD54B,KAAKmgJ,aAAcnxC,GAAW,GAAOhvG,KAAKk/I,uBAAyBgB,IAC5D,IAgBfC,aAAc,SAAUC,GAEhBpgJ,KAAKi/I,WAELj/I,KAAKi/I,UAAW,EAEZmB,GAEApgJ,KAAKu4I,SAASpxI,IAAI,GAOtBnH,KAAKw/I,eAAe/5G,SAASzlC,KAAKsjB,OAA2B,IAAlBtjB,KAAKm8I,UAAoC,IAAlBn8I,KAAKq8I,YAU/En1G,WAAY,WAGHlnC,KAAKgZ,QAAWhZ,KAAKwR,QAMtBxR,KAAKi/I,UAELj/I,KAAKigJ,iBAGTjgJ,KAAKwR,OAAQ,EAETxR,KAAK8tE,SAAW,EAEhB9tE,KAAK0+I,OAASl9I,EAAOsqB,KAEhB9rB,KAAK8tE,SAAW,IAErB9tE,KAAK0+I,OAASl9I,EAAOuqB,OAGrB/rB,KAAK2pD,SAAW,EAEhB3pD,KAAK0+I,OAASl9I,EAAOwqB,GAEhBhsB,KAAK2pD,SAAW,IAErB3pD,KAAK0+I,OAASl9I,EAAOyqB,MAGrBjsB,KAAKs8I,QAELt8I,KAAKm2D,IAAMn2D,KAAK8tE,SAChB9tE,KAAKo2D,IAAMp2D,KAAK2pD,SAEQ,IAApB3pD,KAAKu+I,SAASx6I,GAAwB,IAAb/D,KAAKm2D,MAE1Bn2D,KAAKm2D,IAAM,GAAKn2D,KAAKm2D,KAAOn2D,KAAKu+I,SAASx6I,EAE1C/D,KAAKm2D,KAAOn2D,KAAKu+I,SAASx6I,EAErB/D,KAAKm2D,IAAM,GAAKn2D,KAAKm2D,IAAMn2D,KAAKu+I,SAASx6I,IAE9C/D,KAAKm2D,IAAMn2D,KAAKu+I,SAASx6I,IAIT,IAApB/D,KAAKu+I,SAASv6I,GAAwB,IAAbhE,KAAKo2D,MAE1Bp2D,KAAKo2D,IAAM,GAAKp2D,KAAKo2D,KAAOp2D,KAAKu+I,SAASv6I,EAE1ChE,KAAKo2D,KAAOp2D,KAAKu+I,SAASv6I,EAErBhE,KAAKo2D,IAAM,GAAKp2D,KAAKo2D,IAAMp2D,KAAKu+I,SAASv6I,IAE9ChE,KAAKo2D,IAAMp2D,KAAKu+I,SAASv6I,IAIjChE,KAAKsjB,OAAO1iB,SAASmD,GAAK/D,KAAKm2D,IAC/Bn2D,KAAKsjB,OAAO1iB,SAASoD,GAAKhE,KAAKo2D,IAC/Bp2D,KAAKizE,QAAS,GAGlBjzE,KAAKggJ,eAEDhgJ,KAAKg4I,gBAELh4I,KAAKsjB,OAAOsS,OAAS51B,KAAK+tE,UAG9B/tE,KAAKm7E,KAAKp3E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAKm7E,KAAKn3E,EAAIhE,KAAKY,SAASoD,IAUhC8nE,iBAAkB,WAEd,IAAInwC,EAAM37B,KAAKY,SACXkE,EAAS9E,KAAK+C,KAAK+jC,QAAQ0vG,OAAO1xI,OAClCu7I,EAAQrgJ,KAAK+C,KAAK+jC,QAAQ0vG,OAAOY,eAEjC7wD,EAAMvmF,KAAgB,aAAKA,KAAKw+I,YAAYz6I,GAAK/D,KAAK87I,OAAO/3I,EAC7DyiF,EAAMxmF,KAAgB,aAAKA,KAAKw+I,YAAYx6I,GAAKhE,KAAK87I,OAAO93I,EAgCjE,OA9BI23B,EAAI53B,EAAIe,EAAOf,GAAKs8I,EAAM1sH,MAE1BgI,EAAI53B,EAAIe,EAAOf,EACf/D,KAAKu4I,SAASx0I,GAAKwiF,EACnBvmF,KAAK8+I,QAAQnrH,MAAO,EACpB3zB,KAAK8+I,QAAQpE,MAAO,GAEf16I,KAAK0zB,MAAQ5uB,EAAO4uB,OAAS2sH,EAAM3sH,QAExCiI,EAAI53B,EAAIe,EAAO4uB,MAAQ1zB,KAAKpC,MAC5BoC,KAAKu4I,SAASx0I,GAAKwiF,EACnBvmF,KAAK8+I,QAAQprH,OAAQ,EACrB1zB,KAAK8+I,QAAQpE,MAAO,GAGpB/+G,EAAI33B,EAAIc,EAAOd,GAAKq8I,EAAM57E,IAE1B9oC,EAAI33B,EAAIc,EAAOd,EACfhE,KAAKu4I,SAASv0I,GAAKwiF,EACnBxmF,KAAK8+I,QAAQr6E,IAAK,EAClBzkE,KAAK8+I,QAAQpE,MAAO,GAEf16I,KAAKs2B,OAASxxB,EAAOwxB,QAAU+pH,EAAM5xF,OAE1C9yB,EAAI33B,EAAIc,EAAOwxB,OAASt2B,KAAKnC,OAC7BmC,KAAKu4I,SAASv0I,GAAKwiF,EACnBxmF,KAAK8+I,QAAQrwF,MAAO,EACpBzuD,KAAK8+I,QAAQpE,MAAO,IAGhB16I,KAAK8+I,QAAQpE,MAiCzB4F,SAAU,SAAUz9G,EAAU2e,EAAO7c,GAIjC,QAFcp+B,IAAVi7C,IAAuBA,EAAQxhD,KAAKwhD,OAE1B,IAAVA,EAEA,OAAO,EAGX,IAAI5rB,EA+BJ,YA7BkBrvB,IAAdo+B,GAEA/O,EAAQ51B,KAAK41B,MACb+O,EAAY3kC,KAAK+C,KAAK8iC,KAAK7I,SAASpH,IAIpCA,EAAQ51B,KAAK+C,KAAK8iC,KAAKpP,SAASkO,GAGpC3kC,KAAKm/I,UAAY,EACjBn/I,KAAKq/I,aAAex8G,EAGF,IAAd8B,GAAiC,MAAdA,EAEnB3kC,KAAKu4I,SAASpxI,IAAIzD,KAAKI,IAAI8xB,GAAS4rB,EAAO,GAExB,KAAd7c,GAAkC,MAAdA,EAEzB3kC,KAAKu4I,SAASpxI,IAAI,EAAGzD,KAAKG,IAAI+xB,GAAS4rB,GAIvCxhD,KAAKu4I,SAASp8G,WAAWvG,EAAO4rB,GAGpCxhD,KAAKi/I,UAAW,GAET,GAgCX/+D,OAAQ,SAAUr9C,EAAUrN,EAAUmP,GAElC,IAAI6c,EAAQhsB,GAAYqN,EAAW,KAEnC,GAAc,IAAV2e,EAEA,OAAO,EAGX,IAAI5rB,EA6CJ,YA3CkBrvB,IAAdo+B,GAEA/O,EAAQ51B,KAAK41B,MACb+O,EAAY3kC,KAAK+C,KAAK8iC,KAAK7I,SAASpH,IAIpCA,EAAQ51B,KAAK+C,KAAK8iC,KAAKpP,SAASkO,GAGpCnP,EAAW9xB,KAAKizB,IAAInB,GAEpBx1B,KAAKq/I,aAAe,EACpBr/I,KAAKo/I,aAAe5pH,EAEI,OAApBx1B,KAAKs/I,aAELt/I,KAAKs/I,WAAa,IAAI99I,EAAOy2B,KAC7Bj4B,KAAKu/I,QAAU,IAAI/9I,EAAOX,OAG9Bb,KAAKs/I,WAAW/mH,UAAUv4B,KAAK+D,EAAG/D,KAAKgE,EAAG4xB,EAAOJ,GAEjDx1B,KAAKu/I,QAAQp4I,IAAInH,KAAKs/I,WAAWjkI,IAAItX,EAAG/D,KAAKs/I,WAAWjkI,IAAIrX,GAE5DhE,KAAKs/I,WAAWlqH,MAAMp1B,KAAK+D,EAAG/D,KAAKgE,EAAGhE,KAAK+D,EAAG/D,KAAKgE,GAGjC,IAAd2gC,GAAiC,MAAdA,EAEnB3kC,KAAKu4I,SAASpxI,IAAIzD,KAAKI,IAAI8xB,GAAS4rB,EAAO,GAExB,KAAd7c,GAAkC,MAAdA,EAEzB3kC,KAAKu4I,SAASpxI,IAAI,EAAGzD,KAAKG,IAAI+xB,GAAS4rB,GAIvCxhD,KAAKu4I,SAASp8G,WAAWvG,EAAO4rB,GAGpCxhD,KAAKi/I,UAAW,GAET,GA2CX94G,QAAS,SAAUvoC,EAAOC,EAAQ6mB,EAASC,QAEvBpe,IAAZme,IAAyBA,EAAU1kB,KAAKyX,OAAO1T,QACnCwC,IAAZoe,IAAyBA,EAAU3kB,KAAKyX,OAAOzT,GAEnDhE,KAAK23F,YAAc/5F,EACnBoC,KAAK43F,aAAe/5F,EACpBmC,KAAKpC,MAAQoC,KAAK23F,YAAc33F,KAAK2/I,IACrC3/I,KAAKnC,OAASmC,KAAK43F,aAAe53F,KAAK4/I,IACvC5/I,KAAK42B,UAAYlzB,KAAKmsB,MAAM7vB,KAAKpC,MAAQ,GACzCoC,KAAK62B,WAAanzB,KAAKmsB,MAAM7vB,KAAKnC,OAAS,GAC3CmC,KAAKyX,OAAO2d,MAAM1Q,EAASC,GAE3B3kB,KAAKggJ,eAELhgJ,KAAK26I,UAAW,EAChB36I,KAAKm1B,OAAS,GAmBlBorH,UAAW,SAAUprH,EAAQzQ,EAASC,QAElBpe,IAAZme,IAAyBA,EAAU1kB,KAAKyX,OAAO1T,QACnCwC,IAAZoe,IAAyBA,EAAU3kB,KAAKyX,OAAOzT,GAE/CmxB,EAAS,GAETn1B,KAAK26I,UAAW,EAChB36I,KAAKm1B,OAASA,EAEdn1B,KAAK23F,YAAuB,EAATxiE,EACnBn1B,KAAK43F,aAAwB,EAATziE,EAEpBn1B,KAAKpC,MAAQoC,KAAK23F,YAAc33F,KAAK2/I,IACrC3/I,KAAKnC,OAASmC,KAAK43F,aAAe53F,KAAK4/I,IAEvC5/I,KAAK42B,UAAYlzB,KAAKmsB,MAAM7vB,KAAKpC,MAAQ,GACzCoC,KAAK62B,WAAanzB,KAAKmsB,MAAM7vB,KAAKnC,OAAS,GAE3CmC,KAAKyX,OAAO2d,MAAM1Q,EAASC,GAE3B3kB,KAAKggJ,gBAILhgJ,KAAK26I,UAAW,GAWxBv0G,MAAO,SAAUriC,EAAGC,GAEhBhE,KAAKmM,OAELnM,KAAKY,SAASmD,EAAKA,EAAK/D,KAAKsjB,OAAO3c,OAAO5C,EAAI/D,KAAKsjB,OAAO1lB,MAAUoC,KAAKsjB,OAAOxiB,MAAMiD,EAAI/D,KAAKyX,OAAO1T,EACvG/D,KAAKY,SAASmD,GAAK/D,KAAKsjB,OAAOxiB,MAAMiD,EAAI,EAAI/D,KAAKpC,MAAQ,EAE1DoC,KAAKY,SAASoD,EAAKA,EAAKhE,KAAKsjB,OAAO3c,OAAO3C,EAAIhE,KAAKsjB,OAAOzlB,OAAWmC,KAAKsjB,OAAOxiB,MAAMkD,EAAIhE,KAAKyX,OAAOzT,EACxGhE,KAAKY,SAASoD,GAAKhE,KAAKsjB,OAAOxiB,MAAMkD,EAAI,EAAIhE,KAAKnC,OAAS,EAE3DmC,KAAKm7E,KAAKp3E,EAAI/D,KAAKY,SAASmD,EAC5B/D,KAAKm7E,KAAKn3E,EAAIhE,KAAKY,SAASoD,EAE5BhE,KAAKgB,SAAWhB,KAAKsjB,OAAOsS,MAC5B51B,KAAKq+I,YAAcr+I,KAAKgB,SAExBhB,KAAK6/I,eAEL7/I,KAAKggJ,gBAQT7zI,KAAM,WAEFnM,KAAKu4I,SAASpxI,IAAI,GAClBnH,KAAKw4I,aAAarxI,IAAI,GACtBnH,KAAKwhD,MAAQ,EACbxhD,KAAKm4I,gBAAkB,EACvBn4I,KAAKo4I,oBAAsB,GAY/BluI,UAAW,SAAU6nB,GAOjB,OALAA,EAAIhuB,EAAI/D,KAAK+D,EACbguB,EAAI/tB,EAAIhE,KAAKgE,EACb+tB,EAAI2B,MAAQ1zB,KAAK0zB,MACjB3B,EAAIuE,OAASt2B,KAAKs2B,OAEXvE,GAWX20B,QAAS,SAAU3iD,EAAGC,GAElB,OAAQhE,KAAa,SAAIwB,EAAOmzB,OAAOrqB,SAAStK,KAAM+D,EAAGC,GAAKxC,EAAOS,UAAUqI,SAAStK,KAAM+D,EAAGC,IASrGw8I,QAAS,WAEL,OAAOxgJ,KAAK8+I,QAAQrwF,MASxBgyF,UAAW,WAEP,OAAOzgJ,KAAK8+I,QAAQr6E,IASxBi8E,OAAQ,WAEJ,OAAQ1gJ,KAAK8+I,QAAQnrH,MAAQ3zB,KAAK8+I,QAAQprH,OAS9CsoH,UAAW,WAEP,OAAQh8I,KAAK8tE,SAAW,EAAI9tE,KAAK8tE,UAAY9tE,KAAK8tE,UAStDsuE,UAAW,WAEP,OAAQp8I,KAAK2pD,SAAW,EAAI3pD,KAAK2pD,UAAY3pD,KAAK2pD,UAStDmkB,OAAQ,WAEJ,OAAO9tE,KAAKY,SAASmD,EAAI/D,KAAKm7E,KAAKp3E,GASvC4lD,OAAQ,WAEJ,OAAO3pD,KAAKY,SAASoD,EAAIhE,KAAKm7E,KAAKn3E,GASvC+pE,OAAQ,WAEJ,OAAO/tE,KAAKgB,SAAWhB,KAAKq+I,aAWhC77I,QAAS,WAEDxC,KAAKsjB,OAAOjiB,QAAUrB,KAAKsjB,OAAOjiB,kBAAkBG,EAAO8wC,OAE3DtyC,KAAKsjB,OAAOjiB,OAAOgxC,eAAeryC,KAAKsjB,QAG3CtjB,KAAKsjB,OAAO6uB,KAAO,KACnBnyC,KAAKsjB,OAAS,OAStBtc,OAAOyF,eAAejL,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAW,QAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,KAU7BiD,OAAOyF,eAAejL,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAW,SAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,EAAI/D,KAAKpC,SAStCoJ,OAAOyF,eAAejL,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAW,OAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,KAU7BgD,OAAOyF,eAAejL,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAW,UAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,EAAIhE,KAAKnC,UAStCmJ,OAAOyF,eAAejL,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAW,KAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASmD,GAGzBoD,IAAK,SAAUC,GAEXpH,KAAKY,SAASmD,EAAIqD,KAS1BJ,OAAOyF,eAAejL,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAW,KAExD4E,IAAK,WAED,OAAOlH,KAAKY,SAASoD,GAGzBmD,IAAK,SAAUC,GAEXpH,KAAKY,SAASoD,EAAIoD,KAe1B5F,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKzmI,OAAS,SAAU2I,EAASqkC,EAAM97B,EAAOqzH,EAAQtpD,QAEzD75E,IAAXmjI,IAAwBA,GAAS,GAErCrzH,EAAQA,GAAS,oBAEjBvI,EAAQ6a,UAAYtS,EACpBvI,EAAQuyE,YAAchqE,EACtBvI,EAAQsyE,UAAYA,GAAa,EAE7BjuC,EAAKwoG,UAEL7sI,EAAQiyE,YACRjyE,EAAQkyE,IAAI7tC,EAAKrT,OAAO/6B,EAAIouC,EAAKpvC,KAAK+X,OAAO/W,EAAGouC,EAAKrT,OAAO96B,EAAImuC,EAAKpvC,KAAK+X,OAAO9W,EAAGmuC,EAAKvb,UAAW,EAAG,EAAIlzB,KAAKsxB,IAE5G00G,EAEA57H,EAAQi5C,OAIRj5C,EAAQwyE,UAIZopD,EAEA57H,EAAQgb,SAASqpB,EAAKvxC,SAASmD,EAAIouC,EAAKpvC,KAAK+X,OAAO/W,EAAGouC,EAAKvxC,SAASoD,EAAImuC,EAAKpvC,KAAK+X,OAAO9W,EAAGmuC,EAAKv0C,MAAOu0C,EAAKt0C,QAI9GiQ,EAAQq9E,WAAWh5C,EAAKvxC,SAASmD,EAAIouC,EAAKpvC,KAAK+X,OAAO/W,EAAGouC,EAAKvxC,SAASoD,EAAImuC,EAAKpvC,KAAK+X,OAAO9W,EAAGmuC,EAAKv0C,MAAOu0C,EAAKt0C,SAaxH2D,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKO,eAAiB,SAAUjiG,EAAOiI,GAEzDjI,EAAMxR,KAAK,MAAQyZ,EAAKpuC,EAAEuqC,QAAQ,GAAI,MAAQ6D,EAAKnuC,EAAEsqC,QAAQ,GAAI,UAAY6D,EAAKv0C,MAAO,WAAau0C,EAAKt0C,QAC3GqsC,EAAMxR,KAAK,eAAiByZ,EAAKomG,SAASx0I,EAAEuqC,QAAQ,GAAI,MAAQ6D,EAAKomG,SAASv0I,EAAEsqC,QAAQ,GAAI,WAAa6D,EAAKgkB,IAAI7nB,QAAQ,GAAI,WAAa6D,EAAKikB,IAAI9nB,QAAQ,IAC5JpE,EAAMxR,KAAK,mBAAqByZ,EAAKqmG,aAAaz0I,EAAEuqC,QAAQ,GAAI,MAAQ6D,EAAKqmG,aAAax0I,EAAEsqC,QAAQ,GAAI,UAAY6D,EAAKqP,MAAMlT,QAAQ,GAAI,UAAY6D,EAAKvc,MAAM0Y,QAAQ,IAC1KpE,EAAMxR,KAAK,cAAgByZ,EAAKglG,QAAQpzI,EAAG,MAAQouC,EAAKglG,QAAQnzI,EAAG,aAAemuC,EAAK2pG,OAAO/3I,EAAEuqC,QAAQ,GAAI,MAAQ6D,EAAK2pG,OAAO93I,EAAEsqC,QAAQ,IAC1IpE,EAAMxR,KAAK,kBAAoByZ,EAAK+pG,SAASvoH,KAAM,UAAYwe,EAAK+pG,SAASxoH,MAAO,OAASye,EAAK+pG,SAASz3E,GAAI,SAAWtyB,EAAK+pG,SAASztF,MACxIvkB,EAAMxR,KAAK,iBAAmByZ,EAAK2sG,QAAQnrH,KAAM,UAAYwe,EAAK2sG,QAAQprH,MAAO,OAASye,EAAK2sG,QAAQr6E,GAAI,SAAWtyB,EAAK2sG,QAAQrwF,OAGvIjtD,EAAOkxC,QAAQ2iC,OAAOu2D,KAAKtpI,UAAUC,YAAcf,EAAOkxC,QAAQ2iC,OAAOu2D,KAgBzEpqI,EAAOkxC,QAAQ2iC,OAAOsrE,iBAAmB,aAEzCn/I,EAAOkxC,QAAQ2iC,OAAOsrE,iBAAiBr+I,WAKnCs+I,UAAW,GAcX/G,4BAA6B,SAAUv2H,EAAQu9H,EAAc1H,EAAiBH,EAAiB1vG,EAAiBkwG,GAE5G,GAAKl2H,EAAO6uB,KAAZ,CAKA,IAAIuyE,EAAUm8B,EAAaC,SACvBx9H,EAAO6uB,KAAKvxC,SAASmD,EAAIuf,EAAO6uB,KAAK4sG,YAAYh7I,EAAI88I,EAAaE,iBAClEz9H,EAAO6uB,KAAKvxC,SAASoD,EAAIsf,EAAO6uB,KAAK4sG,YAAY/6I,EAAI68I,EAAaG,iBAClE19H,EAAO6uB,KAAKv0C,MAAQ0lB,EAAO6uB,KAAK4sG,YAAYh7I,EAC5Cuf,EAAO6uB,KAAKt0C,OAASylB,EAAO6uB,KAAK4sG,YAAY/6I,GAC7C,GAAO,GAEX,GAAuB,IAAnB0gH,EAAQ/hH,OAKZ,IAAK,IAAID,EAAI,EAAGA,EAAIgiH,EAAQ/hH,OAAQD,IAE5Bs2I,EAEIA,EAAgBx0I,KAAK8kC,EAAiBhmB,EAAQohG,EAAQhiH,KAElD1C,KAAKihJ,aAAav+I,EAAG4gB,EAAO6uB,KAAMuyE,EAAQhiH,GAAIm+I,EAAcrH,KAE5Dx5I,KAAK03I,SAEDyB,GAEAA,EAAgB30I,KAAK8kC,EAAiBhmB,EAAQohG,EAAQhiH,KAMlE1C,KAAKihJ,aAAav+I,EAAG4gB,EAAO6uB,KAAMuyE,EAAQhiH,GAAIm+I,EAAcrH,KAE5Dx5I,KAAK03I,SAEDyB,GAEAA,EAAgB30I,KAAK8kC,EAAiBhmB,EAAQohG,EAAQhiH,OAkBtEq3I,2BAA4B,SAAUx/F,EAAOsmG,EAAc1H,EAAiBH,EAAiB1vG,EAAiBkwG,GAE1G,GAAqB,IAAjBj/F,EAAM53C,OAKV,IAAK,IAAID,EAAI,EAAGA,EAAI63C,EAAM93C,SAASE,OAAQD,IAEnC63C,EAAM93C,SAASC,GAAGwK,QAElBlN,KAAK65I,4BAA4Bt/F,EAAM93C,SAASC,GAAIm+I,EAAc1H,EAAiBH,EAAiB1vG,EAAiBkwG,IAejIyH,aAAc,SAAUv+I,EAAGyvC,EAAM+uG,EAAML,EAAcrH,GAEjD,IAAKrnG,EAAKn5B,OAEN,OAAO,EAGX,IAAImoI,EAAsBN,EAAaE,iBACnCK,EAAsBP,EAAaG,iBAGvC,IAAKE,EAAK1qH,WAAY2b,EAAKvxC,SAASmD,EAAIo9I,EAAuBhvG,EAAKvxC,SAASoD,EAAIo9I,EAAuBjvG,EAAKze,MAAQytH,EAAuBhvG,EAAK7b,OAAS8qH,GAGtJ,OAAO,EAEN,GAAI5H,EAGL,OAAO,EAMX,GAAI0H,EAAKG,oBAAsBH,EAAKG,kBAAkB78I,KAAK08I,EAAKI,yBAA0BnvG,EAAK7uB,OAAQ49H,GAGnG,OAAO,EAEN,QAAoC,IAAzBA,EAAK3P,MAAM91E,WAA6BylF,EAAK3P,MAAM91E,UAAUylF,EAAKt4I,SAAWs4I,EAAK3P,MAAM91E,UAAUylF,EAAKt4I,OAAOosC,SAASxwC,KAAK08I,EAAK3P,MAAM91E,UAAUylF,EAAKt4I,OAAO0gC,gBAAiB6I,EAAK7uB,OAAQ49H,GAGvM,OAAO,EAIX,KAAKA,EAAKK,UAAaL,EAAKM,WAAcN,EAAKO,SAAYP,EAAKQ,YAG5D,OAAO,EAGX,IAAIt2D,EAAK,EACLC,EAAK,EACLzgF,EAAO,EACPE,EAAO,EAoBX,GAlBIqnC,EAAK6pG,YAAc7pG,EAAKiqG,YAGxBxxI,GAAQ,EAEHunC,EAAK6pG,YAAc7pG,EAAKiqG,cAG7BtxI,GAAQ,GAGU,IAAlBqnC,EAAK27B,UAAoC,IAAlB37B,EAAKwX,WAAmBu3F,EAAKK,UAAYL,EAAKM,aAAeN,EAAKO,SAAWP,EAAKQ,cAGzG92I,EAAOlH,KAAK41B,IAAI51B,KAAKizB,IAAKwb,EAAKvxC,SAASmD,EAAIo9I,EAAuBD,EAAKxtH,OAAQhwB,KAAKizB,IAAKwb,EAAKze,MAAQytH,EAAuBD,EAAKvtH,OACnI7oB,EAAOpH,KAAK41B,IAAI51B,KAAKizB,IAAKwb,EAAKvxC,SAASoD,EAAIo9I,EAAuBF,EAAK5qH,QAAS5yB,KAAKizB,IAAKwb,EAAK7b,OAAS8qH,EAAuBF,EAAK7qH,OAGrIzrB,EAAOE,EACX,CACI,IAAIo2I,EAAKK,UAAYL,EAAKM,YAKX,KAHXp2D,EAAKprF,KAAK2hJ,WAAWxvG,EAAM+uG,EAAML,MAGhBK,EAAK1qH,WAAY2b,EAAKvxC,SAASmD,EAAIo9I,EAAuBhvG,EAAKvxC,SAASoD,EAAIo9I,EAAuBjvG,EAAKze,MAAQytH,EAAuBhvG,EAAK7b,OAAS8qH,GAElK,OAAO,GAIXF,EAAKO,SAAWP,EAAKQ,cAErBr2D,EAAKrrF,KAAK4hJ,WAAWzvG,EAAM+uG,EAAML,QAIzC,CACI,IAAIK,EAAKO,SAAWP,EAAKQ,aAKV,KAHXr2D,EAAKrrF,KAAK4hJ,WAAWzvG,EAAM+uG,EAAML,MAGhBK,EAAK1qH,WAAY2b,EAAKvxC,SAASmD,EAAIo9I,EAAuBhvG,EAAKvxC,SAASoD,EAAIo9I,EAAuBjvG,EAAKze,MAAQytH,EAAuBhvG,EAAK7b,OAAS8qH,GAElK,OAAO,GAIXF,EAAKK,UAAYL,EAAKM,aAEtBp2D,EAAKprF,KAAK2hJ,WAAWxvG,EAAM+uG,EAAML,IAIzC,OAAe,IAAPz1D,GAAmB,IAAPC,GAaxBs2D,WAAY,SAAUxvG,EAAM+uG,EAAML,GAE9B,IAAIz1D,EAAK,EACL+1D,EAAsBN,EAAaE,iBAyCvC,OAvCI5uG,EAAK27B,SAAW,IAAM37B,EAAK2sG,QAAQnrH,MAAQutH,EAAKW,cAAgB1vG,EAAKilG,eAAezjH,KAGhFutH,EAAKM,WAAcrvG,EAAKpuC,EAAIo9I,EAAuBD,EAAKxtH,QAExD03D,EAAMj5C,EAAKpuC,EAAIo9I,EAAuBD,EAAKxtH,QAEjC1zB,KAAK4gJ,YAEXx1D,EAAK,GAIRj5C,EAAK27B,SAAW,IAAM37B,EAAK2sG,QAAQprH,OAASwtH,EAAKY,aAAe3vG,EAAKilG,eAAe1jH,OAGrFwtH,EAAKK,UAAapvG,EAAKze,MAAQytH,EAAuBD,EAAKvtH,OAE3Dy3D,EAAMj5C,EAAKze,MAAQytH,EAAuBD,EAAKvtH,MAEtC3zB,KAAK4gJ,YAEVx1D,EAAK,GAKN,IAAPA,IAEIj5C,EAAKupG,gBAELvpG,EAAKgqG,SAAW/wD,EAIhBprF,KAAK+hJ,uBAAuB5vG,EAAMi5C,IAInCA,GAaXw2D,WAAY,SAAUzvG,EAAM+uG,EAAML,GAE9B,IAAIx1D,EAAK,EACL+1D,EAAsBP,EAAaG,iBAyCvC,OAvCI7uG,EAAKwX,SAAW,IAAMxX,EAAK2sG,QAAQr6E,IAAMy8E,EAAKc,aAAe7vG,EAAKilG,eAAe3yE,GAG7Ey8E,EAAKQ,YAAevvG,EAAKnuC,EAAIo9I,EAAuBF,EAAK5qH,SAEzD+0D,EAAMl5C,EAAKnuC,EAAIo9I,EAAuBF,EAAK5qH,SAEjCt2B,KAAK4gJ,YAEXv1D,EAAK,GAIRl5C,EAAKwX,SAAW,IAAMxX,EAAK2sG,QAAQrwF,MAAQyyF,EAAKe,WAAa9vG,EAAKilG,eAAe3oF,MAGlFyyF,EAAKO,SAAYtvG,EAAK7b,OAAS8qH,EAAuBF,EAAK7qH,MAE3Dg1D,EAAMl5C,EAAK7b,OAAS8qH,EAAuBF,EAAK7qH,KAEvCr2B,KAAK4gJ,YAEVv1D,EAAK,GAKN,IAAPA,IAEIl5C,EAAKwqG,gBAELxqG,EAAKkqG,SAAWhxD,EAIhBrrF,KAAKkiJ,uBAAuB/vG,EAAMk5C,IAInCA,GAWX02D,uBAAwB,SAAU5vG,EAAMpuC,GAEhCA,EAAI,GAEJouC,EAAK2sG,QAAQnrH,MAAO,EACpBwe,EAAK2sG,QAAQpE,MAAO,GAEf32I,EAAI,IAETouC,EAAK2sG,QAAQprH,OAAQ,EACrBye,EAAK2sG,QAAQpE,MAAO,GAGxBvoG,EAAKvxC,SAASmD,GAAKA,EAEG,IAAlBouC,EAAK2pG,OAAO/3I,EAEZouC,EAAKomG,SAASx0I,EAAI,EAIlBouC,EAAKomG,SAASx0I,GAAKouC,EAAKomG,SAASx0I,EAAIouC,EAAK2pG,OAAO/3I,GAYzDm+I,uBAAwB,SAAU/vG,EAAMnuC,GAEhCA,EAAI,GAEJmuC,EAAK2sG,QAAQr6E,IAAK,EAClBtyB,EAAK2sG,QAAQpE,MAAO,GAEf12I,EAAI,IAETmuC,EAAK2sG,QAAQrwF,MAAO,EACpBtc,EAAK2sG,QAAQpE,MAAO,GAGxBvoG,EAAKvxC,SAASoD,GAAKA,EAEG,IAAlBmuC,EAAK2pG,OAAO93I,EAEZmuC,EAAKomG,SAASv0I,EAAI,EAIlBmuC,EAAKomG,SAASv0I,GAAKmuC,EAAKomG,SAASv0I,EAAImuC,EAAK2pG,OAAO93I,IAO7DxC,EAAOgwB,MAAM4C,eAAe5yB,EAAOkxC,QAAQ2iC,OAAO/yE,UAAWd,EAAOkxC,QAAQ2iC,OAAOsrE,iBAAiBr+I,WAuBpGd,EAAO2gJ,gBAAkB,SAAUnwH,EAAMowH,EAAUxkJ,EAAOC,EAAQmiH,EAAQC,EAAS9pB,SAEjE5vF,IAAV3I,GAAuBA,GAAS,KAAKA,EAAQ,UAClC2I,IAAX1I,GAAwBA,GAAU,KAAKA,EAAS,SACrC0I,IAAXy5G,IAAwBA,EAAS,QACrBz5G,IAAZ05G,IAAyBA,EAAU,GAMvCjgH,KAAKgyB,KAAOA,EAOZhyB,KAAKoiJ,SAAsB,EAAXA,EAOhBpiJ,KAAKqiJ,WAAqB,EAARzkJ,EAOlBoC,KAAKsiJ,YAAuB,EAATzkJ,EASnBmC,KAAKuiJ,YAAuB,EAATviC,EAQnBhgH,KAAKwiJ,aAAyB,EAAVviC,EAMpBjgH,KAAKm2F,WAAaA,MAQlBn2F,KAAKutH,UAQLvtH,KAAKg5C,MAAQ,GAGjBx3C,EAAO2gJ,gBAAgB7/I,WASnBmgJ,mBAAoB,SAAUC,GAE1B,OACIA,GAAc1iJ,KAAKoiJ,UACnBM,EAAc1iJ,KAAKoiJ,SAAWpiJ,KAAKg5C,OAW3CojC,SAAU,SAAUumE,EAAKzoI,GAErBla,KAAKutH,OAAOzlH,MAAO66I,IAAKA,EAAKzoI,MAAOA,IACpCla,KAAKg5C,UAKbx3C,EAAO2gJ,gBAAgB7/I,UAAUC,YAAcf,EAAO2gJ,gBAoBtD3gJ,EAAOohJ,KAAO,SAAUrR,EAAO3oI,EAAO7E,EAAGC,EAAGpG,EAAOC,GAK/CmC,KAAKuxI,MAAQA,EAKbvxI,KAAK4I,MAAQA,EAKb5I,KAAK+D,EAAIA,EAKT/D,KAAKgE,EAAIA,EAKThE,KAAKgB,SAAW,EAKhBhB,KAAK6iJ,SAAU,EAKf7iJ,KAAKoqI,OAASrmI,EAAInG,EAKlBoC,KAAKqqI,OAASrmI,EAAInG,EAKlBmC,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAK63B,QAAUn0B,KAAKizB,IAAI/4B,EAAQ,GAKhCoC,KAAK83B,QAAUp0B,KAAKizB,IAAI94B,EAAS,GAKjCmC,KAAKiB,MAAQ,EAKbjB,KAAKm2F,cAKLn2F,KAAK8iJ,SAAU,EAKf9iJ,KAAKyhJ,SAAU,EAKfzhJ,KAAK0hJ,YAAa,EAKlB1hJ,KAAKuhJ,UAAW,EAKhBvhJ,KAAKwhJ,WAAY,EAMjBxhJ,KAAK8hJ,aAAc,EAMnB9hJ,KAAK6hJ,cAAe,EAMpB7hJ,KAAKiiJ,WAAY,EAMjBjiJ,KAAKgiJ,aAAc,EAMnBhiJ,KAAKqhJ,kBAAoB,KAMzBrhJ,KAAKshJ,yBAA2BthJ,KAMhCA,KAAKkqC,OAAQ,GAGjB1oC,EAAOohJ,KAAKtgJ,WAURg/B,cAAe,SAAUv9B,EAAGC,GAExB,QAASD,EAAI/D,KAAKoqI,QAAUpmI,EAAIhE,KAAKqqI,QAAUtmI,EAAI/D,KAAK0zB,OAAS1vB,EAAIhE,KAAKs2B,SAY9EE,WAAY,SAAUzyB,EAAGC,EAAG0vB,EAAO4C,GAE/B,QAAI5C,GAAS1zB,KAAKoqI,YAKd9zG,GAAUt2B,KAAKqqI,YAKftmI,GAAK/D,KAAKoqI,OAASpqI,KAAKpC,UAKxBoG,GAAKhE,KAAKqqI,OAASrqI,KAAKnC,WAgBhCklJ,qBAAsB,SAAU/tG,EAAUlnC,GAEtC9N,KAAKqhJ,kBAAoBrsG,EACzBh1C,KAAKshJ,yBAA2BxzI,GAQpCtL,QAAS,WAELxC,KAAKqhJ,kBAAoB,KACzBrhJ,KAAKshJ,yBAA2B,KAChCthJ,KAAKm2F,WAAa,MAYtB6sD,aAAc,SAAUrvH,EAAMD,EAAO+wC,EAAIhW,GAErCzuD,KAAK8hJ,YAAcnuH,EACnB3zB,KAAK6hJ,aAAenuH,EACpB1zB,KAAKiiJ,UAAYx9E,EACjBzkE,KAAKgiJ,YAAcvzF,EAEnBzuD,KAAKuhJ,SAAW5tH,EAChB3zB,KAAKwhJ,UAAY9tH,EACjB1zB,KAAKyhJ,QAAUh9E,EACfzkE,KAAK0hJ,WAAajzF,GAQtBw0F,eAAgB,WAEZjjJ,KAAK8hJ,aAAc,EACnB9hJ,KAAK6hJ,cAAe,EACpB7hJ,KAAKiiJ,WAAY,EACjBjiJ,KAAKgiJ,aAAc,EAEnBhiJ,KAAKyhJ,SAAU,EACfzhJ,KAAK0hJ,YAAa,EAClB1hJ,KAAKuhJ,UAAW,EAChBvhJ,KAAKwhJ,WAAY,GAWrB0B,cAAe,SAAUC,EAAUC,GAE/B,OAAID,GAAYC,EAGJpjJ,KAAK8hJ,aAAe9hJ,KAAK6hJ,cAAgB7hJ,KAAKiiJ,WAAajiJ,KAAKgiJ,aAAehiJ,KAAKyhJ,SAAWzhJ,KAAK0hJ,YAAc1hJ,KAAKuhJ,UAAYvhJ,KAAKwhJ,WAAaxhJ,KAAKqhJ,kBAE7J8B,EAGGnjJ,KAAK8hJ,aAAe9hJ,KAAK6hJ,cAAgB7hJ,KAAKiiJ,WAAajiJ,KAAKgiJ,cAEnEoB,IAGGpjJ,KAAKyhJ,SAAWzhJ,KAAK0hJ,YAAc1hJ,KAAKuhJ,UAAYvhJ,KAAKwhJ,YAYzExtH,KAAM,SAAUktH,GAEZlhJ,KAAK4I,MAAQs4I,EAAKt4I,MAClB5I,KAAKiB,MAAQigJ,EAAKjgJ,MAClBjB,KAAKm2F,WAAa+qD,EAAK/qD,WAEvBn2F,KAAKiiJ,UAAYf,EAAKe,UACtBjiJ,KAAKgiJ,YAAcd,EAAKc,YACxBhiJ,KAAK8hJ,YAAcZ,EAAKY,YACxB9hJ,KAAK6hJ,aAAeX,EAAKW,aAEzB7hJ,KAAKqhJ,kBAAoBH,EAAKG,kBAC9BrhJ,KAAKshJ,yBAA2BJ,EAAKI,2BAK7C9/I,EAAOohJ,KAAKtgJ,UAAUC,YAAcf,EAAOohJ,KAO3C57I,OAAOyF,eAAejL,EAAOohJ,KAAKtgJ,UAAW,YAEzC4E,IAAK,WAED,OAAQlH,KAAK8hJ,aAAe9hJ,KAAK6hJ,cAAgB7hJ,KAAKiiJ,WAAajiJ,KAAKgiJ,eAUhFh7I,OAAOyF,eAAejL,EAAOohJ,KAAKtgJ,UAAW,cAEzC4E,IAAK,WAED,OAAQlH,KAAK8hJ,aAAe9hJ,KAAK6hJ,cAAgB7hJ,KAAKiiJ,WAAajiJ,KAAKgiJ,aAAehiJ,KAAKqhJ,qBAUpGr6I,OAAOyF,eAAejL,EAAOohJ,KAAKtgJ,UAAW,QAEzC4E,IAAK,WAED,OAAOlH,KAAKoqI,UAUpBpjI,OAAOyF,eAAejL,EAAOohJ,KAAKtgJ,UAAW,SAEzC4E,IAAK,WAED,OAAOlH,KAAKoqI,OAASpqI,KAAKpC,SAUlCoJ,OAAOyF,eAAejL,EAAOohJ,KAAKtgJ,UAAW,OAEzC4E,IAAK,WAED,OAAOlH,KAAKqqI,UAUpBrjI,OAAOyF,eAAejL,EAAOohJ,KAAKtgJ,UAAW,UAEzC4E,IAAK,WAED,OAAOlH,KAAKqqI,OAASrqI,KAAKnC,UAgClC2D,EAAO4wE,QAAU,SAAUrvE,EAAMiQ,EAAKojE,EAAWC,EAAYz4E,EAAOC,GAKhEmC,KAAK+C,KAAOA,EAKZ/C,KAAKgT,IAAMA,EAEX,IAAIoB,EAAO5S,EAAO6hJ,cAAc7kH,MAAMx+B,KAAK+C,KAAMiQ,EAAKojE,EAAWC,EAAYz4E,EAAOC,GAEvE,OAATuW,IAQJpU,KAAKpC,MAAQwW,EAAKxW,MAKlBoC,KAAKnC,OAASuW,EAAKvW,OAKnBmC,KAAKo2E,UAAYhiE,EAAKgiE,UAKtBp2E,KAAKq2E,WAAajiE,EAAKiiE,WAKvBr2E,KAAKwkI,YAAcpwH,EAAKowH,YAKxBxkI,KAAKyU,OAASL,EAAKK,OAKnBzU,KAAKsjJ,QAAUlvI,EAAKkvI,QAKpBtjJ,KAAKm2F,WAAa/hF,EAAK+hF,WAKvBn2F,KAAKujJ,cAAgBnvI,EAAKmvI,cAK1BvjJ,KAAKwjJ,eAAiBpvI,EAAKovI,eAK3BxjJ,KAAKghH,OAAS5sG,EAAK4sG,OAKnBhhH,KAAKyjJ,SAAWrvI,EAAKqvI,SAKrBzjJ,KAAK0jJ,iBAAmBtvI,EAAKsvI,iBAK7B1jJ,KAAKmhH,MAAQ/sG,EAAK+sG,MAKlBnhH,KAAK8vG,QAAU17F,EAAK07F,QAKpB9vG,KAAK2jJ,kBAKL3jJ,KAAK4jJ,UAAYxvI,EAAKwvI,UAKtB5jJ,KAAKutH,OAASn5G,EAAKm5G,OAKnBvtH,KAAKg9C,aAAc,EAKnBh9C,KAAK6jJ,aAAe,EAKpB7jJ,KAAK8jJ,YAML9jJ,KAAK+jJ,YAML/jJ,KAAKgkJ,OAAS,EAMdhkJ,KAAKu7E,OAAS,IAOlB/5E,EAAO4wE,QAAQ87C,IAAM,EAMrB1sH,EAAO4wE,QAAQ+7C,WAAa,EAM5B3sH,EAAO4wE,QAAQ6xE,MAAQ,EAMvBziJ,EAAO4wE,QAAQ8xE,KAAO,EAMtB1iJ,EAAO4wE,QAAQ+xE,MAAQ,EAMvB3iJ,EAAO4wE,QAAQgyE,KAAO,EAEtB5iJ,EAAO4wE,QAAQ9vE,WAcXkG,OAAQ,SAAUwpB,EAAMp0B,EAAOC,EAAQu4E,EAAWC,EAAY97B,GAW1D,YATch0C,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAE7CjD,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKqkJ,YAAYjuE,EAAWC,GAE5Br2E,KAAKghH,OAAOr+G,OAAS,EAEd3C,KAAKskJ,iBAAiBtyH,EAAMp0B,EAAOC,EAAQu4E,EAAWC,EAAY97B,IAU7E8pG,YAAa,SAAUjuE,EAAWC,GAE9Br2E,KAAKo2E,UAAYA,EACjBp2E,KAAKq2E,WAAaA,EAClBr2E,KAAKujJ,cAAgBvjJ,KAAKpC,MAAQw4E,EAClCp2E,KAAKwjJ,eAAiBxjJ,KAAKnC,OAASw4E,GAmBxCkuE,gBAAiB,SAAUC,EAASxxI,EAAKojE,EAAWC,EAAYouE,EAAYC,EAAa/B,GAErF,QAAgBp8I,IAAZi+I,EAAyB,OAAO,UAClBj+I,IAAd6vE,IAA2BA,EAAYp2E,KAAKo2E,gBAC7B7vE,IAAf8vE,IAA4BA,EAAar2E,KAAKq2E,iBAC/B9vE,IAAfk+I,IAA4BA,EAAa,QACzBl+I,IAAhBm+I,IAA6BA,EAAc,QACnCn+I,IAARo8I,IAAqBA,EAAM,GAGb,IAAdvsE,IAEAA,EAAY,IAGG,IAAfC,IAEAA,EAAa,IAGjB,IAAI/D,EAAM,KAOV,QALY/rE,IAARyM,GAA6B,OAARA,IAErBA,EAAMwxI,GAGNxxI,aAAexR,EAAOuwE,WAEtBO,EAAMt/D,EAAIkE,WAGd,CACI,IAAKlX,KAAK+C,KAAKiX,MAAM4+E,cAAc5lF,GAG/B,OADA1S,QAAQ+Z,KAAK,6DAA+DrH,EAAM,KAC3E,KAGXs/D,EAAMtyE,KAAK+C,KAAKiX,MAAMu4D,SAASv/D,GAGnC,IAAI2jF,EAAM32F,KAAK2kJ,gBAAgBH,GAE/B,GAAY,OAAR7tD,GAAgB32F,KAAKyU,SAAWjT,EAAO4wE,QAAQ+7C,WAI/C,OAFA7tH,QAAQ+Z,KAAK,yFAA2FmqI,EAAU,KAClHlkJ,QAAQ+P,IAAI,aAAcrQ,KAAKyjJ,UACxB,KAGX,GAAIzjJ,KAAKyjJ,SAAS9sD,GAGd,OADA32F,KAAKyjJ,SAAS9sD,GAAKiuD,SAAStyE,GACrBtyE,KAAKyjJ,SAAS9sD,GAIrB,IAAIkuD,EAAS,IAAIrjJ,EAAOsjJ,QAAQN,EAAS7B,EAAKvsE,EAAWC,EAAYouE,EAAYC,MAEjFG,EAAOD,SAAStyE,GAEhBtyE,KAAKyjJ,SAAS37I,KAAK+8I,GAUnB,IAAK,IARDniJ,EAAI1C,KAAKyjJ,SAAS9gJ,OAAS,EAC3BoB,EAAI0gJ,EACJzgJ,EAAIygJ,EAEJlmI,EAAQ,EACRwmI,EAAS,EACTC,EAAS,EAEJn0H,EAAI8xH,EAAK9xH,EAAI8xH,EAAMkC,EAAO7rG,QAE/Bh5C,KAAKmhH,MAAMtwF,IAAO9sB,EAAGC,EAAGtB,GAExBqB,GAAKqyE,EAAYsuE,IAEjBnmI,IAEcsmI,EAAO7rG,WAKrB+rG,IAEeF,EAAOI,UAElBlhJ,EAAI0gJ,EACJzgJ,GAAKqyE,EAAaquE,EAElBK,EAAS,IACTC,IAEeH,EAAOK,OAvBYr0H,KA8B1C,OAAOg0H,GA4BfM,kBAAmB,SAAUnzH,EAAM2wH,EAAK3vI,EAAK3F,EAAOH,EAAQ0+D,EAAUrxB,EAAO6qG,EAAaC,EAASC,GAS/F,QAPe/+I,IAAX2G,IAAwBA,GAAS,QACpB3G,IAAbqlE,IAA0BA,GAAW,QAC3BrlE,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,YACzBsD,IAAhB6+I,IAA6BA,EAAc5jJ,EAAOsE,aACtCS,IAAZ8+I,IAAyBA,GAAU,QACpB9+I,IAAf++I,IAA4BA,GAAa,IAExCtlJ,KAAK8vG,QAAQ99E,GAId,OAFA1xB,QAAQ+Z,KAAK,8DAAgE2X,QAC7E1xB,QAAQ+P,IAAI,YAAarQ,KAAK8vG,SAIlC,IAAK,IAAIptG,EAAI,EAAGA,EAAI1C,KAAK8vG,QAAQ99E,GAAMrvB,OAAQD,IAC/C,CACI,IAAI6iJ,GAAQ,EACRxzH,EAAM/xB,KAAK8vG,QAAQ99E,GAAMtvB,GAe7B,QAbgB6D,IAAZwrB,EAAI4wH,KAAoC,iBAARA,GAAoB5wH,EAAI4wH,MAAQA,EAEhE4C,GAAQ,OAEQh/I,IAAXwrB,EAAI7d,IAAmC,iBAARyuI,GAAoB5wH,EAAI7d,KAAOyuI,EAEnE4C,GAAQ,OAEUh/I,IAAbwrB,EAAIC,MAAqC,iBAAR2wH,GAAoB5wH,EAAIC,OAAS2wH,IAEvE4C,GAAQ,GAGRA,EACJ,CACI,IAAIjiI,EAAS,IAAI8hI,EAAYplJ,KAAK+C,KAAM47B,WAAW5M,EAAIhuB,GAAI46B,WAAW5M,EAAI/tB,GAAIgP,EAAK3F,GAEnFiW,EAAO0O,KAAOD,EAAIC,KAClB1O,EAAOsoD,SAAWA,EAClBtoD,EAAOpW,OAASA,EAChBoW,EAAOpiB,QAAU6wB,EAAI7wB,QAEjBokJ,IAEIvzH,EAAIn0B,QAEJ0lB,EAAO1lB,MAAQm0B,EAAIn0B,OAGnBm0B,EAAIl0B,SAEJylB,EAAOzlB,OAASk0B,EAAIl0B,SAIxBk0B,EAAI/wB,WAEJsiB,EAAOsS,MAAQ7D,EAAI/wB,UAGnBqkJ,IAEA/hI,EAAOtf,GAAKsf,EAAOzlB,QAGvB08C,EAAMthB,IAAI3V,GAEV,IAAK,IAAI0zB,KAAYjlB,EAAIokE,WAErB57C,EAAMpzC,IAAImc,EAAQ0zB,EAAUjlB,EAAIokE,WAAWn/C,IAAW,GAAO,EAAO,GAAG,MAqBvFwuG,gBAAiB,SAAUrkC,EAAOskC,EAAczyI,EAAKu+H,EAAOh3F,EAAO47C,GAE1C,iBAAVgrB,IAAsBA,GAAUA,SAEtB56G,IAAjBk/I,GAA+C,OAAjBA,EAE9BA,KAE6B,iBAAjBA,IAEZA,GAAiBA,IAGrBlU,EAAQvxI,KAAK0lJ,SAASnU,QAERhrI,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,YAC1BsD,IAAf4vF,IAA4BA,WAED5vF,IAA3B4vF,EAAWwvD,cAEXxvD,EAAWwvD,YAAcnkJ,EAAOsE,aAGTS,IAAvB4vF,EAAWkvD,UAEXlvD,EAAWkvD,SAAU,GAGzB,IAAIO,EAAK5lJ,KAAKghH,OAAOuwB,GAAO3zI,MACxBioJ,EAAK7lJ,KAAKghH,OAAOuwB,GAAO1zI,OAI5B,GAFAmC,KAAKg0B,KAAK,EAAG,EAAG4xH,EAAIC,EAAItU,GAEpBvxI,KAAK+jJ,SAASphJ,OAAS,EAEvB,OAAO,EAMX,IAAK,IAFD2gB,EADA01B,EAAQ,EAGHt2C,EAAI,EAAGouB,EAAM9wB,KAAK+jJ,SAASphJ,OAAQD,EAAIouB,EAAKpuB,IAEjD,IAA+C,IAA3Cy+G,EAAM93G,QAAQrJ,KAAK+jJ,SAASrhJ,GAAGkG,OACnC,CACI0a,EAAS,IAAI6yE,EAAWwvD,YAAY3lJ,KAAK+C,KAAM/C,KAAK+jJ,SAASrhJ,GAAG0nI,OAAQpqI,KAAK+jJ,SAASrhJ,GAAG2nI,OAAQr3H,GAEjG,IAAK,IAAIgkC,KAAYm/C,EAEjB7yE,EAAO0zB,GAAYm/C,EAAWn/C,GAGlCuD,EAAMthB,IAAI3V,GACV01B,IAIR,GAA4B,IAAxBysG,EAAa9iJ,OAGb,IAAKD,EAAI,EAAGA,EAAIy+G,EAAMx+G,OAAQD,IAE1B1C,KAAKs0B,QAAQ6sF,EAAMz+G,GAAI+iJ,EAAa,GAAI,EAAG,EAAGG,EAAIC,EAAItU,QAGzD,GAAIkU,EAAa9iJ,OAAS,EAG3B,IAAKD,EAAI,EAAGA,EAAIy+G,EAAMx+G,OAAQD,IAE1B1C,KAAKs0B,QAAQ6sF,EAAMz+G,GAAI+iJ,EAAa/iJ,GAAI,EAAG,EAAGkjJ,EAAIC,EAAItU,GAI9D,OAAOv4F,GAgBX8sG,YAAa,SAAUvU,EAAO3zI,EAAOC,EAAQ08C,QAI3Bh0C,IAAV3I,IAAuBA,EAAQoC,KAAK+C,KAAKnF,YAC9B2I,IAAX1I,IAAwBA,EAASmC,KAAK+C,KAAKlF,aACjC0I,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAE7C,IAAI2F,EAAQ2oI,EAOZ,GALqB,iBAAVA,IAEP3oI,EAAQ5I,KAAK+lJ,cAAcxU,IAGjB,OAAV3oI,GAAkBA,EAAQ5I,KAAKghH,OAAOr+G,OAItC,OAFArC,QAAQ+Z,KAAK,iDAAmDk3H,EAAQ,UACxEjxI,QAAQ+P,IAAI,WAAYrQ,KAAKghH,aAMnBz6G,IAAV3I,GAAuBA,GAAS,EAEhCA,EAAQ8F,KAAK41B,IAAIt5B,KAAK+C,KAAKnF,MAAOoC,KAAKghH,OAAOp4G,GAAO26I,eAEhD3lJ,EAAQoC,KAAK+C,KAAKnF,QAEvBA,EAAQoC,KAAK+C,KAAKnF,YAGP2I,IAAX1I,GAAwBA,GAAU,EAElCA,EAAS6F,KAAK41B,IAAIt5B,KAAK+C,KAAKlF,OAAQmC,KAAKghH,OAAOp4G,GAAO46I,gBAElD3lJ,EAASmC,KAAK+C,KAAKlF,SAExBA,EAASmC,KAAK+C,KAAKlF,QAGnBmC,KAAKg9C,cAEL18C,QAAQi6C,MAAM,uBACdj6C,QAAQ+P,IAAI,QAASrQ,KAAKghH,OAAOp4G,GAAOopB,MACxC1xB,QAAQ+P,IAAI,QAASzS,EAAO,IAAKC,GACjCyC,QAAQ+P,IAAI,WAAYrQ,KAAKyjJ,SAAS,GAAGzxH,KAAM,SAAUppB,IAG7D,IAAIo9I,EAAYzrG,EAAMthB,IAAI,IAAIz3B,EAAO6wE,aAAaryE,KAAK+C,KAAM/C,KAAM4I,EAAOhL,EAAOC,IAOjF,OALImC,KAAKg9C,aAEL18C,QAAQ2lJ,WAGLD,GAgBX1B,iBAAkB,SAAUtyH,EAAMp0B,EAAOC,EAAQu4E,EAAWC,EAAY97B,QAEtDh0C,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAE7C,CAAA,GAAiC,OAA7BjD,KAAK+lJ,cAAc/zH,GAAvB,CA4BA,IAAK,IAHDmuF,EAnBAoxB,GAEAv/G,KAAMA,EACNjuB,EAAG,EACHC,EAAG,EACHpG,MAAOA,EACPC,OAAQA,EACR0lJ,cAAe3lJ,EAAQw4E,EACvBotE,eAAgB3lJ,EAASw4E,EACzBp1E,MAAO,EACPC,SAAS,EACTi1F,cACA+vD,WACAzqF,aACA0qF,UACA/xI,KAAM,MAKNshB,KAEK1xB,EAAI,EAAGA,EAAInG,EAAQmG,IAC5B,CACIm8G,KAEA,IAAK,IAAIp8G,EAAI,EAAGA,EAAInG,EAAOmG,IAEvBo8G,EAAIr4G,KAAK,IAAItG,EAAOohJ,KAAKrR,GAAQ,EAAGxtI,EAAGC,EAAGoyE,EAAWC,IAGzD3gD,EAAO5tB,KAAKq4G,GAGhBoxB,EAAMn9H,KAAOshB,EAEb11B,KAAKghH,OAAOl5G,KAAKypI,GAEjBvxI,KAAK6jJ,aAAe7jJ,KAAKghH,OAAOr+G,OAAS,EAEzC,IAAI0S,EAAIk8H,EAAMgS,cACVh/H,EAAIgtH,EAAMiS,eAed,OAbInuI,EAAIrV,KAAK+C,KAAKnF,QAEdyX,EAAIrV,KAAK+C,KAAKnF,OAGd2mB,EAAIvkB,KAAK+C,KAAKlF,SAEd0mB,EAAIvkB,KAAK+C,KAAKlF,SAGd63B,EAAS,IAAIl0B,EAAO6wE,aAAaryE,KAAK+C,KAAM/C,KAAMA,KAAKghH,OAAOr+G,OAAS,EAAG0S,EAAGkP,IAC1EyN,KAAOA,EAEPuoB,EAAMthB,IAAIvD,GA5Dbp1B,QAAQ+Z,KAAK,sEAAwE2X,KAwE7F6jB,SAAU,SAAU46D,EAAUz+E,GAE1B,IAAK,IAAItvB,EAAI,EAAGA,EAAI+tG,EAAS9tG,OAAQD,IAEjC,GAAI+tG,EAAS/tG,GAAGsvB,OAASA,EAErB,OAAOtvB,EAIf,OAAO,MAUXqjJ,cAAe,SAAU/zH,GAErB,OAAOhyB,KAAK61C,SAAS71C,KAAKghH,OAAQhvF,IAUtC2yH,gBAAiB,SAAU3yH,GAEvB,OAAOhyB,KAAK61C,SAAS71C,KAAKyjJ,SAAUzxH,IAUxCo0H,cAAe,SAAUp0H,GAErB,OAAOhyB,KAAK61C,SAAS71C,KAAKutH,OAAQv7F,IAgBtCq0H,qBAAsB,SAAUH,EAASlxG,EAAU1L,EAAiBioG,GAIhE,GAFAA,EAAQvxI,KAAK0lJ,SAASnU,GAEC,iBAAZ2U,EAEU,OAAblxG,SAEOh1C,KAAKghH,OAAOuwB,GAAO91E,UAAUyqF,GAQpClmJ,KAAKghH,OAAOuwB,GAAO91E,UAAUyqF,IAAalxG,SAAUA,EAAU1L,gBAAiBA,QAKnF,IAAK,IAAI5mC,EAAI,EAAGouB,EAAMo1H,EAAQvjJ,OAAQD,EAAIouB,EAAKpuB,IAE1B,OAAbsyC,SAEOh1C,KAAKghH,OAAOuwB,GAAO91E,UAAUyqF,EAAQxjJ,IAI5C1C,KAAKghH,OAAOuwB,GAAO91E,UAAUyqF,EAAQxjJ,KAAQsyC,SAAUA,EAAU1L,gBAAiBA,IAsBlGg9G,wBAAyB,SAAUviJ,EAAGC,EAAGpG,EAAOC,EAAQm3C,EAAU1L,EAAiBioG,GAM/E,GAJAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,KAE3BvxI,KAAK+jJ,SAASphJ,OAAS,GAK3B,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK+jJ,SAASphJ,OAAQD,IAEtC1C,KAAK+jJ,SAASrhJ,GAAGqgJ,qBAAqB/tG,EAAU1L,IAkBxD05G,aAAc,SAAUkD,EAAS/C,EAAU5R,EAAOgV,GAO9C,QALiBhgJ,IAAb48I,IAA0BA,GAAW,QACrB58I,IAAhBggJ,IAA6BA,GAAc,GAE/ChV,EAAQvxI,KAAK0lJ,SAASnU,GAEC,iBAAZ2U,EAEP,OAAOlmJ,KAAKwmJ,oBAAoBN,EAAS/C,EAAU5R,GAAO,GAEzD,GAAI9pI,MAAMC,QAAQw+I,GACvB,CAEI,IAAK,IAAIxjJ,EAAI,EAAGA,EAAIwjJ,EAAQvjJ,OAAQD,IAEhC1C,KAAKwmJ,oBAAoBN,EAAQxjJ,GAAIygJ,EAAU5R,GAAO,GAGtDgV,GAGAvmJ,KAAKymJ,eAAelV,KAiBhCmV,oBAAqB,SAAUp6I,EAAOH,EAAMg3I,EAAU5R,EAAOgV,GAOzD,QALiBhgJ,IAAb48I,IAA0BA,GAAW,QACrB58I,IAAhBggJ,IAA6BA,GAAc,GAE/ChV,EAAQvxI,KAAK0lJ,SAASnU,KAElBjlI,EAAQH,GAAZ,CAKA,IAAK,IAAIvD,EAAQ0D,EAAO1D,GAASuD,EAAMvD,IAEnC5I,KAAKwmJ,oBAAoB59I,EAAOu6I,EAAU5R,GAAO,GAGjDgV,GAGAvmJ,KAAKymJ,eAAelV,KAc5BoV,wBAAyB,SAAUT,EAAS/C,EAAU5R,EAAOgV,QAExChgJ,IAAb48I,IAA0BA,GAAW,QACrB58I,IAAhBggJ,IAA6BA,GAAc,GAE/ChV,EAAQvxI,KAAK0lJ,SAASnU,GAGtB,IAAK,IAAI7uI,EAAI,EAAGouB,EAAM9wB,KAAKmhH,MAAMx+G,OAAQD,EAAIouB,EAAKpuB,KAElB,IAAxBwjJ,EAAQ78I,QAAQ3G,IAEhB1C,KAAKwmJ,oBAAoB9jJ,EAAGygJ,EAAU5R,GAAO,GAIjDgV,GAGAvmJ,KAAKymJ,eAAelV,IAe5BiV,oBAAqB,SAAU59I,EAAOu6I,EAAU5R,EAAOgV,GAMnD,QAJiBhgJ,IAAb48I,IAA0BA,GAAW,QAC3B58I,IAAVgrI,IAAuBA,EAAQvxI,KAAK6jJ,mBACpBt9I,IAAhBggJ,IAA6BA,GAAc,GAE3CpD,EAEAnjJ,KAAK2jJ,eAAe77I,KAAKc,OAG7B,CACI,IAAIlG,EAAI1C,KAAK2jJ,eAAet6I,QAAQT,GAEhClG,GAAK,GAEL1C,KAAK2jJ,eAAe76I,OAAOpG,EAAG,GAItC,IAAK,IAAIsB,EAAI,EAAGA,EAAIhE,KAAKghH,OAAOuwB,GAAO1zI,OAAQmG,IAE3C,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAKghH,OAAOuwB,GAAO3zI,MAAOmG,IAC9C,CACI,IAAIm9I,EAAOlhJ,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAElCm9I,GAAQA,EAAKt4I,QAAUA,IAEnBu6I,EAEAjC,EAAK8B,cAAa,GAAM,GAAM,GAAM,GAIpC9B,EAAK+B,iBAGT/B,EAAKO,QAAU0B,EACfjC,EAAKQ,WAAayB,EAClBjC,EAAKK,SAAW4B,EAChBjC,EAAKM,UAAY2B,GAW7B,OANIoD,GAGAvmJ,KAAKymJ,eAAelV,GAGjBA,GAWXmU,SAAU,SAAUnU,GAEhB,QAAchrI,IAAVgrI,EAEAA,EAAQvxI,KAAK6jJ,kBAEZ,GAAqB,iBAAVtS,EAChB,CACI,IAAIqV,EAAWrV,EAID,QAFdA,EAAQvxI,KAAK+lJ,cAAcxU,KAIvBjxI,QAAQ+Z,KAAK,uBAAyBusI,QAGrCrV,aAAiB/vI,EAAO6wE,eAE7Bk/D,EAAQA,EAAM3oI,OAGlB,OAAO2oI,GAUXsV,sBAAuB,SAAUz/I,GAQ7B,IANc,IAAVA,IAAiD,IAA/BpH,KAAK8mJ,wBAEvB9mJ,KAAK8mJ,uBAAwB,EAC7B9mJ,KAAK+mJ,uBAGK,IAAV3/I,IAAkD,IAA/BpH,KAAK8mJ,sBAC5B,CACI9mJ,KAAK8mJ,uBAAwB,EAE7B,IAAK,IAAIpkJ,KAAK1C,KAAK+mJ,kBAEf/mJ,KAAKymJ,eAAe/jJ,GAGxB1C,KAAK+mJ,mBAAoB,IAWjCN,eAAgB,SAAUlV,GAEtB,GAAIvxI,KAAK8mJ,sBAEL9mJ,KAAK+mJ,kBAAkBxV,IAAS,OASpC,IAAK,IALDyV,EAAQ,KACRC,EAAQ,KACRtzH,EAAO,KACPD,EAAQ,KAEH1vB,EAAI,EAAGugB,EAAIvkB,KAAKghH,OAAOuwB,GAAO1zI,OAAQmG,EAAIugB,EAAGvgB,IAElD,IAAK,IAAID,EAAI,EAAGsR,EAAIrV,KAAKghH,OAAOuwB,GAAO3zI,MAAOmG,EAAIsR,EAAGtR,IACrD,CACI,IAAIm9I,EAAOlhJ,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAElCm9I,IAEA8F,EAAQhnJ,KAAKknJ,aAAa3V,EAAOxtI,EAAGC,GACpCijJ,EAAQjnJ,KAAKmnJ,aAAa5V,EAAOxtI,EAAGC,GACpC2vB,EAAO3zB,KAAKonJ,YAAY7V,EAAOxtI,EAAGC,GAClC0vB,EAAQ1zB,KAAKqnJ,aAAa9V,EAAOxtI,EAAGC,GAEhCk9I,EAAKiC,WAELjC,EAAKO,SAAU,EACfP,EAAKQ,YAAa,EAClBR,EAAKK,UAAW,EAChBL,EAAKM,WAAY,GAGjBwF,GAASA,EAAM7D,WAGfjC,EAAKO,SAAU,GAGfwF,GAASA,EAAM9D,WAGfjC,EAAKQ,YAAa,GAGlB/tH,GAAQA,EAAKwvH,WAGbjC,EAAKK,UAAW,GAGhB7tH,GAASA,EAAMyvH,WAGfjC,EAAKM,WAAY,MAgBrC0F,aAAc,SAAU3V,EAAOxtI,EAAGC,GAE9B,OAAIA,EAAI,EAEGhE,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,EAAI,GAAGD,GAGnC,MAYXojJ,aAAc,SAAU5V,EAAOxtI,EAAGC,GAE9B,OAAIA,EAAIhE,KAAKghH,OAAOuwB,GAAO1zI,OAAS,EAEzBmC,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,EAAI,GAAGD,GAGnC,MAYXqjJ,YAAa,SAAU7V,EAAOxtI,EAAGC,GAE7B,OAAID,EAAI,EAEG/D,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,EAAI,GAGnC,MAYXsjJ,aAAc,SAAU9V,EAAOxtI,EAAGC,GAE9B,OAAID,EAAI/D,KAAKghH,OAAOuwB,GAAO3zI,MAAQ,EAExBoC,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,EAAI,GAGnC,MASXujJ,SAAU,SAAU/V,GAEhBA,EAAQvxI,KAAK0lJ,SAASnU,GAElBvxI,KAAKghH,OAAOuwB,KAEZvxI,KAAK6jJ,aAAetS,IAa5BgW,QAAS,SAAUxjJ,EAAGC,EAAGutI,GAIrB,OAFAA,EAAQvxI,KAAK0lJ,SAASnU,QAEahrI,IAA/BvG,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,SAAsDuC,IAAlCvG,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,IAKnE/D,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAG6E,OAAS,GAYnD4+I,WAAY,SAAUzjJ,EAAGC,EAAGutI,GAIxB,GAFAA,EAAQvxI,KAAK0lJ,SAASnU,GAElBxtI,GAAK,GAAKA,EAAI/D,KAAKghH,OAAOuwB,GAAO3zI,OAASoG,GAAK,GAAKA,EAAIhE,KAAKghH,OAAOuwB,GAAO1zI,QAEvEmC,KAAKunJ,QAAQxjJ,EAAGC,EAAGutI,GACvB,CACI,IAAI2P,EAAOlhJ,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAQtC,OANA/D,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAOohJ,KAAK5iJ,KAAKghH,OAAOuwB,IAAS,EAAGxtI,EAAGC,EAAGhE,KAAKo2E,UAAWp2E,KAAKq2E,YAEnGr2E,KAAKghH,OAAOuwB,GAAO//H,OAAQ,EAE3BxR,KAAKymJ,eAAelV,GAEb2P,IAgBnBuG,kBAAmB,SAAU1jJ,EAAGC,EAAGoyE,EAAWC,EAAYk7D,GAOtD,OALAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBxtI,EAAI/D,KAAK+C,KAAK8iC,KAAK+lE,YAAY7nG,EAAGqyE,GAAaA,EAC/CpyE,EAAIhE,KAAK+C,KAAK8iC,KAAK+lE,YAAY5nG,EAAGqyE,GAAcA,EAEzCr2E,KAAKwnJ,WAAWzjJ,EAAGC,EAAGutI,IAcjCmW,QAAS,SAAUxG,EAAMn9I,EAAGC,EAAGutI,GAE3B,GAAa,OAAT2P,EAEA,OAAOlhJ,KAAKwnJ,WAAWzjJ,EAAGC,EAAGutI,GAKjC,GAFAA,EAAQvxI,KAAK0lJ,SAASnU,GAElBxtI,GAAK,GAAKA,EAAI/D,KAAKghH,OAAOuwB,GAAO3zI,OAASoG,GAAK,GAAKA,EAAIhE,KAAKghH,OAAOuwB,GAAO1zI,OAC/E,CACI,IAAI+K,EA0CJ,OAxCIs4I,aAAgB1/I,EAAOohJ,MAEvBh6I,EAAQs4I,EAAKt4I,MAET5I,KAAKunJ,QAAQxjJ,EAAGC,EAAGutI,GAEnBvxI,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAGiwB,KAAKktH,GAInClhJ,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAOohJ,KAAKrR,EAAO3oI,EAAO7E,EAAGC,EAAGk9I,EAAKtjJ,MAAOsjJ,EAAKrjJ,UAKzF+K,EAAQs4I,EAEJlhJ,KAAKunJ,QAAQxjJ,EAAGC,EAAGutI,GAEnBvxI,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAG6E,MAAQA,EAItC5I,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAK,IAAIvC,EAAOohJ,KAAK5iJ,KAAKghH,OAAOuwB,GAAQ3oI,EAAO7E,EAAGC,EAAGhE,KAAKo2E,UAAWp2E,KAAKq2E,aAI1Gr2E,KAAK2jJ,eAAet6I,QAAQT,IAAU,EAEtC5I,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAGi/I,cAAa,GAAM,GAAM,GAAM,GAI7DhjJ,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAGk/I,iBAGlCjjJ,KAAKghH,OAAOuwB,GAAO//H,OAAQ,EAE3BxR,KAAKymJ,eAAelV,GAEbvxI,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAGtC,OAAO,MAeX4jJ,eAAgB,SAAUzG,EAAMn9I,EAAGC,EAAGoyE,EAAWC,EAAYk7D,GAOzD,OALAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBxtI,EAAI/D,KAAK+C,KAAK8iC,KAAK+lE,YAAY7nG,EAAGqyE,GAAaA,EAC/CpyE,EAAIhE,KAAK+C,KAAK8iC,KAAK+lE,YAAY5nG,EAAGqyE,GAAcA,EAEzCr2E,KAAK0nJ,QAAQxG,EAAMn9I,EAAGC,EAAGutI,IAoBpCqW,gBAAiB,SAAUh/I,EAAO4c,EAAMlH,EAASizH,EAAOsW,QAEvCthJ,IAATif,IAAsBA,EAAO,QACjBjf,IAAZ+X,IAAyBA,GAAU,GAEvCizH,EAAQvxI,KAAK0lJ,SAASnU,GAEtB,IAIIpxB,EAAK+gC,EAJL99I,EAAI,EACJvF,EAASmC,KAAKghH,OAAOuwB,GAAO1zI,OAC5BD,EAAQoC,KAAKghH,OAAOuwB,GAAO3zI,MAC3BwW,EAAOpU,KAAKghH,OAAOuwB,GAAOn9H,KAG9B,GAAIyzI,EAEA,IAAIjuH,KAGR,GAAItb,EAEA,IAASta,EAAInG,EAAS,EAAGmG,GAAK,EAAGA,IACjC,CACIm8G,EAAM/rG,EAAKpQ,GAEX,IAASD,EAAInG,EAAQ,EAAGmG,GAAK,EAAGA,IAI5B,IAFAm9I,EAAO/gC,EAAIp8G,IAEF6E,QAAUA,EAEf,GAAIxF,GAAKoiB,EACT,CACI,IAAIqiI,EAMA,OAAO3G,EAJPtnH,EAAQ9xB,KAAKo5I,QASjB99I,SAQhB,IAAK,IAAIY,EAAI,EAAGA,EAAInG,EAAQmG,IAC5B,CACIm8G,EAAM/rG,EAAKpQ,GAEX,IAAK,IAAID,EAAI,EAAGA,EAAInG,EAAOmG,IAIvB,IAFAm9I,EAAO/gC,EAAIp8G,IAEF6E,QAAUA,EAEf,GAAIxF,GAAKoiB,EACT,CACI,IAAIqiI,EAMA,OAAO3G,EAJPtnH,EAAQ9xB,KAAKo5I,QASjB99I,IAOpB,OAAOykJ,EAAMjuH,EAAU,MAa3BkuH,QAAS,SAAU/jJ,EAAGC,EAAGutI,EAAOwW,GAM5B,YAJgBxhJ,IAAZwhJ,IAAyBA,GAAU,GAEvCxW,EAAQvxI,KAAK0lJ,SAASnU,GAElBxtI,GAAK,GAAKA,EAAI/D,KAAKghH,OAAOuwB,GAAO3zI,OAASoG,GAAK,GAAKA,EAAIhE,KAAKghH,OAAOuwB,GAAO1zI,QAE9B,IAAzCmC,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAAG6E,MAE1Bm/I,EAEO/nJ,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAI3B,KAKJ/D,KAAKghH,OAAOuwB,GAAOn9H,KAAKpQ,GAAGD,GAK/B,MAgBfikJ,eAAgB,SAAUjkJ,EAAGC,EAAGoyE,EAAWC,EAAYk7D,EAAOwW,GAU1D,YARkBxhJ,IAAd6vE,IAA2BA,EAAYp2E,KAAKo2E,gBAC7B7vE,IAAf8vE,IAA4BA,EAAar2E,KAAKq2E,YAElDk7D,EAAQvxI,KAAK0lJ,SAASnU,GAEtBxtI,EAAI/D,KAAK+C,KAAK8iC,KAAK+lE,YAAY7nG,EAAGqyE,GAAaA,EAC/CpyE,EAAIhE,KAAK+C,KAAK8iC,KAAK+lE,YAAY5nG,EAAGqyE,GAAcA,EAEzCr2E,KAAK8nJ,QAAQ/jJ,EAAGC,EAAGutI,EAAOwW,IAcrC/zH,KAAM,SAAUjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAEjCA,EAAQvxI,KAAK0lJ,SAASnU,GAEtB,CAAA,GAAKvxI,KAAKghH,OAAOuwB,GAAjB,MAMUhrI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV3I,IAAuBA,EAAQoC,KAAKghH,OAAOuwB,GAAO3zI,YACvC2I,IAAX1I,IAAwBA,EAASmC,KAAKghH,OAAOuwB,GAAO1zI,QAEpDkG,EAAI,IAEJA,EAAI,GAGJC,EAAI,IAEJA,EAAI,GAGJpG,EAAQoC,KAAKghH,OAAOuwB,GAAO3zI,QAE3BA,EAAQoC,KAAKghH,OAAOuwB,GAAO3zI,OAG3BC,EAASmC,KAAKghH,OAAOuwB,GAAO1zI,SAE5BA,EAASmC,KAAKghH,OAAOuwB,GAAO1zI,QAGhCmC,KAAK+jJ,SAASphJ,OAAS,EAEvB3C,KAAK+jJ,SAASj8I,MAAO/D,EAAGA,EAAGC,EAAGA,EAAGpG,MAAOA,EAAOC,OAAQA,EAAQ0zI,MAAOA,IAEtE,IAAK,IAAIhuI,EAAKS,EAAGT,EAAKS,EAAInG,EAAQ0F,IAE9B,IAAK,IAAID,EAAKS,EAAGT,EAAKS,EAAInG,EAAO0F,IAE7BtD,KAAK+jJ,SAASj8I,KAAK9H,KAAKghH,OAAOuwB,GAAOn9H,KAAK7Q,GAAID,IAIvD,OAAOtD,KAAK+jJ,SAzCR/jJ,KAAK+jJ,SAASphJ,OAAS,IAqD/BslJ,MAAO,SAAUlkJ,EAAGC,EAAGkkJ,EAAW3W,GAO9B,QALUhrI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAE3ButI,EAAQvxI,KAAK0lJ,SAASnU,GAEjB2W,KAAaA,EAAUvlJ,OAAS,GAArC,CASA,IAAK,IAHD64F,EAAQz3F,EAAImkJ,EAAU,GAAGnkJ,EACzB03F,EAAQz3F,EAAIkkJ,EAAU,GAAGlkJ,EAEpBtB,EAAI,EAAGA,EAAIwlJ,EAAUvlJ,OAAQD,IAElC1C,KAAKghH,OAAOuwB,GAAOn9H,KAAKqnF,EAAQysD,EAAUxlJ,GAAGsB,GAAGw3F,EAAQ0sD,EAAUxlJ,GAAGqB,GAAGiwB,KAAKk0H,EAAUxlJ,IAG3F1C,KAAKghH,OAAOuwB,GAAO//H,OAAQ,EAC3BxR,KAAKymJ,eAAelV,KAgBxB77F,KAAM,SAAUyyG,EAAOC,EAAOrkJ,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAE/CA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAE3BvxI,KAAK+jJ,SAASphJ,OAAS,IAK3B3C,KAAKgkJ,OAASmE,EACdnoJ,KAAKu7E,OAAS6sE,EAEdpoJ,KAAK+jJ,SAASpzH,QAAQ3wB,KAAKqoJ,YAAaroJ,MAExCA,KAAKioJ,MAAMlkJ,EAAGC,EAAGhE,KAAK+jJ,SAAUxS,KAUpC8W,YAAa,SAAUjhJ,GAEfA,EAAMwB,QAAU5I,KAAKgkJ,OAGrB58I,EAAMwB,MAAQ5I,KAAKu7E,OAEdn0E,EAAMwB,QAAU5I,KAAKu7E,SAG1Bn0E,EAAMwB,MAAQ5I,KAAKgkJ,SAgB3BrzH,QAAS,SAAUqkB,EAAUlnC,EAAS/J,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAEvDA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAE3BvxI,KAAK+jJ,SAASphJ,OAAS,IAK3B3C,KAAK+jJ,SAASpzH,QAAQqkB,EAAUlnC,GAEhC9N,KAAKioJ,MAAMlkJ,EAAGC,EAAGhE,KAAK+jJ,SAAUxS,KAgBpCj9G,QAAS,SAAUllB,EAAQmmB,EAAMxxB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAMlD,GAJAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,KAE3BvxI,KAAK+jJ,SAASphJ,OAAS,GAA3B,CAKA,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK+jJ,SAASphJ,OAAQD,IAElC1C,KAAK+jJ,SAASrhJ,GAAGkG,QAAUwG,IAE3BpP,KAAK+jJ,SAASrhJ,GAAGkG,MAAQ2sB,GAIjCv1B,KAAKioJ,MAAMlkJ,EAAGC,EAAGhE,KAAK+jJ,SAAUxS,KAcpC5+G,OAAQ,SAAU5uB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAMnC,GAJAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,KAE3BvxI,KAAK+jJ,SAASphJ,OAAS,GAA3B,CAOA,IAAK,IAFDujJ,KAEKr1H,EAAI,EAAGA,EAAI7wB,KAAK+jJ,SAASphJ,OAAQkuB,IAEtC,GAAI7wB,KAAK+jJ,SAASlzH,GAAGjoB,MACrB,CACI,IAAI+tF,EAAM32F,KAAK+jJ,SAASlzH,GAAGjoB,OAEG,IAA1Bs9I,EAAQ78I,QAAQstF,IAEhBuvD,EAAQp+I,KAAK6uF,GAKzB,IAAK,IAAIj0F,EAAI,EAAGA,EAAI1C,KAAK+jJ,SAASphJ,OAAQD,IAEtC1C,KAAK+jJ,SAASrhJ,GAAGkG,MAAQ5I,KAAK+C,KAAK2iC,IAAI0U,KAAK8rG,GAGhDlmJ,KAAKioJ,MAAMlkJ,EAAGC,EAAGhE,KAAK+jJ,SAAUxS,KAcpC52F,QAAS,SAAU52C,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAMpC,GAJAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,KAE3BvxI,KAAK+jJ,SAASphJ,OAAS,GAA3B,CAOA,IAAK,IAFDujJ,KAEKr1H,EAAI,EAAGA,EAAI7wB,KAAK+jJ,SAASphJ,OAAQkuB,IAElC7wB,KAAK+jJ,SAASlzH,GAAGjoB,OAEjBs9I,EAAQp+I,KAAK9H,KAAK+jJ,SAASlzH,GAAGjoB,OAItCpH,EAAOu4C,WAAWY,QAAQurG,GAE1B,IAAK,IAAIxjJ,EAAI,EAAGA,EAAI1C,KAAK+jJ,SAASphJ,OAAQD,IAEtC1C,KAAK+jJ,SAASrhJ,GAAGkG,MAAQs9I,EAAQxjJ,EAAI,GAGzC1C,KAAKioJ,MAAMlkJ,EAAGC,EAAGhE,KAAK+jJ,SAAUxS,KAepCxqF,KAAM,SAAUn+C,EAAO7E,EAAGC,EAAGpG,EAAOC,EAAQ0zI,GAMxC,GAJAA,EAAQvxI,KAAK0lJ,SAASnU,GAEtBvxI,KAAKg0B,KAAKjwB,EAAGC,EAAGpG,EAAOC,EAAQ0zI,KAE3BvxI,KAAK+jJ,SAASphJ,OAAS,GAA3B,CAKA,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK+jJ,SAASphJ,OAAQD,IAEtC1C,KAAK+jJ,SAASrhJ,GAAGkG,MAAQA,EAG7B5I,KAAKioJ,MAAMlkJ,EAAGC,EAAGhE,KAAK+jJ,SAAUxS,KAQpC+W,gBAAiB,WAEbtoJ,KAAKghH,OAAOr+G,OAAS,EACrB3C,KAAK6jJ,aAAe,GAQxB0E,KAAM,WAKF,IAAK,IAHDC,EAAM,GACNr4H,GAAS,IAEJnsB,EAAI,EAAGA,EAAIhE,KAAKghH,OAAOhhH,KAAK6jJ,cAAchmJ,OAAQmG,IAC3D,CACI,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAKghH,OAAOhhH,KAAK6jJ,cAAcjmJ,MAAOmG,IAEtDykJ,GAAO,OAEHxoJ,KAAKghH,OAAOhhH,KAAK6jJ,cAAczvI,KAAKpQ,GAAGD,GAAK,EAExC/D,KAAK8jJ,SAAS9jJ,KAAKghH,OAAOhhH,KAAK6jJ,cAAczvI,KAAKpQ,GAAGD,IAErDosB,EAAKroB,KAAK,eAAiB9H,KAAK8jJ,SAAS9jJ,KAAKghH,OAAOhhH,KAAK6jJ,cAAczvI,KAAKpQ,GAAGD,KAIhFosB,EAAKroB,KAAK,uBAKdqoB,EAAKroB,KAAK,4BAIlB0gJ,GAAO,KAGXr4H,EAAK,GAAKq4H,EACVloJ,QAAQ+P,IAAI9K,MAAMjF,QAAS6vB,IAS/B3tB,QAAS,WAELxC,KAAKsoJ,kBACLtoJ,KAAKoU,QACLpU,KAAK+C,KAAO,OAKpBvB,EAAO4wE,QAAQ9vE,UAAUC,YAAcf,EAAO4wE,QAM9CprE,OAAOyF,eAAejL,EAAO4wE,QAAQ9vE,UAAW,SAE5C4E,IAAK,WAED,OAAOlH,KAAKghH,OAAOhhH,KAAK6jJ,eAG5B18I,IAAK,SAAUC,GAEPA,IAAUpH,KAAK6jJ,cAEf7jJ,KAAKsnJ,SAASlgJ,MA4B1B5F,EAAO6wE,aAAe,SAAUtvE,EAAMozE,EAASvtE,EAAOhL,EAAOC,GAEzDD,GAAS,EACTC,GAAU,EAEV2D,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAM,EAAG,GAQlC/C,KAAKyoJ,IAAMtyE,EAQXn2E,KAAK4I,MAAQA,EAQb5I,KAAKuxI,MAAQp7D,EAAQ6qC,OAAOp4G,GAO5B5I,KAAKkX,OAAS1V,EAAOqF,WAAW2B,OAAOxI,KAAMpC,EAAOC,GAOpDmC,KAAK8N,QAAU9N,KAAKkX,OAAOsB,WAAW,MAEtCxY,KAAKsN,WAAW,IAAI9O,KAAKqO,QAAQ,IAAIrO,KAAK2rB,YAAYnqB,KAAKkX,OAAQ,KAAMlX,KAAK+C,KAAK6B,cASnF5E,KAAKwT,KAAOhS,EAAOorB,aAMnB5sB,KAAK4yC,YAAcpxC,EAAOorB,aAe1B5sB,KAAK0oJ,gBACDC,mBAAmB,EACnBC,cAAe,GACfC,WAAY,MAShB7oJ,KAAKkqC,OAAQ,EAKblqC,KAAKkN,QAAS,EAkBdlN,KAAK8oJ,eAEDC,iBAAkB,mBAClBC,qBAAsB,oBAEtBC,iBAAiB,EAEjBC,WAAY,GACZC,iBAAkB,kBAClBC,sBAAuB,qBAU3BppJ,KAAKqpJ,cAAgB,EAQrBrpJ,KAAKspJ,cAAgB,EAOrBtpJ,KAAKwR,OAAQ,EAObxR,KAAKupJ,YAAc,EAOnBvpJ,KAAKwpJ,OAAQ,EAObxpJ,KAAKypJ,KAGDzc,QAAS,EACTF,QAAS,EACT4c,YAAa,EACbC,aAAc,EAEdvzE,UAAWD,EAAQC,UACnBC,WAAYF,EAAQE,WAOpB7nE,GAAI2nE,EAAQC,UACZ3nE,GAAI0nE,EAAQE,WAGZotE,aASJzjJ,KAAK4pJ,SAAW,EAOhB5pJ,KAAK6pJ,SAAW,EAMhB7pJ,KAAK8pJ,WAAa,IAAItoJ,EAAOX,MAAMb,KAAKuxI,MAAM7sH,SAAW,EAAG1kB,KAAKuxI,MAAM5sH,SAAW,GAOlF3kB,KAAK+jJ,YAEAhhJ,EAAKknB,OAAO02E,oBAEb3gG,KAAK0oJ,eAAeG,WAAarnJ,EAAO6wE,aAAa03E,0BAGzD/pJ,KAAK4zC,eAAgB,GAGzBpyC,EAAO6wE,aAAa/vE,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WAC5Dd,EAAO6wE,aAAa/vE,UAAUC,YAAcf,EAAO6wE,aAEnD7wE,EAAO6wE,aAAa/vE,UAAU20E,cAAgBz1E,EAAO0pE,UAAUiB,KAAKznE,UAQpElD,EAAO6wE,aAAa23E,iBAAmB,KAWvCxoJ,EAAO6wE,aAAa03E,uBAAyB,WAOzC,OALK/pJ,KAAKgqJ,mBAENhqJ,KAAKgqJ,iBAAmBxoJ,EAAOqF,WAAW2B,OAAOxI,KAAM,EAAG,IAGvDA,KAAKgqJ,kBAQhBxoJ,EAAO6wE,aAAa/vE,UAAUoC,UAAY,WAEtC,OAAO1E,KAAKi3E,iBAShBz1E,EAAO6wE,aAAa/vE,UAAU4kC,WAAa,WAEnClnC,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAK4pJ,UAAY5pJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK8pJ,WAAW/lJ,GAAK/D,KAAKqpJ,cAAgBrpJ,KAAKc,MAAMiD,EAChG/D,KAAK6pJ,UAAY7pJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK8pJ,WAAW9lJ,GAAKhE,KAAKspJ,cAAgBtpJ,KAAKc,MAAMkD,GAUpGxC,EAAO6wE,aAAa/vE,UAAU0D,cAAgB,SAAUJ,GAEhD5F,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAK4pJ,UAAY5pJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK8pJ,WAAW/lJ,GAAK/D,KAAKqpJ,cAAgBrpJ,KAAKc,MAAMiD,EAChG/D,KAAK6pJ,UAAY7pJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK8pJ,WAAW9lJ,GAAKhE,KAAKspJ,cAAgBtpJ,KAAKc,MAAMkD,EAEhGhE,KAAKmF,SAEL3G,KAAKsH,OAAOxD,UAAU0D,cAAcxB,KAAKxE,KAAM4F,IAUnDpE,EAAO6wE,aAAa/vE,UAAUyD,aAAe,SAAUH,GAE/C5F,KAAK4zC,gBAEL5zC,KAAKY,SAASmD,GAAK/D,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK6zC,aAAa9vC,GAAK/D,KAAK+C,KAAK+X,OAAOha,MAAMiD,EAC3F/D,KAAKY,SAASoD,GAAKhE,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK6zC,aAAa7vC,GAAKhE,KAAK+C,KAAK+X,OAAOha,MAAMkD,GAG/FhE,KAAK4pJ,UAAY5pJ,KAAK+C,KAAK+X,OAAO7D,KAAKlT,EAAI/D,KAAK8pJ,WAAW/lJ,GAAK/D,KAAKqpJ,cAAgBrpJ,KAAKc,MAAMiD,EAChG/D,KAAK6pJ,UAAY7pJ,KAAK+C,KAAK+X,OAAO7D,KAAKjT,EAAIhE,KAAK8pJ,WAAW9lJ,GAAKhE,KAAKspJ,cAAgBtpJ,KAAKc,MAAMkD,EAEhGhE,KAAKmF,SAEL3G,KAAKsH,OAAOxD,UAAUyD,aAAavB,KAAKxE,KAAM4F,IAQlDpE,EAAO6wE,aAAa/vE,UAAUE,QAAU,WAEpChB,EAAOqF,WAAWsV,OAAOnc,MAEzBwB,EAAO0pE,UAAU8C,QAAQ1rE,UAAUE,QAAQgC,KAAKxE,OAgBpDwB,EAAO6wE,aAAa/vE,UAAU6D,OAAS,SAAUvI,EAAOC,GAEpDmC,KAAKkX,OAAOtZ,MAAQA,EACpBoC,KAAKkX,OAAOrZ,OAASA,EAErBmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ6P,KAAKhQ,MAAQA,EAC1BoC,KAAKjC,QAAQ6P,KAAK/P,OAASA,EAE3BmC,KAAKjC,QAAQqI,YAAYxI,MAAQA,EACjCoC,KAAKjC,QAAQqI,YAAYvI,OAASA,EAElCmC,KAAKjC,QAAQqI,YAAYoL,QACzBxR,KAAKjC,QAAQ+sB,gBAAiB,EAE9B9qB,KAAKjC,QAAQktB,aAEbjrB,KAAKwR,OAAQ,GASjBhQ,EAAO6wE,aAAa/vE,UAAU2nJ,YAAc,WAExCjqJ,KAAK+C,KAAKE,MAAMg4C,UAAU,EAAG,EAAGj7C,KAAKuxI,MAAMgS,cAAgBvjJ,KAAKc,MAAMiD,EAAG/D,KAAKuxI,MAAMiS,eAAiBxjJ,KAAKc,MAAMkD,IAUpHxC,EAAO6wE,aAAa/vE,UAAUy+I,eAAiB,WAE3C,OAAO/gJ,KAAK8pJ,WAAW/lJ,IAAQ/D,KAAK4zC,cAAmC,EAAlB5zC,KAAKY,SAASmD,IAUvEvC,EAAO6wE,aAAa/vE,UAAU0+I,eAAiB,WAE3C,OAAOhhJ,KAAK8pJ,WAAW9lJ,IAAQhE,KAAK4zC,cAAmC,EAAlB5zC,KAAKY,SAASoD,IAWvExC,EAAO6wE,aAAa/vE,UAAU4nJ,MAAQ,SAAUnmJ,GAE5C,OAA2B,IAAvB/D,KAAKqpJ,eAA+C,IAAvBrpJ,KAAKqpJ,eAA2C,IAApBrpJ,KAAKY,SAASmD,EAEhEA,EAIgB,IAAvB/D,KAAKqpJ,eAA2C,IAApBrpJ,KAAKY,SAASmD,EAEnCA,EAAI/D,KAAKY,SAASmD,EAGtB/D,KAAK4pJ,UAAY7lJ,EAAK/D,KAAK4pJ,SAAW5pJ,KAAKqpJ,gBAWtD7nJ,EAAO6wE,aAAa/vE,UAAU6nJ,QAAU,SAAUpmJ,GAE9C,OAA2B,IAAvB/D,KAAKqpJ,cAEEtlJ,EAGH/D,KAAK4pJ,SAAW5pJ,KAAKqpJ,eAAkBtlJ,EAAI/D,KAAK4pJ,WAW5DpoJ,EAAO6wE,aAAa/vE,UAAU8nJ,MAAQ,SAAUpmJ,GAE5C,OAA2B,IAAvBhE,KAAKspJ,eAA+C,IAAvBtpJ,KAAKspJ,eAA2C,IAApBtpJ,KAAKY,SAASoD,EAEhEA,EAIgB,IAAvBhE,KAAKspJ,eAA2C,IAApBtpJ,KAAKY,SAASoD,EAEnCA,EAAIhE,KAAKY,SAASoD,EAGtBhE,KAAK6pJ,UAAY7lJ,EAAKhE,KAAK6pJ,SAAW7pJ,KAAKspJ,gBAWtD9nJ,EAAO6wE,aAAa/vE,UAAU+nJ,QAAU,SAAUrmJ,GAE9C,OAA2B,IAAvBhE,KAAKspJ,cAEEtlJ,EAGHhE,KAAK6pJ,SAAW7pJ,KAAKspJ,eAAkBtlJ,EAAIhE,KAAK6pJ,WAW5DroJ,EAAO6wE,aAAa/vE,UAAUgoJ,SAAW,SAAUvmJ,GAG/C,OAAOL,KAAKmsB,MAAM7vB,KAAKkqJ,MAAMnmJ,GAAK/D,KAAKypJ,IAAIrzE,YAW/C50E,EAAO6wE,aAAa/vE,UAAUioJ,SAAW,SAAUvmJ,GAG/C,OAAON,KAAKmsB,MAAM7vB,KAAKoqJ,MAAMpmJ,GAAKhE,KAAKypJ,IAAIpzE,aAa/C70E,EAAO6wE,aAAa/vE,UAAUkoJ,UAAY,SAAUzmJ,EAAGC,EAAGoyB,GAKtD,OAHAA,EAAMryB,EAAI/D,KAAKsqJ,SAASvmJ,GACxBqyB,EAAMpyB,EAAIhE,KAAKuqJ,SAASvmJ,GAEjBoyB,GAcX50B,EAAO6wE,aAAa/vE,UAAUmoJ,gBAAkB,SAAU/xH,EAAMiB,EAAUwpH,EAAUuH,GAE3E/wH,IAAYA,EAAW35B,KAAKupJ,kBAChBhjJ,IAAb48I,IAA0BA,GAAW,QACjB58I,IAApBmkJ,IAAiCA,GAAkB,GAGvD,IAAIvpC,EAAQnhH,KAAK8gJ,SAASpoH,EAAK30B,EAAG20B,EAAK10B,EAAG00B,EAAK96B,MAAO86B,EAAK76B,OAAQslJ,EAAUuH,GAE7E,GAAqB,IAAjBvpC,EAAMx+G,OAEN,SAOJ,IAAK,IAHD0qI,EAAS30G,EAAKgB,kBAAkBC,GAChCC,KAEKl3B,EAAI,EAAGA,EAAIy+G,EAAMx+G,OAAQD,IAE9B,IAAK,IAAImuB,EAAI,EAAGA,EAAIw8G,EAAO1qI,OAAQkuB,IACnC,CACI,IAAIqwH,EAAO//B,EAAMz+G,GACbioJ,EAAQtd,EAAOx8G,GACnB,GAAIqwH,EAAK5/G,cAAcqpH,EAAM,GAAIA,EAAM,IACvC,CACI/wH,EAAQ9xB,KAAKo5I,GACb,OAKZ,OAAOtnH,GAgBXp4B,EAAO6wE,aAAa/vE,UAAUw+I,SAAW,SAAU/8I,EAAGC,EAAGpG,EAAOC,EAAQslJ,EAAUuH,QAG7DnkJ,IAAb48I,IAA0BA,GAAW,QACjB58I,IAApBmkJ,IAAiCA,GAAkB,GAEvD,IAAIE,IAAazH,GAAYuH,GAG7B3mJ,EAAI/D,KAAKkqJ,MAAMnmJ,GACfC,EAAIhE,KAAKoqJ,MAAMpmJ,GAUf,IAPA,IAAIV,EAAKI,KAAKmsB,MAAM9rB,GAAK/D,KAAKypJ,IAAIj7I,GAAKxO,KAAKc,MAAMiD,IAC9CR,EAAKG,KAAKmsB,MAAM7rB,GAAKhE,KAAKypJ,IAAIh7I,GAAKzO,KAAKc,MAAMkD,IAG9CknB,EAAKxnB,KAAKwC,MAAMnC,EAAInG,IAAUoC,KAAKypJ,IAAIj7I,GAAKxO,KAAKc,MAAMiD,IAAMT,EAC7D6nB,EAAKznB,KAAKwC,MAAMlC,EAAInG,IAAWmC,KAAKypJ,IAAIh7I,GAAKzO,KAAKc,MAAMkD,IAAMT,EAE3DvD,KAAK+jJ,SAASphJ,QAEjB3C,KAAK+jJ,SAASnjI,MAGlB,IAAK,IAAIiqI,EAAKtnJ,EAAIsnJ,EAAKtnJ,EAAK4nB,EAAI0/H,IAE5B,IAAK,IAAIC,EAAKxnJ,EAAIwnJ,EAAKxnJ,EAAK4nB,EAAI4/H,IAChC,CACI,IAAI3qC,EAAMngH,KAAKuxI,MAAMn9H,KAAKy2I,GAEtB1qC,GAAOA,EAAI2qC,KAEPF,GAAYzqC,EAAI2qC,GAAI5H,cAAcC,EAAUuH,KAE5C1qJ,KAAK+jJ,SAASj8I,KAAKq4G,EAAI2qC,IAMvC,OAAO9qJ,KAAK+jJ,SAAS/zH,SAYzBxuB,EAAO6wE,aAAa/vE,UAAUyoJ,eAAiB,SAAUC,GAErD,IAAIvH,EAAWzjJ,KAAKypJ,IAAIhG,SAGxB,GAAIuH,EAAY,IAEZ,KAAOvH,EAAS9gJ,OAASqoJ,GAErBvH,EAAS37I,UAAKvB,GAItB,IAAI0kJ,EAAWjrJ,KAAKyoJ,IAAItnC,MAAM6pC,IAAchrJ,KAAKyoJ,IAAItnC,MAAM6pC,GAAW,GAEtE,GAAiB,OAAbC,EACJ,CACI,IAAIzG,EAAUxkJ,KAAKyoJ,IAAIhF,SAASwH,GAEhC,GAAIzG,GAAWA,EAAQ0G,kBAAkBF,GAErC,OAAQvH,EAASuH,GAAaxG,EAItC,OAAQf,EAASuH,GAAa,MAWlCxpJ,EAAO6wE,aAAa/vE,UAAU6oJ,kBAAoB,WAI9C,IAFA,IAAI1H,EAAWzjJ,KAAKypJ,IAAIhG,SAEjBA,EAAS9gJ,QAEZ8gJ,EAAS7iI,OAWjBpf,EAAO6wE,aAAa/vE,UAAU8oJ,SAAW,SAAUC,EAAQC,GAEvDD,EAASA,GAAU,EACnBC,EAASA,GAAUD,EAEnB,IAAK,IAAIrnJ,EAAI,EAAGA,EAAIhE,KAAKuxI,MAAMn9H,KAAKzR,OAAQqB,IAIxC,IAAK,IAFDm8G,EAAMngH,KAAKuxI,MAAMn9H,KAAKpQ,GAEjBD,EAAI,EAAGA,EAAIo8G,EAAIx9G,OAAQoB,IAChC,CACI,IAAIm9I,EAAO/gC,EAAIp8G,GAEfm9I,EAAKtjJ,MAAQoC,KAAKyoJ,IAAIryE,UAAYi1E,EAClCnK,EAAKrjJ,OAASmC,KAAKyoJ,IAAIpyE,WAAai1E,EAEpCpK,EAAK9W,OAAS8W,EAAKn9I,EAAIm9I,EAAKtjJ,MAC5BsjJ,EAAK7W,OAAS6W,EAAKl9I,EAAIk9I,EAAKrjJ,OAIpCmC,KAAKc,MAAMs0B,MAAMi2H,EAAQC,IAc7B9pJ,EAAO6wE,aAAa/vE,UAAUipJ,YAAc,SAAUz9I,EAAS/J,EAAGC,GAE9D,IAAIkT,EAASpJ,EAAQoJ,OACjBs0I,EAAQt0I,EAAOtZ,MAAQ8F,KAAKizB,IAAI5yB,GAChC0nJ,EAAQv0I,EAAOrZ,OAAS6F,KAAKizB,IAAI3yB,GAGjCmK,EAAK,EACLE,EAAK,EACLwrB,EAAK91B,EACL+1B,EAAK91B,EAELD,EAAI,IAEJoK,GAAMpK,EACN81B,EAAK,GAGL71B,EAAI,IAEJqK,GAAMrK,EACN81B,EAAK,GAGT,IAAI+uH,EAAa7oJ,KAAK0oJ,eAAeG,WAErC,GAAIA,EACJ,EAKQA,EAAWjrJ,MAAQ4tJ,GAAS3C,EAAWhrJ,OAAS4tJ,KAEhD5C,EAAWjrJ,MAAQ4tJ,EACnB3C,EAAWhrJ,OAAS4tJ,GAGxB,IAAIC,EAAc7C,EAAWrwI,WAAW,MACxCkzI,EAAY1jI,UAAU,EAAG,EAAGwjI,EAAOC,GACnCC,EAAYz8I,UAAUiI,EAAQ/I,EAAIE,EAAIm9I,EAAOC,EAAO,EAAG,EAAGD,EAAOC,GAGjE39I,EAAQka,UAAU6R,EAAIC,EAAI0xH,EAAOC,GACjC39I,EAAQmB,UAAU45I,EAAY,EAAG,EAAG2C,EAAOC,EAAO5xH,EAAIC,EAAI0xH,EAAOC,QAQjE39I,EAAQoa,OACRpa,EAAQC,yBAA2B,OACnCD,EAAQmB,UAAUiI,EAAQ/I,EAAIE,EAAIm9I,EAAOC,EAAO5xH,EAAIC,EAAI0xH,EAAOC,GAC/D39I,EAAQ0a,WAiBhBhnB,EAAO6wE,aAAa/vE,UAAUqpJ,aAAe,SAAU3e,EAASF,EAASn5G,EAAM0C,EAAK3C,EAAO4C,GAEvF,IAAIxoB,EAAU9N,KAAK8N,QAEflQ,EAAQoC,KAAKuxI,MAAM3zI,MACnBC,EAASmC,KAAKuxI,MAAM1zI,OACpBqtB,EAAKlrB,KAAKypJ,IAAIrzE,UACdjrD,EAAKnrB,KAAKypJ,IAAIpzE,WAEdotE,EAAWzjJ,KAAKypJ,IAAIhG,SACpBmI,EAAY5c,IAEXhvI,KAAKwpJ,QAEF71H,GAAQD,IAERC,EAAOjwB,KAAKuC,IAAI,EAAG0tB,GACnBD,EAAQhwB,KAAK41B,IAAI17B,EAAQ,EAAG81B,IAE5B2C,GAAOC,IAEPD,EAAM3yB,KAAKuC,IAAI,EAAGowB,GAClBC,EAAS5yB,KAAK41B,IAAIz7B,EAAS,EAAGy4B,KAKtC,IAYIhzB,EAAIC,EAAIQ,EAAGC,EAAG6nJ,EAAMC,EAZpBC,EAASp4H,EAAOzI,EAAM8hH,EAItBgf,GAAcr4H,GAAS,GAAK,IAAM/1B,GAAUA,EAUhD,IAAKoG,GATaqyB,GAAQ,GAAK,IAAMx4B,GAAWA,EAS3BiuJ,EAAOx1H,EAASD,EAAK9yB,EAb7B8yB,EAAMlL,EAAM2hH,EAa6Bgf,GAAQ,EAAG9nJ,IAAK8nJ,IAAQvoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIsiH,EAAMngH,KAAKuxI,MAAMn9H,KAAKpQ,GAE1B,IAAKD,EAAIioJ,EAAYH,EAAOn4H,EAAQC,EAAMrwB,EAAKyoJ,EAAOF,GAAQ,EAAG9nJ,IAAK8nJ,IAAQvoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIsjJ,EAAO/gC,EAAIp8G,GAEf,GAAKm9I,KAAQA,EAAKt4I,MAAQ,GAA1B,CAKA,IAAIA,EAAQs4I,EAAKt4I,MAEbzB,EAAMs8I,EAAS76I,QAEPrC,IAARY,IAEAA,EAAMnH,KAAK+qJ,eAAeniJ,IAI1Bs4I,EAAKjgJ,QAAU2qJ,GAAc5rJ,KAAKkqC,QAElCp8B,EAAQG,YAAcizI,EAAKjgJ,MAC3B2qJ,EAAY1K,EAAKjgJ,OAGjBkG,EAEI+5I,EAAKlgJ,UAAYkgJ,EAAK2B,SAEtB/0I,EAAQoa,OACRpa,EAAQ+tB,UAAUv4B,EAAK49I,EAAKrpH,QAASt0B,EAAK29I,EAAKppH,SAC/ChqB,EAAQ0qB,OAAO0oH,EAAKlgJ,UAEhBkgJ,EAAK2B,SAEL/0I,EAAQhN,OAAO,EAAG,GAGtBqG,EAAIy0E,KAAK9tE,GAAUozI,EAAKrpH,SAAUqpH,EAAKppH,QAASlvB,GAChDkF,EAAQ0a,WAIRrhB,EAAIy0E,KAAK9tE,EAASxK,EAAIC,EAAIqF,GAGzB5I,KAAK8oJ,cAAcC,mBAExBj7I,EAAQ6a,UAAY3oB,KAAK8oJ,cAAcC,iBACvCj7I,EAAQgb,SAASxlB,EAAIC,EAAI2nB,EAAIC,IAG7B+1H,EAAKh3G,OAASlqC,KAAK8oJ,cAAcE,uBAEjCl7I,EAAQ6a,UAAY3oB,KAAK8oJ,cAAcE,qBACvCl7I,EAAQgb,SAASxlB,EAAIC,EAAI2nB,EAAIC,QAY7C3pB,EAAO6wE,aAAa/vE,UAAU2pJ,kBAAoB,SAAUC,EAAQC,GAEhE,IAAInf,EAAUhtI,KAAKypJ,IAAIzc,QACnBF,EAAU9sI,KAAKypJ,IAAI3c,QAEnBsf,EAAUpsJ,KAAKkX,OAAOtZ,MACtByuJ,EAAUrsJ,KAAKkX,OAAOrZ,OAEtBqtB,EAAKlrB,KAAKypJ,IAAIrzE,UACdjrD,EAAKnrB,KAAKypJ,IAAIpzE,WAKd1iD,EAAO,EACPD,GAASxI,EACTmL,EAAM,EACNC,GAAUnL,EAgCd,GA9BI+gI,EAAS,GAETv4H,EAAOy4H,EAAUF,EACjBx4H,EAAQ04H,EAAU,GAEbF,EAAS,IAGdx4H,EAAQw4H,GAGRC,EAAS,GAET91H,EAAMg2H,EAAUF,EAChB71H,EAAS+1H,EAAU,GAEdF,EAAS,IAGd71H,EAAS61H,GAGbnsJ,KAAKurJ,YAAYvrJ,KAAK8N,QAASo+I,EAAQC,GAGvCx4H,EAAOjwB,KAAKmsB,OAAO8D,EAAOq5G,GAAW9hH,GACrCwI,EAAQhwB,KAAKmsB,OAAO6D,EAAQs5G,GAAW9hH,GACvCmL,EAAM3yB,KAAKmsB,OAAOwG,EAAMy2G,GAAW3hH,GACnCmL,EAAS5yB,KAAKmsB,OAAOyG,EAASw2G,GAAW3hH,GAErCwI,GAAQD,EACZ,CAEI1zB,KAAK8N,QAAQka,UAAY2L,EAAOzI,EAAM8hH,EAAU,GAAIt5G,EAAQC,EAAO,GAAKzI,EAAImhI,GAE5E,IAAIC,EAAU5oJ,KAAKmsB,OAAO,EAAIi9G,GAAW3hH,GACrCohI,EAAa7oJ,KAAKmsB,OAAOw8H,EAAU,EAAIvf,GAAW3hH,GACtDnrB,KAAK2rJ,aAAa3e,EAASF,EAASn5G,EAAM24H,EAAS54H,EAAO64H,GAG9D,GAAIl2H,GAAOC,EACX,CAEIt2B,KAAK8N,QAAQka,UAAU,EAAKqO,EAAMlL,EAAM2hH,EAAUsf,GAAU91H,EAASD,EAAM,GAAKlL,GAEhF,IAAIqhI,EAAW9oJ,KAAKmsB,OAAO,EAAIm9G,GAAW9hH,GACtCuhI,EAAY/oJ,KAAKmsB,OAAOu8H,EAAU,EAAIpf,GAAW9hH,GACrDlrB,KAAK2rJ,aAAa3e,EAASF,EAAS0f,EAAUn2H,EAAKo2H,EAAWn2H,KAUtE90B,EAAO6wE,aAAa/vE,UAAUoqJ,WAAa,WAEvC,IAAI1f,EAAUhtI,KAAKypJ,IAAIzc,QACnBF,EAAU9sI,KAAKypJ,IAAI3c,QAEnBsf,EAAUpsJ,KAAKkX,OAAOtZ,MACtByuJ,EAAUrsJ,KAAKkX,OAAOrZ,OAEtBqtB,EAAKlrB,KAAKypJ,IAAIrzE,UACdjrD,EAAKnrB,KAAKypJ,IAAIpzE,WAEd1iD,EAAOjwB,KAAKmsB,MAAMm9G,EAAU9hH,GAC5BwI,EAAQhwB,KAAKmsB,OAAOu8H,EAAU,EAAIpf,GAAW9hH,GAC7CmL,EAAM3yB,KAAKmsB,MAAMi9G,EAAU3hH,GAC3BmL,EAAS5yB,KAAKmsB,OAAOw8H,EAAU,EAAIvf,GAAW3hH,GAElDnrB,KAAK8N,QAAQka,UAAU,EAAG,EAAGokI,EAASC,GAEtCrsJ,KAAK2rJ,aAAa3e,EAASF,EAASn5G,EAAM0C,EAAK3C,EAAO4C,IAS1D90B,EAAO6wE,aAAa/vE,UAAU6C,OAAS,WAEnC,IAAIwnJ,GAAY,EAEhB,GAAK3sJ,KAAKkB,QAAV,EAKIlB,KAAKwR,OAASxR,KAAKuxI,MAAM//H,SAEzBxR,KAAKuxI,MAAM//H,OAAQ,EACnBm7I,GAAY,GAGhB,IAAIjD,EAAc1pJ,KAAKkX,OAAOtZ,MAC1B+rJ,EAAe3pJ,KAAKkX,OAAOrZ,OAG3BmvI,EAA0B,EAAhBhtI,KAAK4pJ,SACf9c,EAA0B,EAAhB9sI,KAAK6pJ,SAEf+C,EAAK5sJ,KAAKypJ,IACVyC,EAASU,EAAG5f,QAAUA,EACtBmf,EAASS,EAAG9f,QAAUA,EAE1B,GAAK6f,GACU,IAAXT,GAA2B,IAAXC,GAChBS,EAAGlD,cAAgBA,GAAekD,EAAGjD,eAAiBA,EAoD1D,OA9CA3pJ,KAAK8N,QAAQoa,OAEb0kI,EAAG5f,QAAUA,EACb4f,EAAG9f,QAAUA,EAET8f,EAAGlD,cAAgBA,GAAekD,EAAGjD,eAAiBA,IAGtDiD,EAAGlD,YAAcA,EACjBkD,EAAGjD,aAAeA,GAGlB3pJ,KAAKkqC,QAELlqC,KAAK8N,QAAQG,YAAcjO,KAAK8oJ,cAAcI,WAE1ClpJ,KAAK8oJ,cAAcG,kBAEnB0D,GAAY,KAIfA,GACD3sJ,KAAK0oJ,eAAeC,mBACnBjlJ,KAAKizB,IAAIu1H,GAAUxoJ,KAAKizB,IAAIw1H,GAAWzoJ,KAAK41B,IAAIowH,EAAaC,GAE9D3pJ,KAAKisJ,kBAAkBC,EAAQC,GAK/BnsJ,KAAK0sJ,aAGL1sJ,KAAKkqC,QAELlqC,KAAK8N,QAAQG,YAAc,EAC3BjO,KAAK6sJ,eAGT7sJ,KAAKjC,QAAQqI,YAAYoL,QAEzBxR,KAAKwR,OAAQ,EAEbxR,KAAK8N,QAAQ0a,WAEN,IAWXhnB,EAAO6wE,aAAa/vE,UAAUuqJ,YAAc,WAExC,IAuBIvpJ,EAAIC,EAAIQ,EAAGC,EAAG6nJ,EAAMC,EAvBpB9e,EAAUhtI,KAAKypJ,IAAIzc,QACnBF,EAAU9sI,KAAKypJ,IAAI3c,QAEnBh/H,EAAU9N,KAAK8N,QACfs+I,EAAUpsJ,KAAKkX,OAAOtZ,MACtByuJ,EAAUrsJ,KAAKkX,OAAOrZ,OAEtBD,EAAQoC,KAAKuxI,MAAM3zI,MACnBC,EAASmC,KAAKuxI,MAAM1zI,OACpBqtB,EAAKlrB,KAAKypJ,IAAIrzE,UACdjrD,EAAKnrB,KAAKypJ,IAAIpzE,WAEd1iD,EAAOjwB,KAAKmsB,MAAMm9G,EAAU9hH,GAC5BwI,EAAQhwB,KAAKmsB,OAAOu8H,EAAU,EAAIpf,GAAW9hH,GAC7CmL,EAAM3yB,KAAKmsB,MAAMi9G,EAAU3hH,GAC3BmL,EAAS5yB,KAAKmsB,OAAOw8H,EAAU,EAAIvf,GAAW3hH,GAE9C4gI,EAASp4H,EAAOzI,EAAM8hH,EACtB8f,EAASz2H,EAAMlL,EAAM2hH,EAErBkf,GAAcr4H,GAAS,GAAK,IAAM/1B,GAAUA,EAC5CmvJ,GAAc12H,GAAQ,GAAK,IAAMx4B,GAAWA,EAMhD,IAFAiQ,EAAQuyE,YAAcrgF,KAAK8oJ,cAAcK,iBAEpCnlJ,EAAI+oJ,EAAYjB,EAAOx1H,EAASD,EAAK9yB,EAAKupJ,EAAOhB,GAAQ,EAAG9nJ,IAAK8nJ,IAAQvoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIsiH,EAAMngH,KAAKuxI,MAAMn9H,KAAKpQ,GAE1B,IAAKD,EAAIioJ,EAAYH,EAAOn4H,EAAQC,EAAMrwB,EAAKyoJ,EAAOF,GAAQ,EAAG9nJ,IAAK8nJ,IAAQvoJ,GAAM4nB,EACpF,CACQnnB,GAAKnG,IAELmG,GAAKnG,GAGT,IAAIsjJ,EAAO/gC,EAAIp8G,IACVm9I,GAAQA,EAAKt4I,MAAQ,IAAMs4I,EAAKiC,WAKjCnjJ,KAAK8oJ,cAAcM,wBAEnBt7I,EAAQ6a,UAAY3oB,KAAK8oJ,cAAcM,sBACvCt7I,EAAQgb,SAASxlB,EAAIC,EAAIvD,KAAKypJ,IAAIj7I,GAAIxO,KAAKypJ,IAAIh7I,KAG/CzO,KAAK8oJ,cAAcK,mBAEnBr7I,EAAQiyE,YAEJmhE,EAAKO,UAEL3zI,EAAQoyE,OAAO58E,EAAIC,GACnBuK,EAAQqyE,OAAO78E,EAAKtD,KAAKypJ,IAAIj7I,GAAIjL,IAGjC29I,EAAKQ,aAEL5zI,EAAQoyE,OAAO58E,EAAIC,EAAKvD,KAAKypJ,IAAIh7I,IACjCX,EAAQqyE,OAAO78E,EAAKtD,KAAKypJ,IAAIj7I,GAAIjL,EAAKvD,KAAKypJ,IAAIh7I,KAG/CyyI,EAAKK,WAELzzI,EAAQoyE,OAAO58E,EAAIC,GACnBuK,EAAQqyE,OAAO78E,EAAIC,EAAKvD,KAAKypJ,IAAIh7I,KAGjCyyI,EAAKM,YAEL1zI,EAAQoyE,OAAO58E,EAAKtD,KAAKypJ,IAAIj7I,GAAIjL,GACjCuK,EAAQqyE,OAAO78E,EAAKtD,KAAKypJ,IAAIj7I,GAAIjL,EAAKvD,KAAKypJ,IAAIh7I,KAGnDX,EAAQmyE,YAERnyE,EAAQwyE,cAcxBt5E,OAAOyF,eAAejL,EAAO6wE,aAAa/vE,UAAW,QAEjD4E,IAAK,WAED,OAAOlH,KAAKwpJ,OAGhBriJ,IAAK,SAAUC,GAEXpH,KAAKwpJ,MAAQpiJ,EACbpH,KAAKwR,OAAQ,KAYrBxK,OAAOyF,eAAejL,EAAO6wE,aAAa/vE,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAK4pJ,UAGhBziJ,IAAK,SAAUC,GAEXpH,KAAK4pJ,SAAWxiJ,KAYxBJ,OAAOyF,eAAejL,EAAO6wE,aAAa/vE,UAAW,WAEjD4E,IAAK,WAED,OAAOlH,KAAK6pJ,UAGhB1iJ,IAAK,SAAUC,GAEXpH,KAAK6pJ,SAAWziJ,KAYxBJ,OAAOyF,eAAejL,EAAO6wE,aAAa/vE,UAAW,kBAEjD4E,IAAK,WAED,OAAOlH,KAAKypJ,IAAIj7I,IAGpBrH,IAAK,SAAUC,GAEXpH,KAAKypJ,IAAIj7I,GAAa,EAARpH,EACdpH,KAAKwR,OAAQ,KAYrBxK,OAAOyF,eAAejL,EAAO6wE,aAAa/vE,UAAW,mBAEjD4E,IAAK,WAED,OAAOlH,KAAKypJ,IAAIh7I,IAGpBtH,IAAK,SAAUC,GAEXpH,KAAKypJ,IAAIh7I,GAAa,EAARrH,EACdpH,KAAKwR,OAAQ,KAiBrBhQ,EAAO6hJ,eAaH2J,aAAa,EAcbxuH,MAAO,SAAUz7B,EAAMiQ,EAAKojE,EAAWC,EAAYz4E,EAAOC,GAOtD,QALkB0I,IAAd6vE,IAA2BA,EAAY,SACxB7vE,IAAf8vE,IAA4BA,EAAa,SAC/B9vE,IAAV3I,IAAuBA,EAAQ,SACpB2I,IAAX1I,IAAwBA,EAAS,SAEzB0I,IAARyM,EAEA,OAAOhT,KAAKitJ,eAGhB,GAAY,OAARj6I,EAEA,OAAOhT,KAAKitJ,aAAa72E,EAAWC,EAAYz4E,EAAOC,GAG3D,IAAI4qJ,EAAM1lJ,EAAKiX,MAAMquG,eAAer1G,GAEpC,GAAIy1I,EACJ,CACI,GAAIA,EAAIh0I,SAAWjT,EAAO4wE,QAAQ87C,IAE9B,OAAOluH,KAAKktJ,SAASl6I,EAAKy1I,EAAIr0I,KAAMgiE,EAAWC,GAE9C,IAAKoyE,EAAIh0I,QAAUg0I,EAAIh0I,SAAWjT,EAAO4wE,QAAQ+7C,WAElD,OAAOnuH,KAAKmtJ,eAAe1E,EAAIr0I,WAKnC9T,QAAQ+Z,KAAK,iCAAkCrH,IAcvDk6I,SAAU,SAAUl6I,EAAKoB,EAAMgiE,EAAWC,GAYtC,IAAK,IAVDoyE,EAAMzoJ,KAAKitJ,eAKXv3H,KACAwvH,GAHJ9wI,EAAOA,EAAKhG,QAGIyjB,MAAM,MAClBh0B,EAASqnJ,EAAKviJ,OACd/E,EAAQ,EAEHoG,EAAI,EAAGA,EAAIkhJ,EAAKviJ,OAAQqB,IACjC,CACI0xB,EAAO1xB,MAIP,IAAK,IAFDo8G,EAAS8kC,EAAKlhJ,GAAG6tB,MAAM,KAElB9tB,EAAI,EAAGA,EAAIq8G,EAAOz9G,OAAQoB,IAE/B2xB,EAAO1xB,GAAGD,GAAK,IAAIvC,EAAOohJ,KAAK6F,EAAIznC,OAAO,GAAI7tF,SAASitF,EAAOr8G,GAAI,IAAKA,EAAGC,EAAGoyE,EAAWC,GAG9E,IAAVz4E,IAEAA,EAAQwiH,EAAOz9G,QAmBvB,OAfA8lJ,EAAIh0I,OAASjT,EAAO4wE,QAAQ87C,IAC5Bu6B,EAAIz2H,KAAOhf,EACXy1I,EAAI7qJ,MAAQA,EACZ6qJ,EAAI5qJ,OAASA,EACb4qJ,EAAIryE,UAAYA,EAChBqyE,EAAIpyE,WAAaA,EACjBoyE,EAAIlF,cAAgB3lJ,EAAQw4E,EAC5BqyE,EAAIjF,eAAiB3lJ,EAASw4E,EAE9BoyE,EAAIznC,OAAO,GAAGpjH,MAAQA,EACtB6qJ,EAAIznC,OAAO,GAAGnjH,OAASA,EACvB4qJ,EAAIznC,OAAO,GAAGuiC,cAAgBkF,EAAIlF,cAClCkF,EAAIznC,OAAO,GAAGwiC,eAAiBiF,EAAIjF,eACnCiF,EAAIznC,OAAO,GAAG5sG,KAAOshB,EAEd+yH,GASXwE,aAAc,SAAU72E,EAAWC,EAAYz4E,EAAOC,GAElD,OACID,WAAkB2I,IAAV3I,GAAiC,OAAVA,EAAkBA,EAAQ,EACzDC,YAAoB0I,IAAX1I,GAAmC,OAAXA,EAAmBA,EAAS,EAC7Du4E,eAA0B7vE,IAAd6vE,GAAyC,OAAdA,EAAsBA,EAAY,EACzEC,gBAA4B9vE,IAAf8vE,GAA2C,OAAfA,EAAuBA,EAAa,EAC7EmuD,YAAa,aACb8e,QAAS,IACTntD,cACAotD,cAAe,EACfC,eAAgB,EAChBxiC,SAEQhvF,KAAM,QACNjuB,EAAG,EACHC,EAAG,EACHpG,MAAO,EACPC,OAAQ,EACR0lJ,cAAe,EACfC,eAAgB,EAChBviJ,MAAO,EACPC,SAAS,EACTi1F,cACA+vD,WACAzqF,aACA0qF,UACA/xI,UAGRm5G,UACAzd,WACA8zC,aACAH,YACAtiC,WAIRisC,OAAQ,SAAUr7H,EAAKs7H,GAEnB,IAAIC,KAEJ,IAAK,IAAIn2H,KAAKk2H,EACd,CACI,IAAIr6I,EAAMq6I,EAAOl2H,QAEO,IAAbpF,EAAI/e,KAEXs6I,EAAOt6I,GAAO+e,EAAI/e,IAI1B,OAAOs6I,GAaXC,iBAAkB,SAAUC,EAAaC,EAAmBC,EAAqBC,EAASC,GAEtF,IAAID,EAAUA,GAAWH,EAAYx7H,KACjC47H,EAAmBA,IAAqB7pJ,EAAG,EAAGC,EAAG,GACjDgsB,EAAQhwB,KAAKotJ,OAEZO,GAEDrtJ,QAAQ+Z,KAAK,gCAAiCmzI,QAGvBjnJ,IAAvBqnJ,EAAiB7pJ,QAA0CwC,IAAvBqnJ,EAAiB5pJ,GAErD1D,QAAQ+Z,KAAK,8CAA+CuzI,GAGhEH,EAAkBE,GAAWF,EAAkBE,OAC/CD,EAAoBC,GAAWD,EAAoBC,OAEnD,IAAK,IAAI9uG,EAAI,EAAG/tB,EAAM08H,EAAY19C,QAAQntG,OAAQk8C,EAAI/tB,EAAK+tB,IAC3D,CACI,IAAIrqB,EAAIg5H,EAAY19C,QAAQjxD,GAG5B,GAAIrqB,EAAEmuH,IACN,CACQlpG,GACAkpG,IAAKnuH,EAAEmuH,IACP3wH,KAAMwC,EAAExC,KACRxe,KAAMghB,EAAEhhB,MAAQ,GAChBzP,EAAGywB,EAAEzwB,EAAI6pJ,EAAiB7pJ,EAC1BC,EAAGwwB,EAAExwB,EAAI4pJ,EAAiB5pJ,EAC1BpG,MAAO42B,EAAE52B,MACTC,OAAQ22B,EAAE32B,OACVqD,QAASszB,EAAEtzB,QACXi1F,WAAY3hE,EAAE2hE,YAGd3hE,EAAExzB,WAEFy4C,EAAOz4C,SAAWwzB,EAAExzB,UAGxBysJ,EAAkBE,GAAS7lJ,KAAK2xC,QAE/B,GAAIjlB,EAAEq5H,SACX,CACI,IAAIp0G,GACAznB,KAAMwC,EAAExC,KACRxe,KAAMghB,EAAEhhB,KACRzP,EAAGywB,EAAEzwB,EAAI6pJ,EAAiB7pJ,EAC1BC,EAAGwwB,EAAExwB,EAAI4pJ,EAAiB5pJ,EAC1BpG,MAAO42B,EAAE52B,MACTC,OAAQ22B,EAAE32B,OACVqD,QAASszB,EAAEtzB,QACXi1F,WAAY3hE,EAAE2hE,YAGd3hE,EAAExzB,WAEFy4C,EAAOz4C,SAAWwzB,EAAExzB,UAGxBy4C,EAAOo0G,YAGP,IAAS7qJ,EAAI,EAAGA,EAAIwxB,EAAEq5H,SAASlrJ,OAAQK,IAEnCy2C,EAAOo0G,SAAS/lJ,MAAO0sB,EAAEq5H,SAAS7qJ,GAAGe,EAAGywB,EAAEq5H,SAAS7qJ,GAAGgB,IAG1D0pJ,EAAoBC,GAAS7lJ,KAAK2xC,GAClCg0G,EAAkBE,GAAS7lJ,KAAK2xC,QAI/B,GAAIjlB,EAAE+rD,QACX,EACQ9mC,EAASzpB,EAAMwE,GAAK,OAAQ,OAAQ,IAAK,IAAK,UAAW,WAAY,gBAElEzwB,GAAK6pJ,EAAiB7pJ,EAC7B01C,EAAOz1C,GAAK4pJ,EAAiB5pJ,EAG7By1C,EAAO8mC,WAEP,IAAK,IAAIv9E,EAAI,EAAGA,EAAIwxB,EAAE+rD,QAAQ59E,OAAQK,IAElCy2C,EAAO8mC,QAAQz4E,MAAO0sB,EAAE+rD,QAAQv9E,GAAGe,EAAGywB,EAAE+rD,QAAQv9E,GAAGgB,IAGvD0pJ,EAAoBC,GAAS7lJ,KAAK2xC,GAClCg0G,EAAkBE,GAAS7lJ,KAAK2xC,QAI3BjlB,EAAEi3G,UAEHhyF,EAASzpB,EAAMwE,GAAK,OAAQ,OAAQ,UAAW,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBAChGzwB,GAAK6pJ,EAAiB7pJ,EAC7B01C,EAAOz1C,GAAK4pJ,EAAiB5pJ,EAE7B0pJ,EAAoBC,GAAS7lJ,KAAK2xC,GAClCg0G,EAAkBE,GAAS7lJ,KAAK2xC,MAM5BA,EAASzpB,EAAMwE,GAAK,OAAQ,OAAQ,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBACrFzwB,GAAK6pJ,EAAiB7pJ,EAC7B01C,EAAOz1C,GAAK4pJ,EAAiB5pJ,EAE7By1C,EAAOkwF,WAAY,EACnB+jB,EAAoBC,GAAS7lJ,KAAK2xC,GAClCg0G,EAAkBE,GAAS7lJ,KAAK2xC,IAIxC,OACIg0G,kBAAmBA,EACnBC,oBAAqBA,IAU7BP,eAAgB,SAAUzsC,GAEtB,GAAyB,eAArBA,EAAK8jB,YAIL,OAFAlkI,QAAQ+Z,KAAK,4EAA6EqmG,EAAK8jB,aAExF,KAGP9jB,EAAK4iC,QAAU,KAEfhjJ,QAAQ+Z,KAAK,uMAAwMqmG,EAAK4iC,SAoB9N,IAAK,IAhBDmF,GACA7qJ,MAAO8iH,EAAK9iH,MACZC,OAAQ6iH,EAAK7iH,OACbu4E,UAAWsqC,EAAKQ,UAChB7qC,WAAYqqC,EAAKO,WACjBujB,YAAa9jB,EAAK8jB,YAClB/vH,OAAQjT,EAAO4wE,QAAQ+7C,WACvBm1B,QAAS5iC,EAAK4iC,QACdntD,WAAYuqB,EAAKvqB,WACjBotD,cAAe7iC,EAAK9iH,MAAQ8iH,EAAKQ,UACjCsiC,eAAgB9iC,EAAK7iH,OAAS6iH,EAAKO,YAInCD,KAEKt+G,EAAI,EAAGA,EAAIg+G,EAAKM,OAAOr+G,OAAQD,IAEpC,GAA4B,cAAxBg+G,EAAKM,OAAOt+G,GAAG8Q,KAAnB,CAKA,IAAIs6I,EAAOptC,EAAKM,OAAOt+G,GAOvB,IAAKorJ,EAAK30I,aAAe20I,EAAKC,UAA8B,WAAlBD,EAAKC,SAC/C,CASI,IAAK,IARDC,EAAe59I,OAAO69I,KAAKH,EAAK15I,MAChC0c,EAAMk9H,EAAarrJ,OACnBurJ,EAAQ,IAAIzmJ,MAAMqpB,GAMbjpB,EAAI,EAAGA,EAAIipB,EAAKjpB,GAAK,EAE1BqmJ,EAAMrmJ,EAAI,IACNmmJ,EAAa/oF,WAAWp9D,GACxBmmJ,EAAa/oF,WAAWp9D,EAAI,IAAM,EAClCmmJ,EAAa/oF,WAAWp9D,EAAI,IAAM,GAClCmmJ,EAAa/oF,WAAWp9D,EAAI,IAAM,MAChC,EAGVimJ,EAAK15I,KAAO85I,SAELJ,EAAKC,cAEX,GAAID,EAAK30I,YACd,CACI7Y,QAAQ+Z,KAAK,yDAA0DyzI,EAAK97H,MAE5E,SAGAu/G,GAEAv/G,KAAM87H,EAAK97H,KACXjuB,EAAG+pJ,EAAK/pJ,EACRC,EAAG8pJ,EAAK9pJ,EACRpG,MAAOkwJ,EAAKlwJ,MACZC,OAAQiwJ,EAAKjwJ,OACb0lJ,cAAeuK,EAAKlwJ,MAAQ8iH,EAAKQ,UACjCsiC,eAAgBsK,EAAKjwJ,OAAS6iH,EAAKO,WACnChgH,MAAO6sJ,EAAKK,QACZzpI,QAASopI,EAAKM,QACdzpI,QAASmpI,EAAKO,QACdntJ,QAAS4sJ,EAAK5sJ,QACdi1F,cACA+vD,WACAzqF,aACA0qF,WAIA2H,EAAK33D,aAELo7C,EAAMp7C,WAAa23D,EAAK33D,YAgB5B,IAAK,IAVDn1F,EAAU6hJ,EAASyL,EAHnBvqJ,EAAI,EACJo8G,KACAzqF,KAWK7E,EAAI,EAAGC,EAAMg9H,EAAK15I,KAAKzR,OAAQkuB,EAAIC,EAAKD,IACjD,CAOI,GANA7vB,EAAW,EACX6hJ,GAAU,EACVF,EAAMmL,EAAK15I,KAAKyc,GAChBy9H,EAAa,EAGT3L,EAAM,UAuBN,OApBIA,EAAM,aAENA,GAAO,WACP2L,GAAc,GAId3L,EAAM,aAENA,GAAO,WACP2L,GAAc,GAId3L,EAAM,YAENA,GAAO,UACP2L,GAAc,GAGVA,GAEJ,KAAK,EACDttJ,EAAW0C,KAAKsxB,GAAK,EACrB,MAEJ,KAAK,EACDh0B,EAAW0C,KAAKsxB,GAChB,MAEJ,KAAK,EACDh0B,EAAW,EAAI0C,KAAKsxB,GAAK,EACzB,MAEJ,KAAK,EACDh0B,EAAW,EACX6hJ,GAAU,EACV,MAEJ,KAAK,EACD7hJ,EAAW0C,KAAKsxB,GAAK,EACrB6tH,GAAU,EACV,MAEJ,KAAK,EACD7hJ,EAAW0C,KAAKsxB,GAChB6tH,GAAU,EACV,MAEJ,KAAK,EACD7hJ,EAAW,EAAI0C,KAAKsxB,GAAK,EACzB6tH,GAAU,EAMlBF,EAAM,IAEFzB,EAAO,IAAI1/I,EAAOohJ,KAAKrR,EAAOoR,EAAK5+I,EAAG2xB,EAAO/yB,OAAQ+9G,EAAKQ,UAAWR,EAAKO,aAEzEjgH,SAAWA,EAChBkgJ,EAAK2B,QAAUA,EAEI,IAAfyL,IAGApN,EAAKoN,WAAaA,GAGtBnuC,EAAIr4G,KAAKo5I,IAGT1/I,EAAO6hJ,cAAc2J,YAErB7sC,EAAIr4G,KAAK,MAITq4G,EAAIr4G,KAAK,IAAItG,EAAOohJ,KAAKrR,GAAQ,EAAGxtI,EAAG2xB,EAAO/yB,OAAQ+9G,EAAKQ,UAAWR,EAAKO,eAG/El9G,IAEU+pJ,EAAKlwJ,QAEX83B,EAAO5tB,KAAKq4G,GACZp8G,EAAI,EACJo8G,MAIRoxB,EAAMn9H,KAAOshB,EAEbsrF,EAAOl5G,KAAKypI,GAGhBkX,EAAIznC,OAASA,EAKb,IAAK,IAFDuM,KAEK7qH,EAAI,EAAGA,EAAIg+G,EAAKM,OAAOr+G,OAAQD,IAEpC,GAA4B,eAAxBg+G,EAAKM,OAAOt+G,GAAG8Q,KAAnB,CAKA,IAAI+6I,EAAO7tC,EAAKM,OAAOt+G,GAEnBwX,GAEA8X,KAAMu8H,EAAKv8H,KACX9X,MAAOq0I,EAAKr0I,MACZnW,EAAGwqJ,EAAKxqJ,EACRC,EAAGuqJ,EAAKvqJ,EACR/C,MAAOstJ,EAAKJ,QACZjtJ,QAASqtJ,EAAKrtJ,QACdi1F,eAIAo4D,EAAKp4D,aAELj8E,EAAMi8E,WAAao4D,EAAKp4D,YAG5Bo3B,EAAOzlH,KAAKoS,GAGhBuuI,EAAIl7B,OAASA,EAQb,IAAK,IALDk2B,KACA+K,KACA9K,KACA+K,EAAU,KAEL/rJ,EAAI,EAAGA,EAAIg+G,EAAK+iC,SAAS9gJ,OAAQD,IAC1C,CAII,IAFIyE,EAAMu5G,EAAK+iC,SAAS/gJ,IAEhB0M,OAEJ9O,QAAQ+Z,KAAK,oJAAsJlT,EAAIiI,aAEtK,GAAIjI,EAAI+S,MACb,CACI,IAAI2qI,EAAS,IAAIrjJ,EAAOsjJ,QAAQ39I,EAAI6qB,KAAM7qB,EAAIi7I,SAAUj7I,EAAI+5G,UAAW/5G,EAAI85G,WAAY95G,EAAI64G,OAAQ74G,EAAI84G,QAAS94G,EAAIgvF,YAEhHhvF,EAAIunJ,iBAEJ7J,EAAO8J,eAAiBxnJ,EAAIunJ,gBAOhC7J,EAAO+J,eAAeznJ,EAAI0nJ,WAAY1nJ,EAAI2nJ,aAE1CrL,EAAS37I,KAAK+8I,OAEb,CAAA,IAAI19I,EAAIg6G,MAeT,MAAM,IAAIp4G,MAAM,WAAa5B,EAAI6qB,KAAO,wCAbxC,IAAI+8H,EAAgB,IAAIvtJ,EAAO2gJ,gBAAgBh7I,EAAI6qB,KAAM7qB,EAAIi7I,SAAUj7I,EAAI+5G,UAAW/5G,EAAI85G,WAAY95G,EAAI64G,OAAQ74G,EAAI84G,QAAS94G,EAAIgvF,YAEnI,IAAK,IAAI64D,KAAM7nJ,EAAIg6G,MACnB,CACI,IAAIjnG,EAAQ/S,EAAIg6G,MAAM6tC,GAAI90I,MACtByoI,EAAMx7I,EAAIi7I,SAAWjvH,SAAS67H,EAAI,IACtCD,EAAc3yE,SAASumE,EAAKzoI,GAGhCwpI,EAAiB57I,KAAKinJ,GAQ1B,IAAK,IAAIC,KAAM7nJ,EAAIg6G,OAEXqsC,EAAcrmJ,EAAIg6G,MAAM6tC,GAAIC,eAOhCT,EAAoBr7H,SAAS67H,EAAI,IAAM7nJ,EAAIi7I,UAAYoL,GAIvDiB,IAEAA,EAAQS,QAAU/nJ,EAAIi7I,SAAW,GAGrCqM,EAAUtnJ,EAGd,GAAwB,IAApBs8I,EAAS9gJ,QAA4C,IAA5B+gJ,EAAiB/gJ,OAE1C,MAAM,IAAIoG,MAAM,iCAGpB0/I,EAAIhF,SAAWA,EACfgF,EAAI/E,iBAAmBA,EAMvB,IAAK,IAHD5zC,KACA8zC,KAEKlhJ,EAAI,EAAGA,EAAIg+G,EAAKM,OAAOr+G,OAAQD,IAEpC,GAA4B,gBAAxBg+G,EAAKM,OAAOt+G,GAAG8Q,KAAnB,CAKA,IAAIg6I,EAAc9sC,EAAKM,OAAOt+G,GAC9B1C,KAAKutJ,iBAAiBC,EAAa19C,EAAS8zC,GAGhD6E,EAAI34C,QAAUA,EACd24C,EAAI7E,UAAYA,EAEhB6E,EAAItnC,SAGJ,IAASz+G,EAAI,EAAGA,EAAI+lJ,EAAIhF,SAAS9gJ,OAAQD,IAWrC,IAAK,IAPDqB,GAFAoD,EAAMshJ,EAAIhF,SAAS/gJ,IAEX+hJ,WACRzgJ,EAAImD,EAAIs9I,WAERlmI,EAAQ,EACRwmI,EAAS,EACTC,EAAS,EAEJn0H,EAAI1pB,EAAIi7I,SAAUvxH,EAAI1pB,EAAIi7I,SAAWj7I,EAAI6xC,QAG9CyvG,EAAItnC,MAAMtwF,IAAO9sB,EAAGC,EAAGtB,GAEvBqB,GAAKoD,EAAIivE,UAAYjvE,EAAIu9I,cAEzBnmI,IAEcpX,EAAI6xC,WAKlB+rG,IAEe59I,EAAI89I,UAEflhJ,EAAIoD,EAAIs9I,WACRzgJ,GAAKmD,EAAIkvE,WAAalvE,EAAIu9I,YAE1BK,EAAS,IACTC,IAEe79I,EAAI+9I,OAxB8Br0H,KAwC7D,IAAK,IAND0gH,EACA2P,EACAiO,EACAhoJ,EAGKzE,EAAI,EAAGA,EAAI+lJ,EAAIznC,OAAOr+G,OAAQD,IACvC,CAEIkhJ,GADArS,EAAQkX,EAAIznC,OAAOt+G,IACHsvB,SAChB7qB,EAAM,KAGN,IAASU,EAAI,EAAGA,EAAI0pI,EAAMn9H,KAAKzR,OAAQkF,IACvC,CACIs4G,EAAMoxB,EAAMn9H,KAAKvM,GAGjB,IAAK,IAAIsvB,EAAI,EAAGA,EAAIgpF,EAAIx9G,OAAQw0B,IAIf,QAFb+pH,EAAO/gC,EAAIhpF,KAEU+pH,EAAKt4I,MAAQ,IAOlCumJ,EAAM1G,EAAItnC,MAAM+/B,EAAKt4I,OAAO,IAC5BzB,EAAMshJ,EAAIhF,SAAS0L,IAKXR,gBAAkBxnJ,EAAIwnJ,eAAezN,EAAKt4I,MAAQzB,EAAIi7I,YAE1DlB,EAAK/qD,WAAa30F,EAAOgwB,MAAM6C,MAAMltB,EAAIwnJ,eAAezN,EAAKt4I,MAAQzB,EAAIi7I,UAAWlB,EAAK/qD,cAGzFq3D,EAAcgB,EAAoBtN,EAAKt4I,SAIvC5I,KAAKutJ,iBACDC,EACA/E,EAAI34C,QACJ24C,EAAI7E,UACJ1C,EAAK3P,MAAMv/G,MAEPjuB,EAAGm9I,EAAK9W,OAASojB,EAAYzpJ,EAC7BC,EAAGk9I,EAAK7W,OAASmjB,EAAYxpJ,MAOrD,OAAOykJ,IA0BfjnJ,EAAOsjJ,QAAU,SAAU9yH,EAAMowH,EAAUxkJ,EAAOC,EAAQmiH,EAAQC,EAAS9pB,SAEzD5vF,IAAV3I,GAAuBA,GAAS,KAAKA,EAAQ,UAClC2I,IAAX1I,GAAwBA,GAAU,KAAKA,EAAS,SACrC0I,IAAXy5G,IAAwBA,EAAS,QACrBz5G,IAAZ05G,IAAyBA,EAAU,GAMvCjgH,KAAKgyB,KAAOA,EAOZhyB,KAAKoiJ,SAAsB,EAAXA,EAOhBpiJ,KAAKo2E,UAAoB,EAARx4E,EAOjBoC,KAAKq2E,WAAsB,EAATx4E,EASlBmC,KAAKykJ,WAAsB,EAATzkC,EAQlBhgH,KAAK0kJ,YAAwB,EAAVzkC,EAMnBjgH,KAAKm2F,WAAaA,MAQlBn2F,KAAKka,MAAQ,KAQbla,KAAKklJ,KAAO,EAQZllJ,KAAKilJ,QAAU,EAQfjlJ,KAAKg5C,MAAQ,EAQbh5C,KAAKovJ,eAGT5tJ,EAAOsjJ,QAAQxiJ,WAYXs5E,KAAM,SAAU9tE,EAAS/J,EAAGC,EAAG4E,GAG3B,IAAIymJ,EAAczmJ,EAAQ5I,KAAKoiJ,UAAa,EAExCiN,GAAc,GAAMA,EAAa,EAAKrvJ,KAAKovJ,WAAWzsJ,QAEtDmL,EAAQmB,UACJjP,KAAKka,MACLla,KAAKovJ,WAAWC,GAChBrvJ,KAAKovJ,WAAWC,EAAa,GAC7BrvJ,KAAKo2E,UACLp2E,KAAKq2E,WACLtyE,EACAC,EACAhE,KAAKo2E,UACLp2E,KAAKq2E,aAajB60E,kBAAmB,SAAUF,GAEzB,OACIA,GAAahrJ,KAAKoiJ,UAClB4I,EAAahrJ,KAAKoiJ,SAAWpiJ,KAAKg5C,OAW1C4rG,SAAU,SAAU1qI,GAEhBla,KAAKka,MAAQA,EACbla,KAAK4uJ,eAAe10I,EAAMtc,MAAOsc,EAAMrc,SAW3CyxJ,WAAY,SAAUtvC,EAAQC,GAE1BjgH,KAAKykJ,WAAsB,EAATzkC,EAClBhgH,KAAK0kJ,YAAwB,EAAVzkC,EAEfjgH,KAAKka,OAELla,KAAK4uJ,eAAe5uJ,KAAKka,MAAMtc,MAAOoC,KAAKka,MAAMrc,SAYzD+wJ,eAAgB,SAAUvM,EAAYC,GAGlC,IAAIiN,GAAYjN,EAAgC,EAAlBtiJ,KAAKykJ,WAAiBzkJ,KAAK0kJ,cAAgB1kJ,KAAKq2E,WAAar2E,KAAK0kJ,aAC5F8K,GAAYnN,EAA+B,EAAlBriJ,KAAKykJ,WAAiBzkJ,KAAK0kJ,cAAgB1kJ,KAAKo2E,UAAYp2E,KAAK0kJ,aAE1F6K,EAAW,GAAM,GAAKC,EAAW,GAAM,GAEvClvJ,QAAQ+Z,KACJ,2GACAra,KAAKgyB,KAAMqwH,EAAYC,EAAatiJ,KAAKo2E,UAAWp2E,KAAKq2E,WAAYr2E,KAAKykJ,WAAYzkJ,KAAK0kJ,aAQnG6K,EAAW7rJ,KAAKmsB,MAAM0/H,GACtBC,EAAW9rJ,KAAKmsB,MAAM2/H,IAEjBxvJ,KAAKklJ,MAAQllJ,KAAKklJ,OAASqK,GAAcvvJ,KAAKilJ,SAAWjlJ,KAAKilJ,UAAYuK,IAE3ElvJ,QAAQ+Z,KACJ,yHACAra,KAAKka,MAAM8X,KAAMw9H,EAAUD,EAAUvvJ,KAAKgyB,KAAMhyB,KAAKilJ,QAASjlJ,KAAKklJ,MAI3EllJ,KAAKklJ,KAAOqK,EACZvvJ,KAAKilJ,QAAUuK,EACfxvJ,KAAKg5C,MAAQu2G,EAAWC,EAExBxvJ,KAAKovJ,WAAWzsJ,OAAS,EAKzB,IAAK,IAHDW,EAAKtD,KAAKykJ,WACVlhJ,EAAKvD,KAAKykJ,WAELzgJ,EAAI,EAAGA,EAAIhE,KAAKklJ,KAAMlhJ,IAC/B,CACI,IAAK,IAAID,EAAI,EAAGA,EAAI/D,KAAKilJ,QAASlhJ,IAE9B/D,KAAKovJ,WAAWtnJ,KAAKxE,GACrBtD,KAAKovJ,WAAWtnJ,KAAKvE,GACrBD,GAAMtD,KAAKo2E,UAAYp2E,KAAK0kJ,YAGhCphJ,EAAKtD,KAAKykJ,WACVlhJ,GAAMvD,KAAKq2E,WAAar2E,KAAK0kJ,eAMzCljJ,EAAOsjJ,QAAQxiJ,UAAUC,YAAcf,EAAOsjJ,QAoB9CtjJ,EAAOiuJ,SAAW,SAAU1sJ,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAEzC7L,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAM1CrN,KAAK0vJ,WAAY,EAMjB1vJ,KAAK2vJ,UAAY,KAMjB3vJ,KAAK4vJ,GAAK,EAMV5vJ,KAAK6vJ,WAAY,EAMjB7vJ,KAAK8vJ,UAAY,KAMjB9vJ,KAAK+vJ,GAAK,GAGdvuJ,EAAOiuJ,SAASntJ,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACxDd,EAAOiuJ,SAASntJ,UAAUC,YAAcf,EAAOiuJ,SAQ/CjuJ,EAAOiuJ,SAASntJ,UAAU6iC,OAAS,WAE3BnlC,KAAK0vJ,cAEL1vJ,KAAK4vJ,GAID5vJ,KAAKc,MAAMqG,IAAInH,KAAK2vJ,UAAU3vJ,KAAK4vJ,IAAI7rJ,EAAG/D,KAAK2vJ,UAAU3vJ,KAAK4vJ,IAAI5rJ,GAIlEhE,KAAK0vJ,WAAY,GAIrB1vJ,KAAK6vJ,cAEL7vJ,KAAK+vJ,GAID/vJ,KAAKiB,MAAQjB,KAAK8vJ,UAAU9vJ,KAAK+vJ,IAAIlxG,EAIrC7+C,KAAK6vJ,WAAY,IAW7BruJ,EAAOiuJ,SAASntJ,UAAU0tJ,OAAS,aAUnCxuJ,EAAOiuJ,SAASntJ,UAAU2tJ,aAAe,SAAU77I,GAE/CpU,KAAK8vJ,UAAY17I,EACjBpU,KAAK+vJ,GAAK37I,EAAKzR,OAAS,EACxB3C,KAAKiB,MAAQjB,KAAK8vJ,UAAU9vJ,KAAK+vJ,IAAIlxG,EACrC7+C,KAAK6vJ,WAAY,GASrBruJ,EAAOiuJ,SAASntJ,UAAU4tJ,aAAe,SAAU97I,GAE/CpU,KAAK2vJ,UAAYv7I,EACjBpU,KAAK4vJ,GAAKx7I,EAAKzR,OAAS,EACxB3C,KAAKc,MAAMqG,IAAInH,KAAK2vJ,UAAU3vJ,KAAK4vJ,IAAI7rJ,EAAG/D,KAAK2vJ,UAAU3vJ,KAAK4vJ,IAAI5rJ,GAClEhE,KAAK0vJ,WAAY,GAerBluJ,EAAOiuJ,SAASntJ,UAAU8jC,MAAQ,SAAUriC,EAAGC,EAAG2sE,GAU9C,OARAnvE,EAAO0pE,UAAUgI,MAAM5wE,UAAU8jC,MAAM5hC,KAAKxE,KAAM+D,EAAGC,EAAG2sE,GAExD3wE,KAAKiB,MAAQ,EACbjB,KAAKc,MAAMqG,IAAI,GAEfnH,KAAK0vJ,WAAY,EACjB1vJ,KAAK6vJ,WAAY,EAEV7vJ,MAgBXwB,EAAOs8C,UAAY,SAAU/6C,GAKzB/C,KAAK+C,KAAOA,EAKZ/C,KAAKmwJ,YAMLnwJ,KAAKowJ,GAAK,GAGd5uJ,EAAOs8C,UAAUx7C,WAQb22B,IAAK,SAAUk8C,GAGX,OADAn1E,KAAKmwJ,SAASh7E,EAAQjhE,IAAMihE,EACrBA,GAQXh5D,OAAQ,SAAUg5D,UAEPn1E,KAAKmwJ,SAASh7E,EAAQjhE,MAKrC1S,EAAOs8C,UAAUx7C,UAAUC,YAAcf,EAAOs8C,UAahDt8C,EAAOs8C,UAAUu3B,UAqBjB7zE,EAAOs8C,UAAUu3B,OAAOC,QAAU,SAAUvyE,EAAMgB,EAAGC,EAAGoxE,GAMpDp1E,KAAKo1E,aAAeA,GAAgB,GAEpC5zE,EAAO8wC,MAAM9tC,KAAKxE,KAAM+C,GAMxB/C,KAAK4zH,IAAM5zH,KAAK+C,KAAK8jC,UAAUupH,KAK/BpwJ,KAAKgyB,KAAO,UAAYhyB,KAAKkU,GAM7BlU,KAAKwT,KAAOhS,EAAOqrB,QAMnB7sB,KAAK4yC,YAAcpxC,EAAOirB,MAM1BzsB,KAAKk/B,KAAO,IAAI19B,EAAOS,UAAU8B,EAAGC,EAAG,EAAG,GAM1ChE,KAAKqwJ,SAAW,KAMhBrwJ,KAAKswJ,SAAW,KAMhBtwJ,KAAKuwJ,SAAW,EAMhBvwJ,KAAKwwJ,SAAW,IAMhBxwJ,KAAKywJ,iBAAmB,IAAIjvJ,EAAOX,OAAO,KAAM,KAMhDb,KAAK0wJ,iBAAmB,IAAIlvJ,EAAOX,MAAM,IAAK,KAM9Cb,KAAK2wJ,iBAAmB,EAMxB3wJ,KAAK4wJ,iBAAmB,EAKxB5wJ,KAAK2vJ,UAAY,KAMjB3vJ,KAAK6wJ,aAAe,IAMpB7wJ,KAAK8wJ,YAAc,IAMnB9wJ,KAAK+wJ,iBAAmB,EAMxB/wJ,KAAKgxJ,iBAAmB,EAKxBhxJ,KAAK8vJ,UAAY,KAMjB9vJ,KAAKixJ,cAAgBzvJ,EAAOiuJ,SAK5BzvJ,KAAKkxJ,aAAe,IAAI1vJ,EAAOX,MAM/Bb,KAAKq4I,YAAc,EAMnBr4I,KAAKmuG,UAAY,IAMjBnuG,KAAK0xE,SAAW,IAKhB1xE,KAAK87I,OAAS,IAAIt6I,EAAOX,MAMzBb,KAAK0xC,IAAK,EAMV1xC,KAAKmxJ,eAAiB,IAAI3vJ,EAAOX,MAAM,GAAK,IAM5Cb,KAAKiI,UAAYzG,EAAO0G,WAAWE,OAQnCpI,KAAKoxJ,MAAQrtJ,EAQb/D,KAAKqxJ,MAAQrtJ,EAKbhE,KAAK0vJ,WAAY,EAKjB1vJ,KAAK6vJ,WAAY,EAMjB7vJ,KAAKsxJ,oBAAqB,EAM1BtxJ,KAAKuxJ,oBAAqB,EAS1BvxJ,KAAKwxJ,QACDC,QAAS,EACTC,OAAQ,EACRC,aAAc,EACdC,YAAa,GAOjB5xJ,KAAK6xJ,SAAW,IAAIrwJ,EAAOX,MAAM,EAAG,KAMpCb,KAAK8xJ,kBAAoB,IAAItwJ,EAAOX,MAAM,EAAG,GAM7Cb,KAAK+xJ,kBAAoB,IAAIvwJ,EAAOX,MAAM,EAAG,GAM7Cb,KAAK03I,OAAS,EAMd13I,KAAKgyJ,OAAS,EAMdhyJ,KAAKiyJ,SAAW,EAMhBjyJ,KAAKkyJ,cAAgB,EAMrBlyJ,KAAKmyJ,WAAa,EAMlBnyJ,KAAKoyJ,UAAW,EAMhBpyJ,KAAKw9G,QAAU,MAGnBh8G,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAY0E,OAAOwB,OAAOhH,EAAO8wC,MAAMhwC,WACvEd,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUC,YAAcf,EAAOs8C,UAAUu3B,OAAOC,QAOhF9zE,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU6iC,OAAS,WAK/C,GAHAnlC,KAAKwxJ,OAAOC,QAAU,EACtBzxJ,KAAKwxJ,OAAOE,OAAS,EAEjB1xJ,KAAK0xC,IAAM1xC,KAAK+C,KAAKwiC,KAAKA,MAAQvlC,KAAKgyJ,OAIvC,GAFAhyJ,KAAKgyJ,OAAShyJ,KAAK+C,KAAKwiC,KAAKA,KAAOvlC,KAAKmuG,UAAYnuG,KAAK+C,KAAKwiC,KAAKwa,WAE5C,IAApB//C,KAAKmyJ,WAEL,GAAInyJ,KAAKkyJ,cAAgB,GAErB,IAASxvJ,EAAI,EAAGA,EAAI1C,KAAKkyJ,cAAexvJ,IAEpC,GAAI1C,KAAKqyJ,iBAELryJ,KAAKiyJ,YAEoB,IAArBjyJ,KAAKmyJ,YAAqBnyJ,KAAKiyJ,UAAYjyJ,KAAKmyJ,YACpD,CACInyJ,KAAK0xC,IAAK,EACV,YAMZ1xC,KAAKqyJ,iBAELryJ,KAAKiyJ,YAEoB,IAArBjyJ,KAAKmyJ,YAAqBnyJ,KAAKiyJ,UAAYjyJ,KAAKmyJ,aAEhDnyJ,KAAK0xC,IAAK,SAKlB1xC,KAAKqyJ,iBAELryJ,KAAKiyJ,WAEDjyJ,KAAK03I,OAAS,GAAK13I,KAAKiyJ,UAAYjyJ,KAAK03I,SAEzC13I,KAAK0xC,IAAK,IAOtB,IAFA,IAAIhvC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEC1C,KAAKyC,SAASC,GAAGwK,QAEjBlN,KAAKyC,SAASC,GAAGyiC,UAkB7B3jC,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUgwJ,cAAgB,SAAU5gI,EAAMgqE,EAAQ3mD,EAAUmkG,EAAS0F,EAAoB2T,QAEtGhsJ,IAAXm1F,IAAwBA,EAAS,QACpBn1F,IAAbwuC,IAA0BA,EAAW/0C,KAAKo1E,mBAC9B7uE,IAAZ2yI,IAAyBA,GAAU,QACZ3yI,IAAvBq4I,IAAoCA,GAAqB,QACnCr4I,IAAtBgsJ,IAAmCA,EAAoB,MAE3D,IAAIC,EACA9vJ,EAAI,EACJ+vJ,EAAS/gI,EACTghI,EAAWh3D,EAQf,IAPA17F,KAAKw9G,QAAU9hB,EAEX3mD,EAAW/0C,KAAKo1E,eAEhBp1E,KAAKo1E,aAAergC,GAGjBryC,EAAIqyC,GAEHttC,MAAMC,QAAQgqB,KAEd+gI,EAASzyJ,KAAK+C,KAAK2iC,IAAI0U,KAAK1oB,IAG5BjqB,MAAMC,QAAQg0F,KAEdg3D,EAAW1yJ,KAAK+C,KAAK2iC,IAAI0U,KAAKshD,IAGlC82D,EAAW,IAAIxyJ,KAAKixJ,cAAcjxJ,KAAK+C,KAAM,EAAG,EAAG0vJ,EAAQC,EAAUH,GAErEvyJ,KAAK+C,KAAK+jC,QAAQ0vG,OAAOx9H,OAAOw5I,GAAU,GAE1CA,EAASrgH,KAAKilG,eAAesD,MAAQxB,EACrCsZ,EAASrgH,KAAKysG,mBAAqBA,EACnC4T,EAASrgH,KAAKslG,cAAe,EAE7B+a,EAAStlJ,QAAS,EAClBslJ,EAAStxJ,SAAU,EACnBsxJ,EAAS7rJ,OAAO0uB,SAASr1B,KAAKmxJ,gBAE9BnxJ,KAAKi5B,IAAIu5H,GAET9vJ,IAGJ,OAAO1C,MASXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU+0C,KAAO,WAM7C,OAJAr3C,KAAK0xC,IAAK,EACV1xC,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EAEPlN,MASXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUk1C,OAAS,WAK/C,OAHAx3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EAEPlN,MAWXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUqwJ,QAAU,SAAUjhF,EAAU38B,GAWpE,YATiBxuC,IAAbwuC,IAEAA,EAAW/0C,KAAKo1E,cAGpBp1E,KAAKmyJ,WAAa,EAElBnyJ,KAAKsM,OAAM,EAAMolE,EAAU,EAAG38B,GAAU,GAEjC/0C,MAqBXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUswJ,KAAO,SAAUlhF,EAAUy8B,EAAWp5D,EAAUiE,EAAO4kC,GA6B7F,YA3BkBr3E,IAAd4nG,GAAyC,OAAdA,IAAsBA,EAAY,UAChD5nG,IAAbwuC,GAAuC,IAAbA,IAAkBA,EAAW,QAC7CxuC,IAAVyyC,IAAuBA,GAAS,QAClBzyC,IAAdq3E,IAA2BA,GAAY,GAEvC7oC,EAAW/0C,KAAKo1E,eAEhBrgC,EAAW/0C,KAAKo1E,cAGpBp1E,KAAKiyJ,SAAW,EAChBjyJ,KAAKkyJ,cAAgBn9G,EACrB/0C,KAAKmyJ,WAAan5G,EAEd4kC,GAEA59E,KAAKsM,OAAM,EAAMolE,EAAUy8B,EAAWp5D,GAEtC/0C,KAAKiyJ,UAAYl9G,EACjB/0C,KAAK0xC,IAAK,EACV1xC,KAAKgyJ,OAAShyJ,KAAK+C,KAAKwiC,KAAKA,KAAO4oE,EAAYnuG,KAAK+C,KAAKwiC,KAAKwa,YAI/D//C,KAAKsM,OAAM,EAAOolE,EAAUy8B,EAAWp5D,GAGpC/0C,MAgCXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUgK,MAAQ,SAAUqmJ,EAASjhF,EAAUy8B,EAAWn1D,EAAO65G,GAoB7F,QAlBgBtsJ,IAAZosJ,IAAyBA,GAAU,QACtBpsJ,IAAbmrE,IAA0BA,EAAW,QACvBnrE,IAAd4nG,GAAyC,OAAdA,IAAsBA,EAAY,UACnD5nG,IAAVyyC,IAAuBA,EAAQ,QACbzyC,IAAlBssJ,IAA+BA,GAAgB,GAE/C75G,EAAQh5C,KAAKo1E,eAEbp8B,EAAQh5C,KAAKo1E,cAGjBp1E,KAAKw3C,SAELx3C,KAAKkB,SAAU,EAEflB,KAAK0xE,SAAWA,EAChB1xE,KAAKmuG,UAAYA,EAEbwkD,GAAWE,EAEX,IAAK,IAAInwJ,EAAI,EAAGA,EAAIs2C,EAAOt2C,IAEvB1C,KAAKqyJ,oBAKTryJ,KAAK0xC,IAAK,EACV1xC,KAAK03I,OAAS1+F,EACdh5C,KAAKiyJ,SAAW,EAChBjyJ,KAAKgyJ,OAAShyJ,KAAK+C,KAAKwiC,KAAKA,KAAO4oE,EAAYnuG,KAAK+C,KAAKwiC,KAAKwa,WAGnE,OAAO//C,MAmBXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU+vJ,aAAe,SAAUtuJ,EAAGC,EAAGgP,EAAK3F,QAEhE9G,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAE3B,IAAIwuJ,EAAWxyJ,KAAK8yJ,kBAEpB,GAAiB,OAAbN,EAKA,OAHAxyJ,KAAKwxJ,OAAOE,SACZ1xJ,KAAKwxJ,OAAOI,eAEL,EAGX5xJ,KAAKwxJ,OAAOC,UACZzxJ,KAAKwxJ,OAAOG,eAEZ,IAAIjsH,EAAM1lC,KAAK+C,KAAK2iC,SAERn/B,IAARyM,QAA+BzM,IAAV8G,EAErBmlJ,EAASn5G,YAAYrmC,EAAK3F,QAEb9G,IAARyM,IAELw/I,EAASn5G,YAAYrmC,GACrBw/I,EAASnlJ,MAAQ5F,MAAMC,QAAQ1H,KAAKw9G,SAAW93E,EAAI0U,KAAKp6C,KAAKw9G,SAAWx9G,KAAKw9G,SAGjF,IAAI4zC,EAAQpxJ,KAAKoxJ,MACbC,EAAQrxJ,KAAKqxJ,MAsBjB,OApBU,OAANttJ,EAEAqtJ,EAAQrtJ,EAEH/D,KAAKpC,MAAQ,IAElBwzJ,EAAQ1rH,EAAI0V,QAAQp7C,KAAK2zB,KAAM3zB,KAAK0zB,QAG9B,OAAN1vB,EAEAqtJ,EAAQrtJ,EAEHhE,KAAKnC,OAAS,IAEnBwzJ,EAAQ3rH,EAAI0V,QAAQp7C,KAAKq2B,IAAKr2B,KAAKs2B,SAGvCt2B,KAAK+yJ,cAAcP,EAAUpB,EAAOC,IAE7B,GAUX7vJ,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUwwJ,gBAAkB,WAIxD,IAFA,IAAIpwJ,EAAI1C,KAAK2C,OAEND,KACP,CACI,IAAI8yC,EAAOx1C,KAAKw1C,OAEhB,IAAKA,EAAKtoC,OAEN,OAAOsoC,EAIf,OAAO,MAWXh0C,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUywJ,cAAgB,SAAUP,EAAUzuJ,EAAGC,GAE7E,IAAI0hC,EAAM1lC,KAAK+C,KAAK2iC,IAEpB8sH,EAASpsH,MAAMriC,EAAGC,GAElBwuJ,EAAS58H,MAAQ,EACjB48H,EAAS9gF,SAAW1xE,KAAK0xE,SAErB1xE,KAAKsxJ,mBAELtxJ,KAAK41C,WAAW48G,GAEXxyJ,KAAKuxJ,oBAEVvxJ,KAAK81C,WAAW08G,GAGhBxyJ,KAAK0vJ,UAEL8C,EAAStC,aAAalwJ,KAAK2vJ,WAEI,IAA1B3vJ,KAAK2wJ,kBAAoD,IAA1B3wJ,KAAK4wJ,iBAEzC4B,EAAS1xJ,MAAMqG,IAAIu+B,EAAI6pE,YAAYvvG,KAAK2wJ,iBAAkB3wJ,KAAK4wJ,mBAEzD5wJ,KAAK8xJ,kBAAkB/tJ,IAAM/D,KAAK+xJ,kBAAkBhuJ,GAAO/D,KAAK8xJ,kBAAkB9tJ,IAAMhE,KAAK+xJ,kBAAkB/tJ,EAErHwuJ,EAAS1xJ,MAAMqG,IAAIu+B,EAAI6pE,YAAYvvG,KAAK8xJ,kBAAkB/tJ,EAAG/D,KAAK+xJ,kBAAkBhuJ,GAAI2hC,EAAI6pE,YAAYvvG,KAAK8xJ,kBAAkB9tJ,EAAGhE,KAAK+xJ,kBAAkB/tJ,IAIzJwuJ,EAAS1xJ,MAAMqG,IAAInH,KAAK8xJ,kBAAkB/tJ,EAAG/D,KAAK8xJ,kBAAkB9tJ,GAGpEhE,KAAK6vJ,UAEL2C,EAASvC,aAAajwJ,KAAK8vJ,WAI3B0C,EAASvxJ,MAAQykC,EAAI6pE,YAAYvvG,KAAK+wJ,iBAAkB/wJ,KAAKgxJ,kBAGjEwB,EAASvqJ,UAAYjI,KAAKiI,UAE1B,IAAIkqC,EAAOqgH,EAASrgH,KAEpBA,EAAK0tG,eAEL1tG,EAAK2pG,OAAOzmH,SAASr1B,KAAK87I,QAC1B3pG,EAAKsmG,KAAKpjH,SAASr1B,KAAKkxJ,cAEH,MAAjBlxJ,KAAKqwJ,UAAqC,MAAjBrwJ,KAAKswJ,SAE9BtwJ,KAAK+C,KAAK+jC,QAAQ0vG,OAAO+G,kBACpBv9I,KAAKqwJ,WAAarwJ,KAAKswJ,SAAYtwJ,KAAKqwJ,SAAW3qH,EAAI0V,QAAQp7C,KAAKqwJ,SAAUrwJ,KAAKswJ,UACnFtwJ,KAAKuwJ,WAAavwJ,KAAKwwJ,SAAYxwJ,KAAKuwJ,SAAW7qH,EAAI0V,QAAQp7C,KAAKuwJ,SAAUvwJ,KAAKwwJ,UACpFr+G,EAAKomG,WAKTpmG,EAAKomG,SAASx0I,EAAI2hC,EAAI0V,QAAQp7C,KAAKywJ,iBAAiB1sJ,EAAG/D,KAAK0wJ,iBAAiB3sJ,GAC7EouC,EAAKomG,SAASv0I,EAAI0hC,EAAI0V,QAAQp7C,KAAKywJ,iBAAiBzsJ,EAAGhE,KAAK0wJ,iBAAiB1sJ,IAGjFmuC,EAAKgmG,gBAAkBzyG,EAAI0V,QAAQp7C,KAAK6wJ,YAAa7wJ,KAAK8wJ,aAC1D3+G,EAAKglG,QAAQ9hH,SAASr1B,KAAKm3I,SAC3BhlG,EAAKkmG,YAAcr4I,KAAKq4I,YAExBma,EAASxC,UAQbxuJ,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUE,QAAU,WAEhDxC,KAAK+C,KAAK8jC,UAAU1qB,OAAOnc,MAE3BwB,EAAO8wC,MAAMhwC,UAAUE,QAAQgC,KAAKxE,MAAM,GAAM,IAWpDwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU6jC,QAAU,SAAUvoC,EAAOC,GAKjE,OAHAmC,KAAKk/B,KAAKthC,MAAQA,EAClBoC,KAAKk/B,KAAKrhC,OAASA,EAEZmC,MAUXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU0wJ,UAAY,SAAU15H,EAAKrzB,GAQjE,OANAqzB,EAAMA,GAAO,EACbrzB,EAAMA,GAAO,EAEbjG,KAAKywJ,iBAAiB1sJ,EAAIu1B,EAC1Bt5B,KAAK0wJ,iBAAiB3sJ,EAAIkC,EAEnBjG,MAUXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU2wJ,UAAY,SAAU35H,EAAKrzB,GAQjE,OANAqzB,EAAMA,GAAO,EACbrzB,EAAMA,GAAO,EAEbjG,KAAKywJ,iBAAiBzsJ,EAAIs1B,EAC1Bt5B,KAAK0wJ,iBAAiB1sJ,EAAIiC,EAEnBjG,MAWXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU4wJ,YAAc,SAAU55H,EAAKrzB,GAQnE,OANAqzB,EAAMA,GAAO,EACbrzB,EAAMA,GAAO,EAEbjG,KAAK6wJ,YAAcv3H,EACnBt5B,KAAK8wJ,YAAc7qJ,EAEZjG,MAgBXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU6wJ,SAAW,SAAU75H,EAAKrzB,EAAKmtJ,EAAMp8C,EAAMC,GAYjF,QAVY1wG,IAAR+yB,IAAqBA,EAAM,QACnB/yB,IAARN,IAAqBA,EAAM,QAClBM,IAAT6sJ,IAAsBA,EAAO,QACpB7sJ,IAATywG,IAAsBA,EAAOx1G,EAAOowG,OAAOK,OAAOC,WACzC3rG,IAAT0wG,IAAsBA,GAAO,GAEjCj3G,KAAK+wJ,iBAAmBz3H,EACxBt5B,KAAKgxJ,iBAAmB/qJ,EACxBjG,KAAK6vJ,WAAY,EAEbuD,EAAO,GAAK95H,IAAQrzB,EACxB,CACI,IAAIotJ,GAAcx0G,EAAGvlB,GACjB66C,EAAQn0E,KAAK+C,KAAKwjC,KAAK4tC,MAAMk/E,GAAWliI,IAAK0tB,EAAG54C,GAAOmtJ,EAAMp8C,GACjE7iC,EAAM8iC,KAAKA,GAEXj3G,KAAK8vJ,UAAY37E,EAAMgkC,aAAa,IAGpCn4G,KAAK8vJ,UAAUxxI,UACfte,KAAK6vJ,WAAY,EAGrB,OAAO7vJ,MAkBXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAU8oJ,SAAW,SAAUxgJ,EAAMG,EAAMD,EAAME,EAAMooJ,EAAMp8C,EAAMC,GAmB/F,QAjBa1wG,IAATqE,IAAsBA,EAAO,QACpBrE,IAATwE,IAAsBA,EAAO,QACpBxE,IAATuE,IAAsBA,EAAO,QACpBvE,IAATyE,IAAsBA,EAAO,QACpBzE,IAAT6sJ,IAAsBA,EAAO,QACpB7sJ,IAATywG,IAAsBA,EAAOx1G,EAAOowG,OAAOK,OAAOC,WACzC3rG,IAAT0wG,IAAsBA,GAAO,GAGjCj3G,KAAK2wJ,iBAAmB,EACxB3wJ,KAAK4wJ,iBAAmB,EAExB5wJ,KAAK8xJ,kBAAkB3qJ,IAAIyD,EAAME,GACjC9K,KAAK+xJ,kBAAkB5qJ,IAAI4D,EAAMC,GAEjChL,KAAK0vJ,WAAY,EAEb0D,EAAO,IAAOxoJ,IAASG,GAAUD,IAASE,GAC9C,CACI,IAAIqoJ,GAActvJ,EAAG6G,EAAM5G,EAAG8G,GAC1BqpE,EAAQn0E,KAAK+C,KAAKwjC,KAAK4tC,MAAMk/E,GAAWliI,IAAKptB,EAAGgH,EAAM/G,EAAGgH,GAAQooJ,EAAMp8C,GAC3E7iC,EAAM8iC,KAAKA,GAEXj3G,KAAK2vJ,UAAYx7E,EAAMgkC,aAAa,IAGpCn4G,KAAK2vJ,UAAUrxI,UACfte,KAAK0vJ,WAAY,EAGrB,OAAO1vJ,MAiBXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUgxJ,SAAW,SAAUjD,EAAUC,EAAUC,EAAUC,GAQzF,OANAxwJ,KAAKqwJ,SAAWA,EAChBrwJ,KAAKswJ,SAAWA,EAEA,MAAZC,IAAoBvwJ,KAAKuwJ,SAAWA,GACxB,MAAZC,IAAoBxwJ,KAAKwwJ,SAAWA,GAEjCxwJ,MAWXwB,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAUixJ,GAAK,SAAU95G,GAarD,OAXIA,EAAO3a,QAEP9+B,KAAKoxJ,MAAQ33G,EAAO3a,OAAO/6B,EAC3B/D,KAAKqxJ,MAAQ53G,EAAO3a,OAAO96B,IAI3BhE,KAAKoxJ,MAAQ33G,EAAOx2C,MAAMc,EAAK01C,EAAO9yC,OAAO5C,EAAI01C,EAAO77C,MACxDoC,KAAKqxJ,MAAQ53G,EAAOx2C,MAAMe,EAAKy1C,EAAO9yC,OAAO3C,EAAIy1C,EAAO57C,QAGrDmC,MAOXgH,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,WAE7D4E,IAAK,WAED,OAAOlH,KAAK6xJ,UAGhB1qJ,IAAK,SAAUC,GAEU,iBAAVA,EAEPpH,KAAK6xJ,SAAS7tJ,EAAIoD,EAIlBpH,KAAK6xJ,SAAWzqJ,KAW5BJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,MAC7D4E,IAAK,WAED,OAAOlH,KAAK4zH,OAQpB5sH,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,SAE7D4E,IAAK,WAED,OAAOlH,KAAKk/B,KAAKthC,OAGrBuJ,IAAK,SAAUC,GAEXpH,KAAKk/B,KAAKthC,MAAQwJ,KAS1BJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,UAE7D4E,IAAK,WAED,OAAOlH,KAAKk/B,KAAKrhC,QAGrBsJ,IAAK,SAAUC,GAEXpH,KAAKk/B,KAAKrhC,OAASuJ,KAS3BJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,KAE7D4E,IAAK,WAED,OAAOlH,KAAKoxJ,OAGhBjqJ,IAAK,SAAUC,GAEXpH,KAAKoxJ,MAAQhqJ,KASrBJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,KAE7D4E,IAAK,WAED,OAAOlH,KAAKqxJ,OAGhBlqJ,IAAK,SAAUC,GAEXpH,KAAKqxJ,MAAQjqJ,KAUrBJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,QAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAK+D,EAAK/D,KAAKk/B,KAAKthC,MAAQ,MAUtDoJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,SAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAK+D,EAAK/D,KAAKk/B,KAAKthC,MAAQ,MAUtDoJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,OAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAKgE,EAAKhE,KAAKk/B,KAAKrhC,OAAS,MAUvDmJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,UAE7D4E,IAAK,WAED,OAAOxD,KAAKmsB,MAAM7vB,KAAKgE,EAAKhE,KAAKk/B,KAAKrhC,OAAS,MAUvDmJ,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,UAE7D4E,IAAK,WAED,OAAO,IAAOlH,KAAKkyJ,cAAgBlyJ,KAAKmuG,aAUhDnnG,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,kBAE7D4E,IAAK,WAED,OAA0B,IAAlBlH,KAAK0xE,SAAiB7mE,EAAAA,EAAW7K,KAAK0xE,UAAY1xE,KAAKkyJ,cAAgBlyJ,KAAKmuG,aAU5FnnG,OAAOyF,eAAejL,EAAOs8C,UAAUu3B,OAAOC,QAAQhzE,UAAW,aAE7D4E,IAAK,WAED,OAAOlH,KAAKo1E,aAAep1E,KAAKwzJ,kBA0ExChyJ,EAAOoyE,OAAS,SAAU7wE,EAAM1B,GAG5BG,EAAOotC,OAAOpqC,KAAKxE,KAAM+C,EAAM1B,GAM/BrB,KAAKyzJ,QAAU,KAQfzzJ,KAAK0zJ,wBAAyB,EAQ9B1zJ,KAAK2zJ,UAAW,EAShB3zJ,KAAK4zJ,MAAQ,EASb5zJ,KAAK6zJ,UAAY,EAOjB7zJ,KAAK8zJ,SAAW,IAUhB9zJ,KAAK+zJ,iBAAmB,EAQxB/zJ,KAAKg0J,SAAW,IAAIxyJ,EAAOS,UAAU,EAAG,EAAG,EAAG,GAQ9CjC,KAAKi0J,UAAYzyJ,EAAO4sB,SAOxBpuB,KAAKk0J,0BAA2B,EAQhCl0J,KAAKm0J,gBAAkB,GAQvBn0J,KAAKo0J,mBAAoB,EAWzBp0J,KAAKq0J,kBAAmB,EAQxBr0J,KAAKs0J,iBAAkB,EASvBt0J,KAAKu0J,uBAAyB,EAU9Bv0J,KAAKw0J,kBAAoB,EAUzBx0J,KAAKy0J,oBAAsB,EAO3Bz0J,KAAK00J,YAAc,IASnB10J,KAAK20J,oBAAsB,EAS3B30J,KAAK40J,eAAiB,EAQtB50J,KAAK60J,mBAAqB,EAO1B70J,KAAK80J,cAAgB,IAAItzJ,EAAOX,MAAM,EAAG,GASzCb,KAAK+0J,wBAAyB,EAQ9B/0J,KAAKg1J,UAAY,GAQjBh1J,KAAKi1J,YAAc,GAOnBj1J,KAAKk1J,aAAe1zJ,EAAO2zJ,OAO3Bn1J,KAAKo1J,2BAA4B,EAOjCp1J,KAAKq1J,gBAAkB7zJ,EAAOoyE,OAAO0hF,kBAQrCt1J,KAAKo3F,OACDm+D,YAAY,EACZ33J,MAAO,EACPC,OAAQ,EACR6mB,QAAS,EACTC,QAAS,GAWb3kB,KAAK8E,OAAS,IAAItD,EAAOS,UAQzBjC,KAAKw1J,aAAezyJ,EAAKE,MAAM6B,OAQ/B9E,KAAKy1J,gBAQLz1J,KAAK01J,iBAAmB,EAOxB11J,KAAK21J,SASL31J,KAAK41J,OAAS,IAAIp0J,EAAO6gC,OASzBriC,KAAK61J,OAAS,IAAIr0J,EAAO6gC,OAUzBriC,KAAK81J,YAAc,IAAIt0J,EAAO6gC,OAQ9BriC,KAAK+1J,cAAgB,KAQrB/1J,KAAKg2J,eAAiB,KAYtBh2J,KAAKi2J,WAAY,EAOjBj2J,KAAKk2J,WAAY,EAUjBl2J,KAAKm2J,eAAgB,EAUrBn2J,KAAKo2J,YAAc,IAAI50J,EAAOX,MAQ9Bb,KAAKq2J,UAAY,EAQjBr2J,KAAKs2J,cAAgB,EAQrBt2J,KAAKu2J,cAAgB,IAAI/0J,EAAOX,OAIpCW,EAAOoyE,OAAOtxE,UAAY0E,OAAOwB,OAAOhH,EAAOotC,OAAOtsC,WACtDd,EAAOoyE,OAAOtxE,UAAUC,YAAcf,EAAOoyE,OAO7CpyE,EAAOoyE,OAAO4iF,WAAa,EAO3Bh1J,EAAOoyE,OAAO6iF,cAAgB,EAQ9Bj1J,EAAOoyE,OAAO8iF,cAAgB,EAO9Bl1J,EAAOoyE,OAAO+iF,mBAAqB,EAOnCn1J,EAAOoyE,OAAOgjF,mBAAqB,EAOnCp1J,EAAOoyE,OAAO0hF,kBAAoB,EAOlC9zJ,EAAOoyE,OAAOijF,mBAAqB,EA4BnCr1J,EAAOoyE,OAAOtxE,UAAUuxE,cAAgB,SAAU9+B,EAAU/hC,EAAK3F,EAAOktC,GAiCpE,YA9BiBh0C,IAAbwuC,IAA0BA,EAAW,QAC3BxuC,IAAVg0C,IAAuBA,EAAQv6C,KAAK+C,KAAKE,OAEzCjD,KAAKyzJ,UAAYzzJ,KAAKyzJ,QAAQ1wJ,OAE9B/C,KAAKyzJ,QAAU,MAGdzzJ,KAAKyzJ,UAENzzJ,KAAKyzJ,QAAUzzJ,KAAK+C,KAAKk2B,IAAIm7C,aAAa5yE,EAAOkxC,QAAQC,OAAQ4H,GACjEv6C,KAAKyzJ,QAAQzgH,UAAYhzC,KAAKk1J,cAGjB,IAAbngH,KAEkB,IAAdA,IAEA/0C,KAAK0zJ,wBAAyB,EAC9B3+G,EAAW,GAGf/0C,KAAKyzJ,QAAQ3+G,eAAeC,EAAU/hC,EAAK3F,GAE3CrN,KAAKyzJ,QAAQ98G,OAAO,qBAAsB32C,MAE1CA,KAAKg1J,UAAYhiJ,EACjBhT,KAAKi1J,YAAc5nJ,GAGhBrN,MAeXwB,EAAOoyE,OAAOtxE,UAAUquB,QAAU,SAAUqkB,EAAU1L,GAKlD,OAFAtpC,KAAKyzJ,QAAQn7G,cAActD,EAAU1L,EAAiBhZ,WAE/CtwB,MAYXwB,EAAOoyE,OAAOtxE,UAAUyzG,SAAW,WAK/B,OAFA/1G,KAAKyzJ,QAAQ98G,OAAO,eAAe,GAE5B32C,MAYXwB,EAAOoyE,OAAOtxE,UAAU0zG,UAAY,WAKhC,OAFAh2G,KAAKyzJ,QAAQ98G,OAAO,eAAe,GAE5B32C,MAWXwB,EAAOoyE,OAAOtxE,UAAUg1C,QAAU,WAO9B,OAJAt3C,KAAKyzJ,QAAQl8G,cAAc,QAAQ,GAEnCv3C,KAAKyzJ,QAAQ98G,OAAO,eAAe,GAE5B32C,MAYXwB,EAAOoyE,OAAOtxE,UAAUw0J,WAAa,SAAUC,GAU3C,OAPA/2J,KAAK4zJ,MAAQ,OAEIrtJ,IAAbwwJ,IAEA/2J,KAAK6zJ,UAAYkD,GAGd/2J,MAUXwB,EAAOoyE,OAAOtxE,UAAUE,QAAU,WAG9BxC,KAAKqB,OAAO8a,OAAOnc,MAAM,GAEzBA,KAAKyzJ,QAAQjxJ,UAEbxC,KAAK+C,KAAO,KACZ/C,KAAKqB,OAAS,KACdrB,KAAK+qC,QAAS,EACd/qC,KAAKkB,SAAU,GAUnBM,EAAOoyE,OAAOtxE,UAAU6iC,OAAS,WAGzBnlC,KAAKq1J,kBAAoB7zJ,EAAOoyE,OAAO+iF,qBAEnC32J,KAAK+1J,eAEL/1J,KAAK+1J,cAAcjzJ,kBACnB9C,KAAK8E,OAAOk0B,SAASh5B,KAAK+1J,cAAcr0J,cAAcqC,EAAG/D,KAAK+1J,cAAcr0J,cAAcsC,IAErFhE,KAAKg2J,gBAEVh2J,KAAK8E,OAAOk0B,SAASh5B,KAAKg2J,eAAe5rB,OAAQpqI,KAAKg2J,eAAe3rB,SAIzErqI,KAAK2zJ,UAEL3zJ,KAAKg3J,QAWbx1J,EAAOoyE,OAAOtxE,UAAU4sC,WAAa,WAG5BlvC,KAAKi2J,WAAcj2J,KAAKk2J,YAK7Bl2J,KAAKk2J,WAAY,EAEjBl2J,KAAKq2J,UAAYr2J,KAAKs2J,gBAqB1B90J,EAAOoyE,OAAOtxE,UAAU20J,YAAc,SAAU3zI,EAAQoB,EAASC,EAASwxI,GAatE,YAVgB5vJ,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,QACjBpe,IAAlB4vJ,IAA+BA,GAAgB,GAEnDn2J,KAAKg2J,eAAiB,KACtBh2J,KAAK+1J,cAAgBzyI,EACrBtjB,KAAKm2J,cAAgBA,EAErBn2J,KAAKo2J,YAAYjvJ,IAAIud,EAASC,GAEvB3kB,MAoBXwB,EAAOoyE,OAAOtxE,UAAU40J,aAAe,SAAU7oH,EAAS3pB,EAASC,GAa/D,YAVgBpe,IAAZ8nC,IAAyBA,EAAUruC,KAAK+C,KAAKyjC,MAAMuc,oBACvCx8C,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAEvC3kB,KAAKg2J,eAAiB3nH,EACtBruC,KAAK+1J,cAAgB,KACrB/1J,KAAKm2J,eAAgB,EAErBn2J,KAAKo2J,YAAYjvJ,IAAIud,EAASC,GAEvB3kB,MA0BXwB,EAAOoyE,OAAOtxE,UAAU60J,SAAW,SAAU/0I,EAAW3c,GAGpDzF,KAAKi2J,WAAY,EAEjB,IAAIxC,KAEA/mH,EAAQ1sC,KAqBZ,OAnBIyF,GAAQzF,KAAK+1J,eAAiB/1J,KAAKg2J,eAEnC5zI,EAAUuO,QAAQ,SAAUlZ,GAGxBg8I,EAAQ3rJ,KAAK4kC,EAAMsqH,KAAKvxJ,EAAM,KAAM,KAAMgS,EAAO1T,EAAG0T,EAAOzT,MAM/Doe,EAAUuO,QAAQ,SAAU/vB,GAGxB6yJ,EAAQ3rJ,KAAK4kC,EAAMsqH,KAAKp2J,MAKzB6yJ,GAyBXjyJ,EAAOoyE,OAAOtxE,UAAU80J,WAAa,SAAU1yI,EAASC,GAMpD,YAHgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAEhC3kB,KAAKg3J,KAAK,KAAM,KAAM,KAAMtyI,EAASC,IA+BhDnjB,EAAOoyE,OAAOtxE,UAAU00J,KAAO,SAAUvxJ,EAAM1B,EAAGC,EAAG0gB,EAASC,GAM1D,QAHUpe,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEvBhE,KAAK+C,KAAKwiC,KAAK2X,IAAMl9C,KAAKq2J,WAAcr2J,KAAK6zJ,UAAY,GAAK7zJ,KAAK4zJ,QAAU5zJ,KAAK6zJ,UAElF,OAAO,KAGX,IAAIryG,EAAQxhD,KAAK00J,YAGgB,IAA7B10J,KAAK20J,sBAELnzG,GAAShgD,EAAOkC,KAAK03C,SAASp7C,KAAK20J,oBAAqB30J,KAAK20J,sBAG7DlvJ,EAEIzF,KAAKg0J,SAASp2J,MAAQ,EAEtBoC,KAAKg0J,SAASh7H,SAASvzB,EAAK1B,EAAG0B,EAAKzB,IAIpChE,KAAKg0J,SAASjwJ,EAAI0B,EAAK1B,EACvB/D,KAAKg0J,SAAShwJ,EAAIyB,EAAKzB,GAGtBhE,KAAK+1J,eAEN/1J,KAAKm2J,eAELn2J,KAAKu2J,cAAcpvJ,IAAInH,KAAK+1J,cAAc9yJ,MAAMc,EAAI/D,KAAKo2J,YAAYryJ,EAAG/D,KAAK+1J,cAAc9yJ,MAAMe,EAAIhE,KAAKo2J,YAAYpyJ,GACtHhE,KAAKu2J,cAAc/9H,OAAOx4B,KAAK+1J,cAAc9yJ,MAAMc,EAAG/D,KAAK+1J,cAAc9yJ,MAAMe,EAAGhE,KAAK+1J,cAAcn0J,eAEjG5B,KAAKg0J,SAASp2J,MAAQ,EAEtBoC,KAAKg0J,SAASh7H,SAASh5B,KAAKu2J,cAAcxyJ,EAAG/D,KAAKu2J,cAAcvyJ,IAIhEhE,KAAKg0J,SAASjwJ,EAAI/D,KAAKu2J,cAAcxyJ,EACrC/D,KAAKg0J,SAAShwJ,EAAIhE,KAAKu2J,cAAcvyJ,IAIzChE,KAAKg0J,SAASp2J,MAAQ,EAEtBoC,KAAKg0J,SAASh7H,SAASh5B,KAAK+1J,cAAc9yJ,MAAMc,EAAI/D,KAAKo2J,YAAYryJ,EAAG/D,KAAK+1J,cAAc9yJ,MAAMe,EAAIhE,KAAKo2J,YAAYpyJ,IAItHhE,KAAKg0J,SAASjwJ,EAAI/D,KAAK+1J,cAAc9yJ,MAAMc,EAAI/D,KAAKo2J,YAAYryJ,EAChE/D,KAAKg0J,SAAShwJ,EAAIhE,KAAK+1J,cAAc9yJ,MAAMe,EAAIhE,KAAKo2J,YAAYpyJ,GAGhEhE,KAAKk0J,2BAEL1yG,GAASxhD,KAAK+1J,cAAc5jH,KAAKqP,QAGhCxhD,KAAKg2J,iBAENh2J,KAAKg0J,SAASp2J,MAAQ,EAEtBoC,KAAKg0J,SAASh7H,SAASh5B,KAAKg2J,eAAe/yJ,MAAMc,EAAI/D,KAAKo2J,YAAYryJ,EAAG/D,KAAKg2J,eAAe/yJ,MAAMe,EAAIhE,KAAKo2J,YAAYpyJ,IAIxHhE,KAAKg0J,SAASjwJ,EAAI/D,KAAKg2J,eAAe/yJ,MAAMc,EAAI/D,KAAKo2J,YAAYryJ,EACjE/D,KAAKg0J,SAAShwJ,EAAIhE,KAAKg2J,eAAe/yJ,MAAMe,EAAIhE,KAAKo2J,YAAYpyJ,SAIzDuC,IAAZme,IAEA1kB,KAAKg0J,SAASjwJ,GAAK2gB,QAGPne,IAAZoe,IAEA3kB,KAAKg0J,SAAShwJ,GAAK2gB,GAGvB,IAAI4jE,EAASvoF,KAAKg0J,SAASp2J,MAAQ,EAAKoC,KAAKg0J,SAASrzH,QAAU3gC,KAAKg0J,SAASjwJ,EAC1EykF,EAASxoF,KAAKg0J,SAASn2J,OAAS,EAAKmC,KAAKg0J,SAASpzH,QAAU5gC,KAAKg0J,SAAShwJ,EAE3E4xB,EAAS51B,KAAkB,cAAIA,KAAK+1J,cAAcngI,MAAQ51B,KAAKi0J,UAGzD,OAANlwJ,GAAoB,OAANC,IAEd4xB,EAAQ51B,KAAK+C,KAAK8iC,KAAK7I,SAASt5B,KAAKq5B,MAAM/4B,EAAIwkF,EAAOzkF,EAAIwkF,KAI7B,IAA7BvoF,KAAKy0J,sBAEL7+H,GAASp0B,EAAOkC,KAAK03C,SAASp7C,KAAKy0J,oBAAqBz0J,KAAKy0J,sBAGjE,IAAI4C,EAAQ,EACRC,EAAQ,EAGE,IAAV1hI,GAAyB,MAAVA,EAEfyhI,EAAQ3zJ,KAAKI,IAAI9D,KAAK+C,KAAK8iC,KAAKpP,SAASb,IAAU4rB,EAEpC,KAAV5rB,GAA0B,MAAVA,EAErB0hI,EAAQ5zJ,KAAKG,IAAI7D,KAAK+C,KAAK8iC,KAAKpP,SAASb,IAAU4rB,GAInD61G,EAAQ3zJ,KAAKI,IAAI9D,KAAK+C,KAAK8iC,KAAKpP,SAASb,IAAU4rB,EACnD81G,EAAQ5zJ,KAAKG,IAAI7D,KAAK+C,KAAK8iC,KAAKpP,SAASb,IAAU4rB,GAGvD,IAAI+1G,EAAS,KAab,GAXIv3J,KAAK0zJ,wBAEL6D,EAASv3J,KAAKyzJ,QAAQx6G,gBAAe,GAAO,EAAMsvC,EAAOC,EAAOxoF,KAAKg1J,UAAWh1J,KAAKi1J,cAE9E7gJ,KAAKojJ,cAAgBx3J,KAI5Bu3J,EAASv3J,KAAKyzJ,QAAQx6G,gBAAe,GAGrCs+G,EACJ,CAiBI,GAhBAA,EAAOnxH,MAAMmiD,EAAOC,GAEpB+uE,EAAOnjJ,KAAKm0E,MAAQA,EACpBgvE,EAAOnjJ,KAAKo0E,MAAQA,EACpB+uE,EAAOnjJ,KAAKqjJ,SAAWz3J,KAAK03J,eAC5BH,EAAOnjJ,KAAKujJ,aAAe33J,KAAK60J,mBAChC0C,EAAOnjJ,KAAKwjJ,iBAAmB53J,KAAK+0J,uBAEhC/0J,KAAK03J,iBAAmBl2J,EAAOoyE,OAAO6iF,gBAEtCc,EAAO7lF,SAAW1xE,KAAK40J,gBAG3B2C,EAAO3hI,MAAQA,EAAQ51B,KAAKw0J,kBAGC,KAAzBx0J,KAAKm0J,gBACT,CACI,GAA6D,OAAzDoD,EAAO7rF,WAAWwxC,aAAal9G,KAAKm0J,iBACxC,CACI,IAAIx3C,EAAO38G,KAAK21J,MAAM31J,KAAKm0J,iBAE3BoD,EAAO7rF,WAAWzyC,IAAI0jF,EAAK3qF,KAAM2qF,EAAKjhB,OAAQihB,EAAKpxC,UAAWoxC,EAAKnxC,KAAMmxC,EAAKE,iBAGlF06C,EAAO7rF,WAAWJ,KAAKtrE,KAAKm0J,sBAG5Bn0J,KAAKq0J,kBAELkD,EAAOlqJ,MAAQrN,KAAKy1J,aAAaz1J,KAAK01J,oBAEtC11J,KAAK01J,kBAEwB11J,KAAKy1J,aAAa9yJ,SAE3C3C,KAAK01J,iBAAmB,IAGvB11J,KAAKo0J,oBAEVmD,EAAOlqJ,MAAQrN,KAAKy1J,aAAa/xJ,KAAKmsB,MAAMnsB,KAAKivB,SAAW3yB,KAAKy1J,aAAa9yJ,UAG9E40J,EAAOnjJ,KAAKyjJ,YAER73J,KAAKo3F,MAAMm+D,YAEXgC,EAAOplH,KAAKhM,QAAQnmC,KAAKo3F,MAAMx5F,MAAOoC,KAAKo3F,MAAMv5F,OAAQmC,KAAKo3F,MAAM1yE,QAAS1kB,KAAKo3F,MAAMzyE,SAG5F4yI,EAAOplH,KAAKysG,mBAAqB5+I,KAAK83J,yBAEtCP,EAAOnjJ,KAAKyjJ,WAAY,GAG5BN,EAAOplH,KAAKomG,SAASpxI,IAAIkwJ,EAAOC,GAChCC,EAAOplH,KAAKglG,QAAQhwI,IAAInH,KAAK80J,cAAc/wJ,EAAG/D,KAAK80J,cAAc9wJ,GAEjE,IAAIwxC,EAAO,EAEX,GAAiC,IAA7Bx1C,KAAK20J,oBACT,CACI,IAAIvB,EAAOpzJ,KAAK8zJ,UAEhBV,GAAQ5xJ,EAAOkC,KAAK03C,SAASp7C,KAAK+zJ,iBAAkB/zJ,KAAK+zJ,mBAE9C,IAEPX,EAAO,GAGX59G,EAAOx1C,KAAK+C,KAAKwiC,KAAK2X,IAAMk2G,OAI5B59G,EAAOx1C,KAAK+C,KAAKwiC,KAAK2X,IAAMl9C,KAAK8zJ,SAGjC9zJ,KAAKi2J,UAEAj2J,KAAKk2J,YAGNl2J,KAAKk2J,WAAY,EACjBl2J,KAAKs2J,cAAgB9gH,EACrBx1C,KAAK4zJ,UAKT5zJ,KAAKq2J,UAAY7gH,EAEjBx1C,KAAK4zJ,SAGT5zJ,KAAK41J,OAAOnwH,SAAS8xH,EAAQv3J,KAAMwhD,GAE/BxhD,KAAK6zJ,UAAY,GAAK7zJ,KAAK4zJ,QAAU5zJ,KAAK6zJ,WAE1C7zJ,KAAK81J,YAAYrwH,SAASzlC,KAAMA,KAAK6zJ,WAI7C,OAAO0D,GAYX/1J,EAAOoyE,OAAOtxE,UAAUy1J,cAAgB,SAAU1pH,GAK9C,YAFgB9nC,IAAZ8nC,IAAyBA,EAAUruC,KAAK+C,KAAKyjC,MAAMuc,eAEhD/iD,KAAKg3J,KAAK,KAAM3oH,EAAQ+7F,OAAQ/7F,EAAQg8F,SAYnD7oI,EAAOoyE,OAAOtxE,UAAU01J,aAAe,SAAU10I,GAG7C,OAAOtjB,KAAKg3J,KAAK,KAAM1zI,EAAOrgB,MAAMc,EAAGuf,EAAOrgB,MAAMe,IAaxDxC,EAAOoyE,OAAOtxE,UAAU21J,SAAW,SAAUl0J,EAAGC,GAG5C,OAAOhE,KAAKg3J,KAAK,KAAMjzJ,EAAGC,IA0B9BxC,EAAOoyE,OAAOtxE,UAAU41J,oBAAsB,SAAUt6J,EAAOC,EAAQ6mB,EAASC,GAgB5E,YAbgBpe,IAAZme,IAAyBA,EAAU,QACvBne,IAAZoe,IAAyBA,EAAU,GAEvC3kB,KAAKo3F,MAAMm+D,YAAa,EACxBv1J,KAAKo3F,MAAMx5F,MAAQA,EACnBoC,KAAKo3F,MAAMv5F,OAASA,EACpBmC,KAAKo3F,MAAM1yE,QAAUA,EACrB1kB,KAAKo3F,MAAMzyE,QAAUA,EAGrB3kB,KAAKyzJ,QAAQ17G,QAAQ,eAAgB,OAAQn6C,EAAOC,EAAQ6mB,EAASC,GACrE3kB,KAAKyzJ,QAAQ98G,OAAO,kBAAkB,GAE/B32C,MAsBXwB,EAAOoyE,OAAOtxE,UAAU61J,gBAAkB,SAAU7+H,EAAKrzB,EAAKmyJ,EAAOzlI,GAajE,YAVcpsB,IAAV6xJ,IAAuBA,GAAQ,QACpB7xJ,IAAXosB,IAAwBA,GAAS,GAErC3yB,KAAKy1J,aAAej0J,EAAOu4C,WAAWs1F,YAAY/1G,EAAKrzB,GAEvDjG,KAAK01J,iBAAmB,EAExB11J,KAAKq0J,iBAAmB+D,EACxBp4J,KAAKo0J,kBAAoBzhI,EAElB3yB,MAuBXwB,EAAOoyE,OAAOtxE,UAAU+1J,mBAAqB,SAAUrmI,EAAM0pE,EAAQnwB,EAAWC,EAAMqxC,GAgBlF,OAbA78G,KAAK21J,MAAM3jI,IACPA,KAAMA,EACN0pE,OAAQA,EACRnwB,UAAWA,EACXC,KAAMA,EACNqxC,gBAAiBA,GAIrB78G,KAAKyzJ,QAAQ17G,QAAQ,iBAAkB,aAAc/lB,EAAM0pE,EAAQnwB,EAAWC,EAAMqxC,GAEpF78G,KAAKm0J,gBAAkBniI,EAEhBhyB,MAaXwB,EAAOoyE,OAAOtxE,UAAU4nC,MAAQ,SAAUnmC,EAAGC,EAAGs0J,QAGlC/xJ,IAANxC,IAAmBA,EAAI,SACjBwC,IAANvC,IAAmBA,EAAI,SACPuC,IAAhB+xJ,IAA6BA,GAAc,GAE/Ct4J,KAAK+C,KAAKmnC,MAAM0qC,KAAK,gBAAiB7wE,EAAGC,GACzChE,KAAK+C,KAAKmnC,MAAM0qC,KAAK,kBAAoB50E,KAAKyzJ,QAAQz6G,MAAQ,aAAeh5C,KAAKyzJ,QAAQ9wJ,OAAQoB,EAAGC,EAAI,IAErGs0J,GAEAt4J,KAAKyzJ,QAAQn7G,cAAct4C,KAAK+C,KAAKmnC,MAAMiI,KAAMnyC,KAAK+C,KAAKmnC,MAAO,2BAc1EljC,OAAOyF,eAAejL,EAAOoyE,OAAOtxE,UAAW,eAE3C4E,IAAK,WAGD,OAAOlH,KAAKk1J,cAIhB/tJ,IAAK,SAAU6rC,GAGXhzC,KAAKk1J,aAAeliH,EAGhBhzC,KAAKyzJ,UAELzzJ,KAAKyzJ,QAAQzgH,UAAYhzC,KAAKk1J,iBAqC1CluJ,OAAOyF,eAAejL,EAAOoyE,OAAOtxE,UAAW,kBAE3C4E,IAAK,WAGD,OAAOlH,KAAKq1J,iBAIhBluJ,IAAK,SAAUqM,GAGX,OAAQA,GAEJ,KAAKhS,EAAOoyE,OAAOijF,mBACnB,KAAKr1J,EAAOoyE,OAAO+iF,mBACf32J,KAAKw1J,aAAex1J,KAAK8E,OACzB,MAEJ,KAAKtD,EAAOoyE,OAAOgjF,mBACf52J,KAAKw1J,aAAex1J,KAAK+C,KAAK+X,OAAO7D,KACrC,MAEJ,KAAKzV,EAAOoyE,OAAO0hF,kBACft1J,KAAKw1J,aAAex1J,KAAK+C,KAAKE,MAAM6B,OAI5C9E,KAAKq1J,gBAAkB7hJ,KAY/BxM,OAAOyF,eAAejL,EAAOoyE,OAAOtxE,UAAW,4BAE3C4E,IAAK,WAGD,OAAOlH,KAAKo1J,2BAIhBjuJ,IAAK,SAAUC,GAGXpH,KAAKo1J,0BAA4BhuJ,EAEjCpH,KAAKyzJ,QAAQ98G,OAAO,0BAA2BvvC,GAC/CpH,KAAKyzJ,QAAQ98G,OAAO,kBAAkB,MAa9C3vC,OAAOyF,eAAejL,EAAOoyE,OAAOtxE,UAAW,KAE3C4E,IAAK,WAGD,OAAOlH,KAAKg0J,SAASjwJ,GAIzBoD,IAAK,SAAUC,GAGXpH,KAAKg0J,SAASjwJ,EAAIqD,KAY1BJ,OAAOyF,eAAejL,EAAOoyE,OAAOtxE,UAAW,KAE3C4E,IAAK,WAGD,OAAOlH,KAAKg0J,SAAShwJ,GAIzBmD,IAAK,SAAUC,GAGXpH,KAAKg0J,SAAShwJ,EAAIoD,KAwB1B5F,EAAO2zJ,OAAS,SAAUpyJ,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAGvC7L,EAAOsE,OAAOtB,KAAKxE,KAAM+C,EAAMgB,EAAGC,EAAGgP,EAAK3F,GAE1CrN,KAAK2G,OAAOQ,IAAI,IAEhBnH,KAAKoU,MACDojJ,cAAe,KACfjvE,MAAO,EACPC,MAAO,EACPqvE,WAAW,EACXD,kBAAkB,EAClBH,SAAU,EACVE,aAAc,IAKtBn2J,EAAO2zJ,OAAO7yJ,UAAY0E,OAAOwB,OAAOhH,EAAOsE,OAAOxD,WACtDd,EAAO2zJ,OAAO7yJ,UAAUC,YAAcf,EAAO2zJ,OAS7C3zJ,EAAO2zJ,OAAO7yJ,UAAU+0C,KAAO,WAS3B,OANAr3C,KAAK6yC,OAAQ,EACb7yC,KAAKkN,QAAS,EACdlN,KAAKkB,SAAU,EAEflB,KAAKoU,KAAKojJ,cAAc3B,OAAOpwH,SAASzlC,MAEjCA,MAUXwB,EAAO2zJ,OAAO7yJ,UAAU6iC,OAAS,WAGxBnlC,KAAKkN,SAKNlN,KAAKoU,KAAKqjJ,SAAWj2J,EAAOoyE,OAAO6iF,gBAE/Bz2J,KAAKoU,KAAKqjJ,WAAaj2J,EAAOoyE,OAAO8iF,cAEjC12J,KAAK+C,KAAK+jC,QAAQ0vG,OAAO8G,aAAat9I,KAAMA,KAAKoU,KAAKm0E,MAAOvoF,KAAKoU,KAAKo0E,OAAO,GAAQxoF,KAAKoU,KAAKujJ,cAEhG33J,KAAKq3C,OAIRr3C,KAAKoU,KAAKojJ,cAAchC,aAAah/H,WAAWx2B,OAEjDA,KAAKq3C,QAITr3C,KAAKoU,KAAKwjJ,mBAEV53J,KAAKgB,SAAWhB,KAAKmyC,KAAKomG,SAASt7G,QAGnCj9B,KAAKoU,KAAKojJ,cAAclD,iBAExBt0J,KAAK+C,KAAKE,MAAMg3B,KAAKj6B,KAAMA,KAAKoU,KAAKojJ,cAAcjD,0BA0C3D/yJ,EAAO2sE,MAAQ,SAAUprE,EAAMiQ,EAAK0jE,GA6MhC,QA3MYnwE,IAARyM,IAAqBA,EAAM,WACnBzM,IAARmwE,IAAqBA,EAAM,MAK/B12E,KAAK+C,KAAOA,EAMZ/C,KAAKgT,IAAMA,EAMXhT,KAAKpC,MAAQ,EAMboC,KAAKnC,OAAS,EAMdmC,KAAKwT,KAAOhS,EAAOssB,MAKnB9tB,KAAK26E,sBAAuB,EAM5B36E,KAAKskH,aAAc,EAKnBtkH,KAAK25H,OAAS,IAAIn4H,EAAO6gC,OAKzBriC,KAAKouE,eAAiB,IAAI5sE,EAAO6gC,OAKjCriC,KAAKy2G,WAAa,IAAIj1G,EAAO6gC,OAK7BriC,KAAKu4J,SAAW,IAAI/2J,EAAO6gC,OAK3BriC,KAAKo5D,QAAU,IAAI53D,EAAO6gC,OAO1BriC,KAAKw4J,UAAY,IAAIh3J,EAAO6gC,OAM5BriC,KAAKk8H,cAAgB,IAAI16H,EAAO6gC,OAOhCriC,KAAKy4J,kBAAmB,EAMxBz4J,KAAK04J,QAAU,KAMf14J,KAAKwqG,WAAa,KAKlBxqG,KAAKy2E,MAAQ,KAKbz2E,KAAK24J,YAAc,KAKnB34J,KAAK44J,aAAc,EASnB54J,KAAK64J,WAAa,GAMlB74J,KAAK84J,MAAQ,EAMb94J,KAAK+4J,cAAgB,IAMrB/4J,KAAKg5J,SAAW,KAOhBh5J,KAAKq8H,YAAa,EAOlBr8H,KAAKi6H,QAAS,EAOdj6H,KAAKm8C,aAAc,EAOnBn8C,KAAKk8C,SAAU,EAOfl8C,KAAKi5J,UAAW,EAOhBj5J,KAAKk5J,sBAAuB,EAO5Bl5J,KAAKm5J,WAAY,EAMjBn5J,KAAKo5J,aAAe,KAMpBp5J,KAAKq5J,cAAgB,KAEjBrmJ,GAAOhT,KAAK+C,KAAKiX,MAAM0tG,cAAc10G,GACzC,CACI,IAAIsmJ,EAASt5J,KAAK+C,KAAKiX,MAAMwuG,SAASx1G,GAElCsmJ,EAAOxzC,OAEP9lH,KAAKu5J,oBAAoBD,EAAOllJ,MAIhCpU,KAAKy2E,MAAQ6iF,EAAOllJ,KAGxBpU,KAAKpC,MAAQoC,KAAKy2E,MAAM+iF,WACxBx5J,KAAKnC,OAASmC,KAAKy2E,MAAMgjF,iBAEpB/iF,GAEL12E,KAAK05J,mBAAmBhjF,GAAK,GAO7B12E,KAAKy2E,QAAUC,GAEf12E,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAAYnqB,KAAKy2E,MAAO,KAAMz2E,KAAK+C,KAAK6B,YACpE5E,KAAKoG,YAAYmkB,YAAYvqB,KAAKpC,MAAOoC,KAAKnC,UAI9CmC,KAAKoG,YAAc,IAAI5H,KAAK2rB,YAAY3oB,EAAOmtC,MAAMjnB,QAAQthB,YAAYgJ,OAAQ,KAAMpP,KAAK+C,KAAK6B,YACjG5E,KAAKoG,YAAYmkB,YAAYvqB,KAAKpC,MAAOoC,KAAKnC,SAOlDmC,KAAKjC,QAAU,IAAIS,KAAKqO,QAAQ7M,KAAKoG,aAMrCpG,KAAKw6E,aAAe,IAAIh5E,EAAOk5E,MAAM,EAAG,EAAG,EAAG16E,KAAKpC,MAAOoC,KAAKnC,OAAQ,SAEvEmC,KAAKjC,QAAQgtB,SAAS/qB,KAAKw6E,cAE3Bx6E,KAAKjC,QAAQ0P,OAAQ,EAET,OAARuF,GAAgBhT,KAAKy2E,QAErBz2E,KAAKjC,QAAQ0P,MAAQzN,KAAKy2E,MAAMy6C,SAWpClxH,KAAK25J,SAAW,KAEZn4J,EAAOuwE,aAEP/xE,KAAK25J,SAAW,IAAIn4J,EAAOuwE,WAAW/xE,KAAK+C,KAAM,GAAI/C,KAAKpC,MAAOoC,KAAKnC,SAGtEmC,KAAK+C,KAAKknB,OAAOm/E,mBAEjBppG,KAAKi9H,eAGLq8B,IAEAA,EAAOtqG,QAAS,IAIxBxtD,EAAO2sE,MAAM7rE,WAUTs3J,qBAAsB,SAAUnjF,EAAOojF,GAcnC,OAZIpjF,GAASojF,IAET75J,KAAKy2E,MAAQA,EACbz2E,KAAK24J,YAAckB,EAEnB75J,KAAK44J,aAAc,EACnB54J,KAAKoG,YAAYgJ,OAASpP,KAAKy2E,MAC/Bz2E,KAAKwV,cAAc,KAAMxV,KAAKy2E,MAAM+iF,WAAYx5J,KAAKy2E,MAAMgjF,aAE3Dz5J,KAAKu4J,SAAS9yH,SAASzlC,OAGpBA,MAsBX85J,iBAAkB,SAAUC,EAAcn8J,EAAOC,GAM7C,QAJqB0I,IAAjBwzJ,IAA8BA,GAAe,QACnCxzJ,IAAV3I,IAAuBA,EAAQ,WACpB2I,IAAX1I,IAAwBA,EAAS,OAEhCmC,KAAK+C,KAAKknB,OAAOk3E,aAGlB,OADAnhG,KAAKo5D,QAAQ3zB,SAASzlC,KAAM,oBACrB,EAGc,OAArBA,KAAK24J,cAED34J,KAAK24J,YAAY5tH,OAEjB/qC,KAAK24J,YAAY5tH,QAAS,EAI1B/qC,KAAK24J,YAAYxsJ,QAIzBnM,KAAKg6J,qBAELh6J,KAAKy2E,MAAQpmC,SAAS0mD,cAAc,SACpC/2F,KAAKy2E,MAAMwjF,aAAa,WAAY,YACpCj6J,KAAKy2E,MAAMwjF,aAAa,cAAe,eAEzB,OAAVr8J,IAEAoC,KAAKy2E,MAAM74E,MAAQA,GAGR,OAAXC,IAEAmC,KAAKy2E,MAAM54E,OAASA,GAKxBmC,KAAKwqG,WAAap6F,OAAOg0F,WAAWpkG,KAAKk6J,oBAAoBnqI,KAAK/vB,MAAOA,KAAK04J,SAE9E,IAEI/uI,UAAUw3E,cACJ7sB,MAAOylF,EAActjF,OAAO,GAC9Bz2E,KAAKm6J,oBAAoBpqI,KAAK/vB,MAC9BA,KAAKo6J,kBAAkBrqI,KAAK/vB,OAGpC,MAAOO,GAEHP,KAAKo6J,kBAAkB75J,GAG3B,OAAOP,MAOXk6J,oBAAqB,WAEjBrvD,aAAa7qG,KAAKwqG,YAElBxqG,KAAKw4J,UAAU/yH,SAASzlC,OAO5Bo6J,kBAAmB,SAAU1pH,GAEzBm6D,aAAa7qG,KAAKwqG,YAElBxqG,KAAKo5D,QAAQ3zB,SAASzlC,KAAM0wC,IAOhCypH,oBAAqB,SAAUN,GAE3BhvD,aAAa7qG,KAAKwqG,YAGlBxqG,KAAK24J,YAAckB,OAGatzJ,IAA5BvG,KAAKy2E,MAAM4jF,aAEXr6J,KAAKy2E,MAAM4jF,aAAeR,OAEItzJ,IAAzBvG,KAAKy2E,MAAM6jF,UAEhBt6J,KAAKy2E,MAAM6jF,UAAYT,EAIvB75J,KAAKy2E,MAAM5mE,IAAOO,OAAO23F,KAAO33F,OAAO23F,IAAIwyD,gBAAgBV,IAAYA,EAG3E,IAAI1+H,EAAOn7B,KAEXA,KAAKy2E,MAAM+jF,aAAe,WAItB,SAASC,IAEL,GAAI3B,EAAQ,EAER,GAAI39H,EAAKs7C,MAAM+iF,WAAa,EAC5B,CAEI,IAAI57J,EAAQu9B,EAAKs7C,MAAM+iF,WACnB37J,EAASs9B,EAAKs7C,MAAMgjF,YAEpBv3F,MAAM/mC,EAAKs7C,MAAMgjF,eAEjB57J,EAASD,GAAS,EAAI,IAG1Bu9B,EAAKs7C,MAAMnL,OAEXnwC,EAAKy9H,aAAc,EACnBz9H,EAAK/0B,YAAYgJ,OAAS+rB,EAAKs7C,MAC/Bt7C,EAAK3lB,cAAc,KAAM5X,EAAOC,GAChCs9B,EAAKo9H,SAAS9yH,SAAStK,QAIvB/qB,OAAOg0F,WAAWq2D,EAAa,UAKnCn6J,QAAQ+Z,KAAK,oDAGjBy+I,IAlCJ,IAAIA,EAAQ,GAqCZ2B,MAYRlB,oBAAqB,SAAUxgD,GAE3B,IAAIrsE,EAAQ1sC,KAUZ,OARAA,KAAKy2E,MAAQpmC,SAAS0mD,cAAc,SACpC/2F,KAAKy2E,MAAMq6C,UAAW,EACtB9wH,KAAKy2E,MAAMwjF,aAAa,WAAY,YACpCj6J,KAAKy2E,MAAMwjF,aAAa,cAAe,eACvCj6J,KAAKy2E,MAAMzlC,iBAAiB,aAAc,SAAUN,GAAShE,EAAMl3B,cAAck7B,KAAW,GAC5F1wC,KAAKy2E,MAAM5mE,IAAMO,OAAO23F,IAAIwyD,gBAAgBxhD,GAC5C/4G,KAAKy2E,MAAMy6C,SAAU,EAEdlxH,MAWX05J,mBAAoB,SAAUhjF,EAAKq6C,GAgC/B,YA9BiBxqH,IAAbwqH,IAA0BA,GAAW,GAGrC/wH,KAAKjC,UAELiC,KAAKjC,QAAQ0P,OAAQ,GAGzBzN,KAAKy2E,MAAQpmC,SAAS0mD,cAAc,SACpC/2F,KAAKy2E,MAAMq6C,UAAW,EAElBC,GAEA/wH,KAAKy2E,MAAMwjF,aAAa,WAAY,YAGxCj6J,KAAKy2E,MAAMwjF,aAAa,cAAe,eAEvCj6J,KAAKy2E,MAAM5mE,IAAM6mE,EAEjB12E,KAAKy2E,MAAMy6C,SAAU,EAErBlxH,KAAKy2E,MAAMhwC,OAEXzmC,KAAK84J,MAAQ94J,KAAK64J,WAElB74J,KAAKg5J,SAAW5oJ,OAAOg0F,WAAWpkG,KAAK06J,mBAAmB3qI,KAAK/vB,MAAOA,KAAK+4J,eAE3E/4J,KAAKgT,IAAM0jE,EAEJ12E,MAYXwV,cAAe,SAAUk7B,EAAO9yC,EAAOC,GAEnC,IAAI88J,GAAS,OAECp0J,IAAV3I,GAAiC,OAAVA,IAAkBA,EAAQoC,KAAKy2E,MAAM+iF,WAAYmB,GAAS,QACtEp0J,IAAX1I,GAAmC,OAAXA,IAAmBA,EAASmC,KAAKy2E,MAAMgjF,aAEnEz5J,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEVmC,KAAKoG,YAAYgJ,SAAWpP,KAAKy2E,QAEjCz2E,KAAKoG,YAAYgJ,OAASpP,KAAKy2E,OAGnCz2E,KAAKoG,YAAYmkB,YAAY3sB,EAAOC,GAEpCmC,KAAKjC,QAAQsP,MAAMlH,OAAOvI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQ0P,OAAQ,EAEjBzN,KAAK25J,UAEL35J,KAAK25J,SAASxzJ,OAAOvI,EAAOC,GAG5B88J,GAAuB,OAAb36J,KAAKgT,MAEfhT,KAAKouE,eAAe3oC,SAASzlC,KAAMpC,EAAOC,GAEtCmC,KAAKm5J,YAELn5J,KAAKy2E,MAAMnL,OACXtrE,KAAK25H,OAAOl0F,SAASzlC,KAAMA,KAAKwrE,KAAMxrE,KAAK46J,iBAWvDxwI,SAAU,WAENpqB,KAAKy2G,WAAWhxE,SAASzlC,OAa7BsrE,KAAM,SAAUE,EAAMovF,GAElB,OAAI56J,KAAKk5J,qBAEEl5J,WAGEuG,IAATilE,IAAsBA,GAAO,QACZjlE,IAAjBq0J,IAA8BA,EAAe,GAE7C56J,KAAK+C,KAAK2jC,MAAMmzF,SAEhB75H,KAAK+C,KAAK2jC,MAAMmzF,OAAO5gG,IAAIj5B,KAAK6gD,QAAS7gD,MACzCA,KAAK+C,KAAK2jC,MAAMu1F,SAAShjG,IAAIj5B,KAAK8gD,UAAW9gD,MAEzCA,KAAK+C,KAAK2jC,MAAM20F,MAEhBr7H,KAAK6gD,WAIb7gD,KAAK+C,KAAKgmC,QAAQ9P,IAAIj5B,KAAK66J,SAAU76J,MACrCA,KAAK+C,KAAKkmC,SAAShQ,IAAIj5B,KAAK86J,UAAW96J,MAEvCA,KAAKo5J,aAAep5J,KAAKoqB,SAAS2F,KAAK/vB,MAEvCA,KAAKy2E,MAAMzlC,iBAAiB,QAAShxC,KAAKo5J,cAAc,GACxDp5J,KAAKy2E,MAAMzlC,iBAAiB,sBAAuBhxC,KAAKo5J,cAAc,GAIlEp5J,KAAKy2E,MAAMjL,KAFXA,EAEkB,OAIA,GAGtBxrE,KAAKy2E,MAAMmkF,aAAeA,EAEtB56J,KAAKskH,YAELtkH,KAAKi5J,UAAW,GAIhBj5J,KAAKi5J,UAAW,EAEC,OAAbj5J,KAAKgT,MAEyB,IAA1BhT,KAAKy2E,MAAM0tB,YAEXnkG,KAAK84J,MAAQ94J,KAAK64J,WAClB74J,KAAKg5J,SAAW5oJ,OAAOg0F,WAAWpkG,KAAK06J,mBAAmB3qI,KAAK/vB,MAAOA,KAAK+4J,iBAI3E/4J,KAAKq5J,cAAgBr5J,KAAK+6J,YAAYhrI,KAAK/vB,MAC3CA,KAAKy2E,MAAMzlC,iBAAiB,UAAWhxC,KAAKq5J,eAAe,KAInEr5J,KAAKy2E,MAAMnL,OAEXtrE,KAAK25H,OAAOl0F,SAASzlC,KAAMwrE,EAAMovF,IAG9B56J,OASX+6J,YAAa,WAET/6J,KAAKy2E,MAAMxkC,oBAAoB,UAAWjyC,KAAKq5J,eAAe,GAE9Dr5J,KAAKwV,iBAiBTrJ,KAAM,WAkEF,OAhEInM,KAAK+C,KAAK2jC,MAAMmzF,SAEhB75H,KAAK+C,KAAK2jC,MAAMmzF,OAAO19G,OAAOnc,KAAK6gD,QAAS7gD,MAC5CA,KAAK+C,KAAK2jC,MAAMu1F,SAAS9/G,OAAOnc,KAAK8gD,UAAW9gD,OAGpDA,KAAK+C,KAAKgmC,QAAQ5sB,OAAOnc,KAAK66J,SAAU76J,MACxCA,KAAK+C,KAAKkmC,SAAS9sB,OAAOnc,KAAK86J,UAAW96J,MAItCA,KAAK44J,aAED54J,KAAKy2E,MAAM4jF,cAEXr6J,KAAKy2E,MAAM4jF,aAAaluJ,OACxBnM,KAAKy2E,MAAM5mE,IAAM,MAEZ7P,KAAKy2E,MAAM6jF,WAEhBt6J,KAAKy2E,MAAM6jF,UAAUnuJ,OACrBnM,KAAKy2E,MAAM5mE,IAAM,OAIjB7P,KAAKy2E,MAAM5mE,IAAM,GAEb7P,KAAK24J,YAAY5tH,OAEjB/qC,KAAK24J,YAAY5tH,QAAS,EAG1B/qC,KAAK24J,YAAYqC,UAEjBh7J,KAAK24J,YAAYqC,YAAYrqI,QAAQ,SAAUsqI,GAE3CA,EAAM9uJ,SAKVnM,KAAK24J,YAAYxsJ,QAIzBnM,KAAK24J,YAAc,KACnB34J,KAAK44J,aAAc,IAInB54J,KAAKy2E,MAAMxkC,oBAAoB,QAASjyC,KAAKo5J,cAAc,GAC3Dp5J,KAAKy2E,MAAMxkC,oBAAoB,sBAAuBjyC,KAAKo5J,cAAc,GACzEp5J,KAAKy2E,MAAMxkC,oBAAoB,UAAWjyC,KAAKq5J,eAAe,GAE1Dr5J,KAAKskH,YAELtkH,KAAKi5J,UAAW,EAIhBj5J,KAAKy2E,MAAMztC,SAIZhpC,MAWXi5B,IAAK,SAAUwgB,GAEX,GAAIhyC,MAAMC,QAAQ+xC,GAEd,IAAK,IAAI/2C,EAAI,EAAGA,EAAI+2C,EAAO92C,OAAQD,IAE3B+2C,EAAO/2C,GAAG22C,aAEVI,EAAO/2C,GAAG22C,YAAYr5C,WAM9By5C,EAAOJ,YAAYr5C,MAGvB,OAAOA,MAeXwuC,WAAY,SAAUzqC,EAAGC,EAAGyqC,EAASC,EAAS9pB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI5K,EAAQla,KAAK+C,KAAKk2B,IAAI/e,MAAMnW,EAAGC,EAAGhE,MAKtC,OAHAka,EAAMvT,OAAOQ,IAAIsnC,EAASC,GAC1Bx0B,EAAMpZ,MAAMqG,IAAIyd,EAAQE,GAEjB5K,GAUX/U,OAAQ,YAECnF,KAAK26E,sBAAwB36E,KAAKk7J,SAEnCl7J,KAAKoG,YAAYoL,SAUzBqvC,QAAS,WAED7gD,KAAKi6H,SAKTj6H,KAAKi6H,QAAS,EAEdj6H,KAAKy2E,MAAM2kD,OAAQ,IASvBt6E,UAAW,WAEF9gD,KAAKi6H,SAAUj6H,KAAKq8H,aAKzBr8H,KAAKi6H,QAAS,EAEdj6H,KAAKy2E,MAAM2kD,OAAQ,IASvBy/B,SAAU,WAEF76J,KAAKk8C,SAAWl8C,KAAKskH,cAKzBtkH,KAAKk8C,SAAU,EAEfl8C,KAAKy2E,MAAMztC,UASf8xH,UAAW,YAEF96J,KAAKk8C,SAAWl8C,KAAKm8C,aAAen8C,KAAKskH,cAK9CtkH,KAAKk8C,SAAU,EAEVl8C,KAAKy2E,MAAMgzD,OAEZzpI,KAAKy2E,MAAMnL,SAyBnB6vF,aAAc,SAAUtrJ,EAAKkhH,GA0BzB,YAxBiBxqH,IAAbwqH,IAA0BA,GAAW,GAGzC/wH,KAAKjC,QAAQ0P,OAAQ,EAErBzN,KAAKy2E,MAAMztC,QAEXhpC,KAAKk5J,sBAAuB,EAE5Bl5J,KAAK84J,MAAQ94J,KAAK64J,WAElB74J,KAAKg5J,SAAW5oJ,OAAOg0F,WAAWpkG,KAAK06J,mBAAmB3qI,KAAK/vB,MAAOA,KAAK+4J,eAE3E/4J,KAAKy2E,MAAM5mE,IAAMA,EAEjB7P,KAAKy2E,MAAMhwC,OAEXzmC,KAAKm5J,UAAYpoC,EAEZA,IAED/wH,KAAKonC,QAAS,GAGXpnC,MASX06J,mBAAoB,WAGc,IAA1B16J,KAAKy2E,MAAM0tB,YAEXnkG,KAAKk5J,sBAAuB,EAG5Bl5J,KAAKwV,mBAILxV,KAAK84J,MAEY,EAEb94J,KAAKg5J,SAAW5oJ,OAAOg0F,WAAWpkG,KAAK06J,mBAAmB3qI,KAAK/vB,MAAOA,KAAK+4J,eAI3Ez4J,QAAQ+Z,KAAK,0DAA2Dra,KAAK44J,cAWzF37B,aAAc,WAEVj9H,KAAK+C,KAAKyjC,MAAM6e,qBAAqBrlD,KAAKk9H,OAAQl9H,MAAM,GACxDA,KAAKskH,aAAc,GAUvB4Y,OAAQ,WAWJ,GATAl9H,KAAKskH,aAAc,EAEftkH,KAAKy4J,mBAELz4J,KAAKy2E,MAAMnL,OAEXtrE,KAAK25H,OAAOl0F,SAASzlC,KAAMA,KAAKwrE,KAAMxrE,KAAK46J,eAG3C56J,KAAKgT,IACT,CACI,IAAIsmJ,EAASt5J,KAAK+C,KAAKiX,MAAMwuG,SAASxoH,KAAKgT,KAEvCsmJ,IAAWA,EAAOxzC,SAElBwzC,EAAOtqG,QAAS,GAMxB,OAFAhvD,KAAKk8H,cAAcz2F,SAASzlC,OAErB,GAgBXo7J,KAAM,SAAUxgJ,EAAO3Z,EAAOgH,GAM1B,QAJc1B,IAAVqU,IAAuBA,GAAQ,QACrBrU,IAAVtF,IAAuBA,EAAQ,QACjBsF,IAAd0B,IAA2BA,EAAY,MAErB,OAAlBjI,KAAK25J,SAaT,OAPI/+I,GAEA5a,KAAK25J,SAAS/+E,MAGlB56E,KAAK25J,SAAS3lI,KAAKh0B,KAAKy2E,MAAO,EAAG,EAAGz2E,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAGmC,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAOgH,GAE5GjI,KAAK25J,SAXRr5J,QAAQ+Z,KAAK,mEAoBrB2/I,mBAAoB,WAEhB,GAAKh6J,KAAKy2E,MAAV,CAUA,IALIz2E,KAAKy2E,MAAMozB,YAEX7pG,KAAKy2E,MAAMozB,WAAWhhG,YAAY7I,KAAKy2E,OAGpCz2E,KAAKy2E,MAAM4kF,iBAEdr7J,KAAKy2E,MAAM5tE,YAAY7I,KAAKy2E,MAAM6kF,YAGtCt7J,KAAKy2E,MAAM8kF,gBAAgB,YAC3Bv7J,KAAKy2E,MAAM8kF,gBAAgB,OAE3Bv7J,KAAKy2E,MAAQ,OASjBj0E,QAAS,WAELxC,KAAKmM,OAELnM,KAAKg6J,qBAEDh6J,KAAKskH,aAELtkH,KAAK+C,KAAKyjC,MAAM+e,wBAAwBvlD,KAAKk9H,OAAQl9H,MAGrDA,KAAKg5J,UAEL5oJ,OAAOy6F,aAAa7qG,KAAKg5J,YAUrChyJ,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,eAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKy2E,MAAMwhD,YAAc,GAGnD9wH,IAAK,SAAUC,GAEXpH,KAAKy2E,MAAMwhD,YAAc7wH,KAUjCJ,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,YAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKy2E,MAAM5zC,SAAW,KAUpD77B,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,YAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAKA,KAAKy2E,MAAMwhD,YAAcj4H,KAAKy2E,MAAM5zC,SAAY,KAS/E77B,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,QAE1C4E,IAAK,WAED,OAAOlH,KAAKi6H,QAGhB9yH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAIpH,KAAKi6H,OAEL,OAGJj6H,KAAKq8H,YAAa,EAClBr8H,KAAK6gD,cAGT,CACI,IAAK7gD,KAAKi6H,OAEN,OAGJj6H,KAAKq8H,YAAa,EAClBr8H,KAAK8gD,gBAajB95C,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,UAE1C4E,IAAK,WAED,OAAOlH,KAAKk8C,SAGhB/0C,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,MAEbpH,KAAKskH,YAKT,GAAIl9G,EACJ,CACI,GAAIpH,KAAKk8C,QAEL,OAGJl8C,KAAKm8C,aAAc,EACnBn8C,KAAK66J,eAGT,CACI,IAAK76J,KAAKk8C,QAEN,OAGJl8C,KAAKm8C,aAAc,EACnBn8C,KAAK86J,gBAUjB9zJ,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,UAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKy2E,MAAMl1C,OAAS,GAG9Cp6B,IAAK,SAAUC,GAEPA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRpH,KAAKy2E,QAELz2E,KAAKy2E,MAAMl1C,OAASn6B,MAUhCJ,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,gBAE1C4E,IAAK,WAED,OAAQlH,KAAU,MAAIA,KAAKy2E,MAAMmkF,aAAe,GAGpDzzJ,IAAK,SAAUC,GAEPpH,KAAKy2E,QAELz2E,KAAKy2E,MAAMmkF,aAAexzJ,MActCJ,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,QAE1C4E,IAAK,WAED,QAAQlH,KAAU,OAAIA,KAAKy2E,MAAMjL,MAGrCrkE,IAAK,SAAUC,GAEPA,GAASpH,KAAKy2E,MAEdz2E,KAAKy2E,MAAMjL,KAAO,OAEbxrE,KAAKy2E,QAEVz2E,KAAKy2E,MAAMjL,KAAO,OAW9BxkE,OAAOyF,eAAejL,EAAO2sE,MAAM7rE,UAAW,WAE1C4E,IAAK,WAED,QAAQlH,KAAU,SAAMA,KAAKy2E,MAAMrvC,QAAUpnC,KAAKy2E,MAAMgzD,UAKhEjoI,EAAO2sE,MAAM7rE,UAAUC,YAAcf,EAAO2sE,WAWpB5nE,IAApB/H,KAAK0J,aAEL1J,KAAK0J,WAAa1G,EAAO0G,iBAGL3B,IAApB/H,KAAKC,aAELD,KAAKC,WAAa+C,EAAO/C,iBAGK8H,IAA9B/H,KAAKqO,QAAQC,eAEbtO,KAAKqO,QAAQC,aAAe,IAAItO,KAAKqO,QAAQ,IAAIrO,KAAK2rB,mBAGnB5jB,IAAnC/H,KAAKmC,cAAcuE,cAEnB1G,KAAKmC,cAAcuE,YAAc,IAAI1D,EAAOC,QAGhDjD,KAAKmsB,mBAAoB,EAGzBnsB,KAAKg9J,0BAA4B,WAE7B,OAAOh6J,EAAOm6C,OAAOzxB,gBASE,oBAAZkB,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU5pB,GAE/B4pB,QAAQ5pB,OAASA,GACQ,oBAAX8pB,QAA0BA,OAAOC,IAC/CD,OAAO,SAA+B5qB,EAAKc,OAASA,GAEpDd,EAAKc,OAASA,EAGXA,GACRgD,KAAKxE","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 978335d58..e897265a1 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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=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.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(){var t=this,e=e||{VERSION:"2.15.1",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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,u=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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.onPostUpdateCallback=e.postUpdate||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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,u=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,u=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=l-i.x),this.allowVerticalDrag&&(c.y=u-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=u+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,u,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,u){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(u,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,u=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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,i.beginPath(),i.moveTo(_,T+S),i.lineTo(_,T+C-S),i.quadraticCurveTo(_,T+C,_+S,T+C),i.lineTo(_+w-S,T+C),i.quadraticCurveTo(_+w,T+C,_+w,T+C-S),i.lineTo(_+w,T+S),i.quadraticCurveTo(_+w,T,_+w-S,T),i.lineTo(_+S,T),i.quadraticCurveTo(_,T,_,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,b+w),i.lineTo(x,b+T-w),i.quadraticCurveTo(x,b+T,x+w,b+T),i.lineTo(x+_-w,b+T),i.quadraticCurveTo(x+_,b+T,x+_,b+T-w),i.lineTo(x+_,b+w),i.quadraticCurveTo(x+_,b,x+_-w,b),i.lineTo(x+w,b),i.quadraticCurveTo(x,b,x,b+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+u:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,u,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(u=0;u0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,u=v>u?v:u}if(c===-1/0||u===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=l-c,x.y=d,x.height=u-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,u,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>u&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(i,u)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);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()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return e.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,u)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*u.x+2*i.mass*c.x)/(t.mass+i.mass),p=(2*t.mass*u.x+(i.mass-t.mass)*c.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*i.bounce.x,i.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,u=this.layers[s].data;if(n)var c=[];if(i)for(d=h-1;d>=0;d--){r=u[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;c.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;c.push(o)}else a++}return n?c:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,u=0;u1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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=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.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(){var t=this,e=e||{VERSION:"2.16.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,u=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),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.gameResumed(),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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,u=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,u=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=l-i.x),this.allowVerticalDrag&&(c.y=u-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=u+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,u,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,u){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(u,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,u=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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,i.beginPath(),i.moveTo(_,T+S),i.lineTo(_,T+C-S),i.quadraticCurveTo(_,T+C,_+S,T+C),i.lineTo(_+w-S,T+C),i.quadraticCurveTo(_+w,T+C,_+w,T+C-S),i.lineTo(_+w,T+S),i.quadraticCurveTo(_+w,T,_+w-S,T),i.lineTo(_+S,T),i.quadraticCurveTo(_,T,_,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,b+w),i.lineTo(x,b+T-w),i.quadraticCurveTo(x,b+T,x+w,b+T),i.lineTo(x+_-w,b+T),i.quadraticCurveTo(x+_,b+T,x+_,b+T-w),i.lineTo(x+_,b+w),i.quadraticCurveTo(x+_,b,x+_-w,b),i.lineTo(x+w,b),i.quadraticCurveTo(x,b,x,b+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+u:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,u,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(u=0;u0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,u=v>u?v:u}if(c===-1/0||u===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=l-c,x.y=d,x.height=u-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,u,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>u&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(i,u)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);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()},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,u=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var c=0;c0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return e.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,u)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*u.x+2*i.mass*c.x)/(t.mass+i.mass),p=(2*t.mass*u.x+(i.mass-t.mass)*c.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*i.bounce.x,i.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,u=this.layers[s].data;if(n)var c=[];if(i)for(d=h-1;d>=0;d--){r=u[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;c.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;c.push(o)}else a++}return n?c:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,u=0;u1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 13907111d..a0358a679 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.15.1 "2020-05-15" - Built: Fri May 15 2020 11:43:43 +* v2.16.0 "2020-06-01" - Built: Mon Jun 01 2020 11:17:53 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -40,7 +40,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.15.1', + VERSION: '2.16.0', /** * An array of Phaser game instances. @@ -6380,10 +6380,11 @@ Phaser.Camera = function (game, id, x, y, width, height) this.onFlashComplete = new Phaser.Signal(); /** - * This signal is dispatched when the camera fade effect completes. - * When the fade effect completes you will be left with the screen black (or whatever - * color you faded to). In order to reset this call `Camera.resetFX`. This is called - * automatically when you change State. + * This signal is dispatched when the camera fade effect (fade in or fade out) completes. + * You can look at the value of `Camera.fx.alpha` to determine which effect it was. + * When the fade out effect completes `Camera.fx.alpha` is 1 and you will be left with the screen black (or whatever + * color you faded to). In order to reset this call `Camera.resetFX`. `Camera.resetFX` is called automatically when you change State. + * When the fade in effect completes, `Camera.fx.alpha` is 0 and there is no visible camera fill. * @property {Phaser.Signal} onFadeComplete */ this.onFadeComplete = new Phaser.Signal(); @@ -6504,6 +6505,24 @@ Phaser.Camera.SHAKE_VERTICAL = 6; */ Phaser.Camera.ENABLE_FX = true; +/** + * @constant + * @type {number} + */ +Phaser.Camera.FLASH = 0; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_OUT = 1; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_IN = 2; + Phaser.Camera.prototype = { /** @@ -6707,7 +6726,7 @@ Phaser.Camera.prototype = { }, /** - * This creates a camera fade effect. It works by filling the game with the + * This creates a camera fade out effect. It works by filling the game with the * color specified, over the duration given, ending with a solid fill. * * You can use this for things such as transitioning to a new scene. @@ -6723,10 +6742,45 @@ Phaser.Camera.prototype = { * @param {numer} [color=0x000000] - The color the game will fade to. I.e. 0x000000 for black, 0xff0000 for red, etc. * @param {number} [duration=500] - The duration of the fade in milliseconds. * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. - * @param {numer} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. * @return {boolean} True if the effect was started, otherwise false. */ fade: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_OUT); + }, + + /** + * This creates a camera fade in effect. + * It fills the game with a solid color and then removes it over the duration given. + * + * When the effect ends the signal Camera.onFadeComplete is dispatched. + * + * @method Phaser.Camera#fadeIn + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeIn: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_IN); + }, + + /** + * Fade helper. + * + * @method Phaser.Camera#fadeEffect + * @private + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [type=Phaser.Camera.FADE_OUT] - The fade type. FADE_IN or FADE_OUT. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeEffect: function (color, duration, force, alpha, type) { if (color === undefined) { color = 0x000000; } if (duration === undefined) { duration = 500; } @@ -6744,10 +6798,13 @@ Phaser.Camera.prototype = { this.fx.drawRect(0, 0, this.width, this.height); this.fx.endFill(); - this.fx.alpha = 0; + + if (type < 1 || type > 2) { throw new Error('Wrong `type` argument'); } + + this.fx.alpha = (type === Phaser.Camera.FADE_IN) ? 1 : 0; this._fxDuration = duration; - this._fxType = 1; + this._fxType = type; return true; }, @@ -6794,7 +6851,7 @@ Phaser.Camera.prototype = { */ updateFX: function () { - if (this._fxType === 0) + if (this._fxType === Phaser.Camera.FLASH) { // flash this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; @@ -6806,9 +6863,21 @@ Phaser.Camera.prototype = { this.onFlashComplete.dispatch(); } } + else if (this._fxType === Phaser.Camera.FADE_IN) + { + // fade in + this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; + + if (this.fx.alpha <= 0) + { + this._fxDuration = 0; + this.fx.alpha = 0; + this.onFadeComplete.dispatch(); + } + } else { - // fade + // fade out this.fx.alpha += this.game.time.elapsedMS / this._fxDuration; if (this.fx.alpha >= 1) @@ -7601,7 +7670,7 @@ Phaser.StateManager = function (game, pendingState) * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -7861,15 +7930,11 @@ Phaser.StateManager.prototype = { { if (this._pendingState && this.game.isBooted) { - var previousStateKey = this.current; - // Already got a state running? this.clearCurrentState(); this.setCurrentState(this._pendingState); - this.onStateChange.dispatch(this.current, previousStateKey); - if (this.current !== this._pendingState) { return; @@ -8056,6 +8121,7 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { + var previousStateKey = this.current; var state = this.states[key]; this.callbackContext = state; @@ -8090,6 +8156,8 @@ Phaser.StateManager.prototype = { this.current = key; this._created = false; + this.onStateChange.dispatch(this.current, previousStateKey); + // At this point key and pendingState should equal each other this.onInitCallback.apply(this.callbackContext, this._args); @@ -14339,7 +14407,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {boolean} [GameConfig.keyboard=true] - Starts the keyboard input handler. * @property {number} [GameConfig.maxPointers=-1] - Sets {@link Phaser.Input#maxPointers}. * @property {boolean} [GameConfig.mouse=true] - Starts the mouse input handler, if the mspointer and touch handlers were not started. - * @property {boolean} [GameConfig.mouseWheel=true] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. + * @property {boolean} [GameConfig.mouseWheel=false] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. * @property {boolean} [GameConfig.mspointer=true] - Starts the {@link Phaser.MSPointer Pointer Events} handler (mspointer), if supported by the device. * @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. @@ -15072,12 +15140,7 @@ Phaser.Game.prototype = { this._paused = true; this.time.gamePaused(); - - if (this.sound.muteOnPause) - { - this.sound.setMute(); - } - + this.sound.gamePaused(); this.onPause.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -15103,14 +15166,8 @@ Phaser.Game.prototype = { this._paused = false; this.time.gameResumed(); - this.input.reset(); - - if (this.sound.muteOnPause) - { - this.sound.unsetMute(); - } - + this.sound.gameResumed(); this.onResume.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -15649,7 +15706,7 @@ Phaser.Input.prototype = { * @property {boolean} [keyboard=true] * @property {boolean} [maxPointers=-1] * @property {boolean} [mouse=true] - * @property {boolean} [mouseWheel=true] + * @property {boolean} [mouseWheel=false] * @property {boolean} [mspointer=true] * @property {boolean} [pointerLock=true] * @property {boolean} [touch=true] @@ -15722,7 +15779,7 @@ Phaser.Input.prototype = { this.mousePointer.active = true; - if (config.mouseWheel !== false) + if (config.mouseWheel === true) { this.mouseWheel.start(); } @@ -24999,6 +25056,7 @@ Phaser.Component.Core.init = function (game, x, y, key, frame) if (this.components.PhysicsBody) { // Enable-body checks for hasOwnProperty; makes sure to lift property from prototype. + // eslint-disable-next-line no-self-assign this.body = this.body; } @@ -59098,6 +59156,12 @@ Phaser.SoundManager = function (game) */ this.onTouchUnlock = new Phaser.Signal(); + /** + * This signal is dispatched when the AudioContext state changes, only if using Web Audio. + * @property {Phaser.Signal} onStateChange + */ + this.onStateChange = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -59219,10 +59283,16 @@ Phaser.SoundManager = function (game) this._watchContext = null; /** - * @property {function} _resumeWebAudioOnClick - Bound 'click' handler. Added in boot(), if necessary. + * @property {function} _onClick - Bound handler for 'click' on the game canvas. Added in boot(), if necessary. + * @private + */ + this._onClick = this._onClick.bind(this); + + /** + * @property {function} _onStateChange - Bound handler for 'onstatechange' on the AudioContext. Added in boot(), if necessary. * @private */ - this._resumeWebAudioOnClick = this._resumeWebAudioOnClick.bind(this); + this._onStateChange = this._onStateChange.bind(this); }; Phaser.SoundManager.prototype = { @@ -59318,13 +59388,13 @@ Phaser.SoundManager.prototype = { this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); - /* - * A suspended context is actually normal (momentarily) in Firefox. - * In that case the input handler will do nothing, which is fine. - */ + // "A newly-created AudioContext will always begin in the suspended state, and a state change event will be fired whenever the state changes to a different state." + + this.context.onstatechange = this._onStateChange; + if (this.context.state === 'suspended') { - this.game.canvas.addEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.addEventListener('click', this._onClick); } } @@ -59375,13 +59445,24 @@ Phaser.SoundManager.prototype = { }, /** - * Try to resume a suspended WebAudio context. - * - * If the context isn't suspended, or if WebAudio isn't in use, nothing is done. + * Try to resume the Web Audio context, if using Web Audio. * * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. */ resumeWebAudio: function () + { + if (this.usingWebAudio) + { + return this.context.resume(); + } + }, + + /** + * Try to resume a suspended Web Audio context, if using Web Audio and the context is suspended. + * + * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. + */ + resumeWebAudioIfSuspended: function () { if (this.usingWebAudio && this.context.state === 'suspended') { @@ -59424,7 +59505,7 @@ Phaser.SoundManager.prototype = { this._unlockSource.onended = function unlockSourceOnEndedHandler () { _this.setTouchUnlock(); - _this.resumeWebAudio(); + _this.resumeWebAudioIfSuspended(); }; if (this._unlockSource.start === undefined) @@ -59437,7 +59518,7 @@ Phaser.SoundManager.prototype = { } // This fixes locked audio in Chrome > 55 cross origin iframes? - this.resumeWebAudio(); + this.resumeWebAudioIfSuspended(); } // We can remove the event because we've done what we needed (started the unlock sound playing) @@ -59829,6 +59910,32 @@ Phaser.SoundManager.prototype = { this.onUnMute.dispatch(); }, + /** + * Called by the game when paused. + * @private + */ + gamePaused: function () + { + if (this.muteOnPause) + { + this.setMute(); + } + }, + + /** + * Called by the game when resumed. + * @private + */ + gameResumed: function () + { + this.resumeWebAudio(); + + if (this.muteOnPause) + { + this.unsetMute(); + } + }, + /** * Stops all the sounds in the game, then destroys them and finally clears up any callbacks. * @@ -59838,12 +59945,19 @@ Phaser.SoundManager.prototype = { { this.removeAll(); + this.onMute.dispose(); this.onSoundDecode.dispose(); + this.onStateChange.dispose(); + this.onTouchUnlock.dispose(); + this.onUnMute.dispose(); + this.onVolumeChange.dispose(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); if (this.context) { + this.context.onstatechange = null; + 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 @@ -59854,14 +59968,29 @@ Phaser.SoundManager.prototype = { { this.context.close(); } + + this.context = null; } }, - _resumeWebAudioOnClick: function () + /** + * Handler for this.context.onstatechange. Copied and bound in SoundManager constructor. + * @private + */ + _onStateChange: function () { - this.resumeWebAudio(); + this.onStateChange.dispatch(this.context.state); + }, + + /** + * Handler for this.game.canvas 'click'. Copied and bound in SoundManager constructor. + * @private + */ + _onClick: function () + { + this.resumeWebAudioIfSuspended(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); } }; @@ -62760,13 +62889,51 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Game ID ' + game.id); - this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' ' + game.width + ' x ' + game.height); + this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' (' + game.width + ' x ' + game.height + ')'); this.line('Paused: ' + game.paused); this.line('Stepping: ' + game.stepping + ' (' + game.stepCount + ')'); this.stop(); }, + /** + * Render game state info. + * + * Icons show (+) pending, (>) loading, (*) created. + * + * @method Phaser.Utils.Debug#state + * @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). + */ + state: function (x, y, color) + { + var state = this.game.state; + var keys = Object.keys(state.states); + + this.start(x, y, color); + + for (var i = 0; i < keys.length; i++) + { + var key = keys[i]; + + if (key === state.current) + { + this.line((state._created ? '* ' : '> ') + key); + } + else if (key === state._pendingState) + { + this.line('+ ' + key); + } + else + { + this.line(' ' + key); + } + } + + this.stop(); + }, + /** * Render Sound Manager information, including volume, mute, audio mode, and locked status. * @@ -79434,8 +79601,9 @@ Phaser.Tilemap.prototype = { }, /** - * Searches the entire map layer for the first tile matching the given index, then returns that Phaser.Tile object. - * If no match is found it returns null. + * Searches the entire map layer for the first tile or all tiles matching the given index. + * When `all` is false (the default), it returns a Phaser.Tile object or null. + * When `all` is true, it returns an array Phaser.Tile objects, or none (an empty array). * The search starts from the top-left tile and continues horizontally until it hits the end of the row, then it drops down to the next column. * If the reverse boolean is true, it scans starting from the bottom-right corner traveling up to the top-left. * diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 55fd5dafa..1133e7d4e 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","postUpdate","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","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","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","maxUpdates","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","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","animation","useFlatData","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","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","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","all","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","_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","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","regions_map","render_composition","getRegionsMap","region_name","cur_region","start_pt_idx","getStartPtIndex","end_pt_idx","getEndPtIndex","cur_opacity","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","setMetaData","meta","metaJson","metaData","CreatureModuleUtils","BuildCreatureMetaData","SetMetaData","enableSkinSwap","swapNameIn","creature_meta_data","EnableSkinSwap","final_skin_swap_indices","disableSkinSwap","DisableSkinSwap","setActiveItemSwap","regionName","swapIdx","active_uv_swap_actions","removeActiveItemSwap","onAccess","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","FLASH","FADE_OUT","FADE_IN","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","fadeEffect","fadeIn","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","previousStateKey","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","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","maxUpdates","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","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","animation","useFlatData","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","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","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","all","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","_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","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","regions_map","render_composition","getRegionsMap","region_name","cur_region","start_pt_idx","getStartPtIndex","end_pt_idx","getEndPtIndex","cur_opacity","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","setMetaData","meta","metaJson","metaData","CreatureModuleUtils","BuildCreatureMetaData","SetMetaData","enableSkinSwap","swapNameIn","creature_meta_data","EnableSkinSwap","final_skin_swap_indices","disableSkinSwap","DisableSkinSwap","setActiveItemSwap","regionName","swapIdx","active_uv_swap_actions","removeActiveItemSwap","onAccess","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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 7a402ba6b..be8c8d803 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){var t=this,e=e||{VERSION:"2.15.1",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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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.onPostUpdateCallback=e.postUpdate||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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),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?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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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,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/k,E/k,O/k,R/k,I/k,L/k),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);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()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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 e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 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?((B=new e.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=e._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;","attribute vec4 aColor;","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) * aColor.a * 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.colorAttribute],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},e.Creature=function(t,i,s,n,r,o,a){if(this.game=t,void 0===o&&(o="default"),void 0===a&&(a=!1),this.type=e.CREATURE,t.cache.checkJSONKey(r)){var h=t.cache.getJSON(r,!0);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,o,a),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 e.Point,this.creatureBoundsMax=new e.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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); +(function(){var t=this,e=e||{VERSION:"2.16.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),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.gameResumed(),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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),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?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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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,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/k,E/k,O/k,R/k,I/k,L/k),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);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()},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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 e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 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?((B=new e.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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=e._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;","attribute vec4 aColor;","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) * aColor.a * 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.colorAttribute],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},e.Creature=function(t,i,s,n,r,o,a){if(this.game=t,void 0===o&&(o="default"),void 0===a&&(a=!1),this.type=e.CREATURE,t.cache.checkJSONKey(r)){var h=t.cache.getJSON(r,!0);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,o,a),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 e.Point,this.creatureBoundsMax=new e.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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).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 8d06275a8..b1e3e6e93 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.15.1 "2020-05-15" - Built: Fri May 15 2020 11:43:33 +* v2.16.0 "2020-06-01" - Built: Mon Jun 01 2020 11:17:43 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -7771,7 +7771,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.15.1', + VERSION: '2.16.0', /** * An array of Phaser game instances. @@ -14111,10 +14111,11 @@ Phaser.Camera = function (game, id, x, y, width, height) this.onFlashComplete = new Phaser.Signal(); /** - * This signal is dispatched when the camera fade effect completes. - * When the fade effect completes you will be left with the screen black (or whatever - * color you faded to). In order to reset this call `Camera.resetFX`. This is called - * automatically when you change State. + * This signal is dispatched when the camera fade effect (fade in or fade out) completes. + * You can look at the value of `Camera.fx.alpha` to determine which effect it was. + * When the fade out effect completes `Camera.fx.alpha` is 1 and you will be left with the screen black (or whatever + * color you faded to). In order to reset this call `Camera.resetFX`. `Camera.resetFX` is called automatically when you change State. + * When the fade in effect completes, `Camera.fx.alpha` is 0 and there is no visible camera fill. * @property {Phaser.Signal} onFadeComplete */ this.onFadeComplete = new Phaser.Signal(); @@ -14235,6 +14236,24 @@ Phaser.Camera.SHAKE_VERTICAL = 6; */ Phaser.Camera.ENABLE_FX = true; +/** + * @constant + * @type {number} + */ +Phaser.Camera.FLASH = 0; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_OUT = 1; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_IN = 2; + Phaser.Camera.prototype = { /** @@ -14438,7 +14457,7 @@ Phaser.Camera.prototype = { }, /** - * This creates a camera fade effect. It works by filling the game with the + * This creates a camera fade out effect. It works by filling the game with the * color specified, over the duration given, ending with a solid fill. * * You can use this for things such as transitioning to a new scene. @@ -14454,10 +14473,45 @@ Phaser.Camera.prototype = { * @param {numer} [color=0x000000] - The color the game will fade to. I.e. 0x000000 for black, 0xff0000 for red, etc. * @param {number} [duration=500] - The duration of the fade in milliseconds. * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. - * @param {numer} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. * @return {boolean} True if the effect was started, otherwise false. */ fade: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_OUT); + }, + + /** + * This creates a camera fade in effect. + * It fills the game with a solid color and then removes it over the duration given. + * + * When the effect ends the signal Camera.onFadeComplete is dispatched. + * + * @method Phaser.Camera#fadeIn + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeIn: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_IN); + }, + + /** + * Fade helper. + * + * @method Phaser.Camera#fadeEffect + * @private + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [type=Phaser.Camera.FADE_OUT] - The fade type. FADE_IN or FADE_OUT. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeEffect: function (color, duration, force, alpha, type) { if (color === undefined) { color = 0x000000; } if (duration === undefined) { duration = 500; } @@ -14475,10 +14529,13 @@ Phaser.Camera.prototype = { this.fx.drawRect(0, 0, this.width, this.height); this.fx.endFill(); - this.fx.alpha = 0; + + if (type < 1 || type > 2) { throw new Error('Wrong `type` argument'); } + + this.fx.alpha = (type === Phaser.Camera.FADE_IN) ? 1 : 0; this._fxDuration = duration; - this._fxType = 1; + this._fxType = type; return true; }, @@ -14525,7 +14582,7 @@ Phaser.Camera.prototype = { */ updateFX: function () { - if (this._fxType === 0) + if (this._fxType === Phaser.Camera.FLASH) { // flash this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; @@ -14537,9 +14594,21 @@ Phaser.Camera.prototype = { this.onFlashComplete.dispatch(); } } + else if (this._fxType === Phaser.Camera.FADE_IN) + { + // fade in + this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; + + if (this.fx.alpha <= 0) + { + this._fxDuration = 0; + this.fx.alpha = 0; + this.onFadeComplete.dispatch(); + } + } else { - // fade + // fade out this.fx.alpha += this.game.time.elapsedMS / this._fxDuration; if (this.fx.alpha >= 1) @@ -15332,7 +15401,7 @@ Phaser.StateManager = function (game, pendingState) * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -15592,15 +15661,11 @@ Phaser.StateManager.prototype = { { if (this._pendingState && this.game.isBooted) { - var previousStateKey = this.current; - // Already got a state running? this.clearCurrentState(); this.setCurrentState(this._pendingState); - this.onStateChange.dispatch(this.current, previousStateKey); - if (this.current !== this._pendingState) { return; @@ -15787,6 +15852,7 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { + var previousStateKey = this.current; var state = this.states[key]; this.callbackContext = state; @@ -15821,6 +15887,8 @@ Phaser.StateManager.prototype = { this.current = key; this._created = false; + this.onStateChange.dispatch(this.current, previousStateKey); + // At this point key and pendingState should equal each other this.onInitCallback.apply(this.callbackContext, this._args); @@ -22070,7 +22138,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {boolean} [GameConfig.keyboard=true] - Starts the keyboard input handler. * @property {number} [GameConfig.maxPointers=-1] - Sets {@link Phaser.Input#maxPointers}. * @property {boolean} [GameConfig.mouse=true] - Starts the mouse input handler, if the mspointer and touch handlers were not started. - * @property {boolean} [GameConfig.mouseWheel=true] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. + * @property {boolean} [GameConfig.mouseWheel=false] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. * @property {boolean} [GameConfig.mspointer=true] - Starts the {@link Phaser.MSPointer Pointer Events} handler (mspointer), if supported by the device. * @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. @@ -22803,12 +22871,7 @@ Phaser.Game.prototype = { this._paused = true; this.time.gamePaused(); - - if (this.sound.muteOnPause) - { - this.sound.setMute(); - } - + this.sound.gamePaused(); this.onPause.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -22834,14 +22897,8 @@ Phaser.Game.prototype = { this._paused = false; this.time.gameResumed(); - this.input.reset(); - - if (this.sound.muteOnPause) - { - this.sound.unsetMute(); - } - + this.sound.gameResumed(); this.onResume.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -23380,7 +23437,7 @@ Phaser.Input.prototype = { * @property {boolean} [keyboard=true] * @property {boolean} [maxPointers=-1] * @property {boolean} [mouse=true] - * @property {boolean} [mouseWheel=true] + * @property {boolean} [mouseWheel=false] * @property {boolean} [mspointer=true] * @property {boolean} [pointerLock=true] * @property {boolean} [touch=true] @@ -23453,7 +23510,7 @@ Phaser.Input.prototype = { this.mousePointer.active = true; - if (config.mouseWheel !== false) + if (config.mouseWheel === true) { this.mouseWheel.start(); } @@ -30158,6 +30215,7 @@ Phaser.Component.Core.init = function (game, x, y, key, frame) if (this.components.PhysicsBody) { // Enable-body checks for hasOwnProperty; makes sure to lift property from prototype. + // eslint-disable-next-line no-self-assign this.body = this.body; } diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index dc8ab7e07..1c458b0a8 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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","postUpdate","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","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","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","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","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","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","playsInline","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","char","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","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","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","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","Box2D","Matter","startSystem","system","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","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","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","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","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","playsInline","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","char","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","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","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","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","Box2D","Matter","startSystem","system","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 c422dc1ca..6a5a460ce 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,b=x.a,_=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=b*g+T*y+S,E=w*y+_*g+C,M=b*m+T*y+S,A=w*y+_*m+C,R=b*m+T*v+S,O=w*v+_*m+C,L=b*g+T*v+S,I=w*v+_*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=_>(f=x>f?x:f)?_:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=b>m?b: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=i.baseTexture.resolution,v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,S=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,b=C+6.123233995736766e-17*E,_=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+b*c+T|0,L[m++]=_*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T|0,L[m++]=_*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T|0,L[m++]=_*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T|0,L[m++]=_*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+b*c+T,L[m++]=_*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T,L[m++]=_*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T,L[m++]=_*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T,L[m++]=_*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,b=t.anchor.y,_=v*(1-x),T=v*-x,w=y*(1-b),S=y*-b,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*_+R*S+L,m[C++]=O*S+A*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*_+R*w+L,m[C++]=O*w+A*_+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 b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.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(){var t=this,e=e||{VERSION:"2.15.1",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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),g=new e.Point(d,f),v=i.pointOnSegment(m.x,m.y,.01),y=i.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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.onPostUpdateCallback=e.postUpdate||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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,v=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+v),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.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)}}},e.Component.Bounds=function(){},e.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,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;ithis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree;var n=function(){};e.Net=n,e.Net.prototype={isDisabled:!0,getHostName:n,checkDomainName:n,updateQueryString:n,getQueryString:n,decodeURI:n},e.Net.prototype.constructor=e.Net,e.TweenManager=function(){},e.TweenManager.prototype.update=function(){},e.TweenManager.prototype.removeAll=function(){},e.TweenManager.prototype.removeFrom=function(){},e.TweenManager.prototype.destroy=function(){},e.TweenManager.prototype.constructor=e.TweenManager,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(y=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?y=(v=h)+(f=Math.min(f,m-h))-1:h<0&&(v=(y=g+h)-(f=Math.min(f,m+h))+1),v<0)return console.warn("First frame index %s is outside of range [0, %d]",v,g),null;if(y>g)return console.warn("Last frame index %s is outside of range [0, %d]",y,g),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wy);w++)w>=v&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>l&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.SoundManager=function(){this.muteOnPause=!1},e.SoundManager.prototype.boot=function(){},e.SoundManager.prototype.update=function(){},e.SoundManager.prototype.destroy=function(){},e.SoundManager.prototype.setMute=function(){},e.SoundManager.prototype.unsetMute=function(){},e.SoundManager.prototype.constructor=e.SoundManager,e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.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 e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.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=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.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 e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.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),e.FlexGrid&&(this.grid=new e.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,i){var s,n=new e.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,this.parentNode),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 i?o=i:(this.parentScaleFactor.y=parseInt(i,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,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!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(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var r=function(){};return e.Utils.Debug=r,e.Utils.Debug.prototype={isDisabled:!0,boot:r,destroy:r,preUpdate:r,reset:r,start:r,stop:r,line:r,soundInfo:r,cameraInfo:r,timer:r,pointer:r,spriteInputInfo:r,key:r,inputInfo:r,spriteBounds:r,ropeSegments:r,spriteInfo:r,spriteCoords:r,lineInfo:r,pixel:r,geom:r,rectangle:r,text:r,quadTree:r,body:r,bodyInfo:r,box2dWorld:r,box2dBody:r},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,b=x.a,_=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=b*g+T*y+S,E=w*y+_*g+C,M=b*m+T*y+S,A=w*y+_*m+C,R=b*m+T*v+S,O=w*v+_*m+C,L=b*g+T*v+S,I=w*v+_*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=_>(f=x>f?x:f)?_:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=b>m?b: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=i.baseTexture.resolution,v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,S=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,b=C+6.123233995736766e-17*E,_=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+b*c+T|0,L[m++]=_*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T|0,L[m++]=_*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T|0,L[m++]=_*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T|0,L[m++]=_*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+b*c+T,L[m++]=_*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T,L[m++]=_*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T,L[m++]=_*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T,L[m++]=_*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,b=t.anchor.y,_=v*(1-x),T=v*-x,w=y*(1-b),S=y*-b,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*_+R*S+L,m[C++]=O*S+A*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*_+R*w+L,m[C++]=O*w+A*_+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 b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.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(){var t=this,e=e||{VERSION:"2.16.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),g=new e.Point(d,f),v=i.pointOnSegment(m.x,m.y,.01),y=i.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),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.gameResumed(),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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,v=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+v),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.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)}}},e.Component.Bounds=function(){},e.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,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;ithis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree;var n=function(){};e.Net=n,e.Net.prototype={isDisabled:!0,getHostName:n,checkDomainName:n,updateQueryString:n,getQueryString:n,decodeURI:n},e.Net.prototype.constructor=e.Net,e.TweenManager=function(){},e.TweenManager.prototype.update=function(){},e.TweenManager.prototype.removeAll=function(){},e.TweenManager.prototype.removeFrom=function(){},e.TweenManager.prototype.destroy=function(){},e.TweenManager.prototype.constructor=e.TweenManager,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(y=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?y=(v=h)+(f=Math.min(f,m-h))-1:h<0&&(v=(y=g+h)-(f=Math.min(f,m+h))+1),v<0)return console.warn("First frame index %s is outside of range [0, %d]",v,g),null;if(y>g)return console.warn("Last frame index %s is outside of range [0, %d]",y,g),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wy);w++)w>=v&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>l&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.SoundManager=function(){this.muteOnPause=!1},e.SoundManager.prototype.boot=function(){},e.SoundManager.prototype.update=function(){},e.SoundManager.prototype.destroy=function(){},e.SoundManager.prototype.setMute=function(){},e.SoundManager.prototype.unsetMute=function(){},e.SoundManager.prototype.constructor=e.SoundManager,e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.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 e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.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=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.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 e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.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),e.FlexGrid&&(this.grid=new e.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,i){var s,n=new e.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,this.parentNode),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 i?o=i:(this.parentScaleFactor.y=parseInt(i,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,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!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(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var r=function(){};return e.Utils.Debug=r,e.Utils.Debug.prototype={isDisabled:!0,boot:r,destroy:r,preUpdate:r,reset:r,start:r,stop:r,line:r,soundInfo:r,cameraInfo:r,timer:r,pointer:r,spriteInputInfo:r,key:r,inputInfo:r,spriteBounds:r,ropeSegments:r,spriteInfo:r,spriteCoords:r,lineInfo:r,pixel:r,geom:r,rectangle:r,text:r,quadTree:r,body:r,bodyInfo:r,box2dWorld:r,box2dBody:r},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 23fe6bae6..a748e95ec 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.15.1 "2020-05-15" - Built: Fri May 15 2020 11:43:29 +* v2.16.0 "2020-06-01" - Built: Mon Jun 01 2020 11:17:39 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -7771,7 +7771,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.15.1', + VERSION: '2.16.0', /** * An array of Phaser game instances. @@ -14111,10 +14111,11 @@ Phaser.Camera = function (game, id, x, y, width, height) this.onFlashComplete = new Phaser.Signal(); /** - * This signal is dispatched when the camera fade effect completes. - * When the fade effect completes you will be left with the screen black (or whatever - * color you faded to). In order to reset this call `Camera.resetFX`. This is called - * automatically when you change State. + * This signal is dispatched when the camera fade effect (fade in or fade out) completes. + * You can look at the value of `Camera.fx.alpha` to determine which effect it was. + * When the fade out effect completes `Camera.fx.alpha` is 1 and you will be left with the screen black (or whatever + * color you faded to). In order to reset this call `Camera.resetFX`. `Camera.resetFX` is called automatically when you change State. + * When the fade in effect completes, `Camera.fx.alpha` is 0 and there is no visible camera fill. * @property {Phaser.Signal} onFadeComplete */ this.onFadeComplete = new Phaser.Signal(); @@ -14235,6 +14236,24 @@ Phaser.Camera.SHAKE_VERTICAL = 6; */ Phaser.Camera.ENABLE_FX = true; +/** + * @constant + * @type {number} + */ +Phaser.Camera.FLASH = 0; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_OUT = 1; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_IN = 2; + Phaser.Camera.prototype = { /** @@ -14438,7 +14457,7 @@ Phaser.Camera.prototype = { }, /** - * This creates a camera fade effect. It works by filling the game with the + * This creates a camera fade out effect. It works by filling the game with the * color specified, over the duration given, ending with a solid fill. * * You can use this for things such as transitioning to a new scene. @@ -14454,10 +14473,45 @@ Phaser.Camera.prototype = { * @param {numer} [color=0x000000] - The color the game will fade to. I.e. 0x000000 for black, 0xff0000 for red, etc. * @param {number} [duration=500] - The duration of the fade in milliseconds. * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. - * @param {numer} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. * @return {boolean} True if the effect was started, otherwise false. */ fade: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_OUT); + }, + + /** + * This creates a camera fade in effect. + * It fills the game with a solid color and then removes it over the duration given. + * + * When the effect ends the signal Camera.onFadeComplete is dispatched. + * + * @method Phaser.Camera#fadeIn + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeIn: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_IN); + }, + + /** + * Fade helper. + * + * @method Phaser.Camera#fadeEffect + * @private + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [type=Phaser.Camera.FADE_OUT] - The fade type. FADE_IN or FADE_OUT. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeEffect: function (color, duration, force, alpha, type) { if (color === undefined) { color = 0x000000; } if (duration === undefined) { duration = 500; } @@ -14475,10 +14529,13 @@ Phaser.Camera.prototype = { this.fx.drawRect(0, 0, this.width, this.height); this.fx.endFill(); - this.fx.alpha = 0; + + if (type < 1 || type > 2) { throw new Error('Wrong `type` argument'); } + + this.fx.alpha = (type === Phaser.Camera.FADE_IN) ? 1 : 0; this._fxDuration = duration; - this._fxType = 1; + this._fxType = type; return true; }, @@ -14525,7 +14582,7 @@ Phaser.Camera.prototype = { */ updateFX: function () { - if (this._fxType === 0) + if (this._fxType === Phaser.Camera.FLASH) { // flash this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; @@ -14537,9 +14594,21 @@ Phaser.Camera.prototype = { this.onFlashComplete.dispatch(); } } + else if (this._fxType === Phaser.Camera.FADE_IN) + { + // fade in + this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; + + if (this.fx.alpha <= 0) + { + this._fxDuration = 0; + this.fx.alpha = 0; + this.onFadeComplete.dispatch(); + } + } else { - // fade + // fade out this.fx.alpha += this.game.time.elapsedMS / this._fxDuration; if (this.fx.alpha >= 1) @@ -15332,7 +15401,7 @@ Phaser.StateManager = function (game, pendingState) * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -15592,15 +15661,11 @@ Phaser.StateManager.prototype = { { if (this._pendingState && this.game.isBooted) { - var previousStateKey = this.current; - // Already got a state running? this.clearCurrentState(); this.setCurrentState(this._pendingState); - this.onStateChange.dispatch(this.current, previousStateKey); - if (this.current !== this._pendingState) { return; @@ -15787,6 +15852,7 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { + var previousStateKey = this.current; var state = this.states[key]; this.callbackContext = state; @@ -15821,6 +15887,8 @@ Phaser.StateManager.prototype = { this.current = key; this._created = false; + this.onStateChange.dispatch(this.current, previousStateKey); + // At this point key and pendingState should equal each other this.onInitCallback.apply(this.callbackContext, this._args); @@ -22070,7 +22138,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {boolean} [GameConfig.keyboard=true] - Starts the keyboard input handler. * @property {number} [GameConfig.maxPointers=-1] - Sets {@link Phaser.Input#maxPointers}. * @property {boolean} [GameConfig.mouse=true] - Starts the mouse input handler, if the mspointer and touch handlers were not started. - * @property {boolean} [GameConfig.mouseWheel=true] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. + * @property {boolean} [GameConfig.mouseWheel=false] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. * @property {boolean} [GameConfig.mspointer=true] - Starts the {@link Phaser.MSPointer Pointer Events} handler (mspointer), if supported by the device. * @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. @@ -22803,12 +22871,7 @@ Phaser.Game.prototype = { this._paused = true; this.time.gamePaused(); - - if (this.sound.muteOnPause) - { - this.sound.setMute(); - } - + this.sound.gamePaused(); this.onPause.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -22834,14 +22897,8 @@ Phaser.Game.prototype = { this._paused = false; this.time.gameResumed(); - this.input.reset(); - - if (this.sound.muteOnPause) - { - this.sound.unsetMute(); - } - + this.sound.gameResumed(); this.onResume.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -23380,7 +23437,7 @@ Phaser.Input.prototype = { * @property {boolean} [keyboard=true] * @property {boolean} [maxPointers=-1] * @property {boolean} [mouse=true] - * @property {boolean} [mouseWheel=true] + * @property {boolean} [mouseWheel=false] * @property {boolean} [mspointer=true] * @property {boolean} [pointerLock=true] * @property {boolean} [touch=true] @@ -23453,7 +23510,7 @@ Phaser.Input.prototype = { this.mousePointer.active = true; - if (config.mouseWheel !== false) + if (config.mouseWheel === true) { this.mouseWheel.start(); } @@ -32730,6 +32787,7 @@ Phaser.Component.Core.init = function (game, x, y, key, frame) if (this.components.PhysicsBody) { // Enable-body checks for hasOwnProperty; makes sure to lift property from prototype. + // eslint-disable-next-line no-self-assign this.body = this.body; } @@ -66829,6 +66887,12 @@ Phaser.SoundManager = function (game) */ this.onTouchUnlock = new Phaser.Signal(); + /** + * This signal is dispatched when the AudioContext state changes, only if using Web Audio. + * @property {Phaser.Signal} onStateChange + */ + this.onStateChange = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -66950,10 +67014,16 @@ Phaser.SoundManager = function (game) this._watchContext = null; /** - * @property {function} _resumeWebAudioOnClick - Bound 'click' handler. Added in boot(), if necessary. + * @property {function} _onClick - Bound handler for 'click' on the game canvas. Added in boot(), if necessary. + * @private + */ + this._onClick = this._onClick.bind(this); + + /** + * @property {function} _onStateChange - Bound handler for 'onstatechange' on the AudioContext. Added in boot(), if necessary. * @private */ - this._resumeWebAudioOnClick = this._resumeWebAudioOnClick.bind(this); + this._onStateChange = this._onStateChange.bind(this); }; Phaser.SoundManager.prototype = { @@ -67049,13 +67119,13 @@ Phaser.SoundManager.prototype = { this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); - /* - * A suspended context is actually normal (momentarily) in Firefox. - * In that case the input handler will do nothing, which is fine. - */ + // "A newly-created AudioContext will always begin in the suspended state, and a state change event will be fired whenever the state changes to a different state." + + this.context.onstatechange = this._onStateChange; + if (this.context.state === 'suspended') { - this.game.canvas.addEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.addEventListener('click', this._onClick); } } @@ -67106,13 +67176,24 @@ Phaser.SoundManager.prototype = { }, /** - * Try to resume a suspended WebAudio context. - * - * If the context isn't suspended, or if WebAudio isn't in use, nothing is done. + * Try to resume the Web Audio context, if using Web Audio. * * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. */ resumeWebAudio: function () + { + if (this.usingWebAudio) + { + return this.context.resume(); + } + }, + + /** + * Try to resume a suspended Web Audio context, if using Web Audio and the context is suspended. + * + * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. + */ + resumeWebAudioIfSuspended: function () { if (this.usingWebAudio && this.context.state === 'suspended') { @@ -67155,7 +67236,7 @@ Phaser.SoundManager.prototype = { this._unlockSource.onended = function unlockSourceOnEndedHandler () { _this.setTouchUnlock(); - _this.resumeWebAudio(); + _this.resumeWebAudioIfSuspended(); }; if (this._unlockSource.start === undefined) @@ -67168,7 +67249,7 @@ Phaser.SoundManager.prototype = { } // This fixes locked audio in Chrome > 55 cross origin iframes? - this.resumeWebAudio(); + this.resumeWebAudioIfSuspended(); } // We can remove the event because we've done what we needed (started the unlock sound playing) @@ -67560,6 +67641,32 @@ Phaser.SoundManager.prototype = { this.onUnMute.dispatch(); }, + /** + * Called by the game when paused. + * @private + */ + gamePaused: function () + { + if (this.muteOnPause) + { + this.setMute(); + } + }, + + /** + * Called by the game when resumed. + * @private + */ + gameResumed: function () + { + this.resumeWebAudio(); + + if (this.muteOnPause) + { + this.unsetMute(); + } + }, + /** * Stops all the sounds in the game, then destroys them and finally clears up any callbacks. * @@ -67569,12 +67676,19 @@ Phaser.SoundManager.prototype = { { this.removeAll(); + this.onMute.dispose(); this.onSoundDecode.dispose(); + this.onStateChange.dispose(); + this.onTouchUnlock.dispose(); + this.onUnMute.dispose(); + this.onVolumeChange.dispose(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); if (this.context) { + this.context.onstatechange = null; + 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 @@ -67585,14 +67699,29 @@ Phaser.SoundManager.prototype = { { this.context.close(); } + + this.context = null; } }, - _resumeWebAudioOnClick: function () + /** + * Handler for this.context.onstatechange. Copied and bound in SoundManager constructor. + * @private + */ + _onStateChange: function () { - this.resumeWebAudio(); + this.onStateChange.dispatch(this.context.state); + }, + + /** + * Handler for this.game.canvas 'click'. Copied and bound in SoundManager constructor. + * @private + */ + _onClick: function () + { + this.resumeWebAudioIfSuspended(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); } }; @@ -70491,13 +70620,51 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Game ID ' + game.id); - this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' ' + game.width + ' x ' + game.height); + this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' (' + game.width + ' x ' + game.height + ')'); this.line('Paused: ' + game.paused); this.line('Stepping: ' + game.stepping + ' (' + game.stepCount + ')'); this.stop(); }, + /** + * Render game state info. + * + * Icons show (+) pending, (>) loading, (*) created. + * + * @method Phaser.Utils.Debug#state + * @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). + */ + state: function (x, y, color) + { + var state = this.game.state; + var keys = Object.keys(state.states); + + this.start(x, y, color); + + for (var i = 0; i < keys.length; i++) + { + var key = keys[i]; + + if (key === state.current) + { + this.line((state._created ? '* ' : '> ') + key); + } + else if (key === state._pendingState) + { + this.line('+ ' + key); + } + else + { + this.line(' ' + key); + } + } + + this.stop(); + }, + /** * Render Sound Manager information, including volume, mute, audio mode, and locked status. * diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index 1a06f0b1a..97af54739 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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","postUpdate","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","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","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","defaults","keys","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","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","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","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 b3e222b3b..ea39c9bb3 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,O=_*m+T*y+C,L=w*y+b*m+S;c=P,d=E,l=E,u=O<(u=M<(u=A<(u=P)?A:u)?M:u)?O:u,l=L<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?O:c,d=L>(d=I>(d=R>d?R:d)?I:d)?L: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=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.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,O=this.positions,L=t.tint,k=(L>>16)+(65280&L)+((255&L)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*u+_*c+T|0,O[g++]=b*c+x*u+w|0,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T|0,O[g++]=b*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T|0,O[g++]=b*l+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T|0,O[g++]=b*l+x*u+w|0,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y):(O[g++]=v*u+_*c+T,O[g++]=b*c+x*u+w,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T,O[g++]=b*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T,O[g++]=b*l+x*h+w,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T,O[g++]=b*l+x*u+w,O[g++]=a.x3,O[g++]=a.y3,I[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 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,O=E.tx,L=E.ty;g[S++]=A*T+M*C+O,g[S++]=I*C+R*T+L,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+M*C+O,g[S++]=I*C+R*b+L,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+M*w+O,g[S++]=I*w+R*b+L,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+M*w+O,g[S++]=I*w+R*T+L,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(){var t=this,e=e||{VERSION:"2.15.1",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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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.onPostUpdateCallback=e.postUpdate||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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+m),this.allowVerticalDrag&&(a.y=l+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,u,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,u=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(u.i/s),e.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,u,i,s,n),p=e.EarCut.zOrder(l,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var u=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),u=e.EarCut.filterPoints(u,u.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(u,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,u,l=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-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),O.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,i.beginPath(),i.moveTo(b,T+S),i.lineTo(b,T+C-S),i.quadraticCurveTo(b,T+C,b+S,T+C),i.lineTo(b+w-S,T+C),i.quadraticCurveTo(b+w,T+C,b+w,T+C-S),i.lineTo(b+w,T+S),i.quadraticCurveTo(b+w,T,b+w-S,T),i.lineTo(b+S,T),i.quadraticCurveTo(b,T,b,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,_+w),i.lineTo(x,_+T-w),i.quadraticCurveTo(x,_+T,x+w,_+T),i.lineTo(x+b-w,_+T),i.quadraticCurveTo(x+b,_+T,x+b,_+T-w),i.lineTo(x+b,_+w),i.quadraticCurveTo(x+b,_,x+b-w,_),i.lineTo(x+w,_),i.quadraticCurveTo(x,_,x,_+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+u:i,s=hn?h+l:n;else if(p===e.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var u,l,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(u=0;ua;u--){for(l=0;l0?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+this.letterSpacing)*e,u.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:u}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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*_,O=d*x+v*f+p*_-x*f-v*p-d*_,L=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,O/A,M/A,L/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nu?y:u,l=v>l?v:l}if(c===-1/0||l===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=u-c,x.y=d,x.height=l-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,_=o,b=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,_,b,s,n,"")),(_+=s+a)+s>l&&(_=o,b+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);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()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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,M=w*v+b*g+S,R=_*g+T*y+C,I=w*y+b*g+S,O=_*m+T*y+C,L=w*y+b*m+S;c=P,d=E,l=E,u=O<(u=R<(u=A<(u=P)?A:u)?R:u)?O:u,l=L<(l=I<(l=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=L>(d=I>(d=M>d?M:d)?I:d)?L: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=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.height;if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=u,R=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=R,c=M}var I=this.colors,O=this.positions,L=t.tint,k=(L>>16)+(65280&L)+((255&L)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*u+_*c+T|0,O[g++]=b*c+x*u+w|0,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T|0,O[g++]=b*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T|0,O[g++]=b*l+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T|0,O[g++]=b*l+x*u+w|0,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y):(O[g++]=v*u+_*c+T,O[g++]=b*c+x*u+w,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T,O[g++]=b*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T,O[g++]=b*l+x*h+w,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T,O[g++]=b*l+x*u+w,O[g++]=a.x3,O[g++]=a.y3,I[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 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,M=E.b/P,R=E.c/P,I=E.d/P,O=E.tx,L=E.ty;g[S++]=A*T+R*C+O,g[S++]=I*C+M*T+L,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+R*C+O,g[S++]=I*C+M*b+L,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+R*w+O,g[S++]=I*w+M*b+L,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+O,g[S++]=I*w+M*T+L,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(){var t=this,e=e||{VERSION:"2.16.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),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.gameResumed(),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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+m),this.allowVerticalDrag&&(a.y=l+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,u,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,u=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(u.i/s),e.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,u,i,s,n),p=e.EarCut.zOrder(l,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var u=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),u=e.EarCut.filterPoints(u,u.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(u,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,u,l=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=R=Math.sqrt(b*b+T*T),T/=R,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*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,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),O.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,i.beginPath(),i.moveTo(b,T+S),i.lineTo(b,T+C-S),i.quadraticCurveTo(b,T+C,b+S,T+C),i.lineTo(b+w-S,T+C),i.quadraticCurveTo(b+w,T+C,b+w,T+C-S),i.lineTo(b+w,T+S),i.quadraticCurveTo(b+w,T,b+w-S,T),i.lineTo(b+S,T),i.quadraticCurveTo(b,T,b,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,_+w),i.lineTo(x,_+T-w),i.quadraticCurveTo(x,_+T,x+w,_+T),i.lineTo(x+b-w,_+T),i.quadraticCurveTo(x+b,_+T,x+b,_+T-w),i.lineTo(x+b,_+w),i.quadraticCurveTo(x+b,_,x+b-w,_),i.lineTo(x+w,_),i.quadraticCurveTo(x,_,x,_+w),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+u:i,s=hn?h+l:n;else if(p===e.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var u,l,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(u=0;ua;u--){for(l=0;l0?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+this.letterSpacing)*e,u.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:u}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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*_,M=u*x+v*c+l*_-x*c-v*l-u*_,R=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*_,O=d*x+v*f+p*_-x*f-v*p-d*_,L=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(M/A,O/A,R/A,L/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nu?y:u,l=v>l?v:l}if(c===-1/0||l===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=u-c,x.y=d,x.height=l-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,_=o,b=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,_,b,s,n,"")),(_+=s+a)+s>l&&(_=o,b+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);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()},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,u=0,l=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var c=0;c0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var u={r:t||0,g:i||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 e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 df1e021f2..95baa655a 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.15.1 "2020-05-15" - Built: Fri May 15 2020 11:43:37 +* v2.16.0 "2020-06-01" - Built: Mon Jun 01 2020 11:17:47 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -40,7 +40,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.15.1', + VERSION: '2.16.0', /** * An array of Phaser game instances. @@ -6380,10 +6380,11 @@ Phaser.Camera = function (game, id, x, y, width, height) this.onFlashComplete = new Phaser.Signal(); /** - * This signal is dispatched when the camera fade effect completes. - * When the fade effect completes you will be left with the screen black (or whatever - * color you faded to). In order to reset this call `Camera.resetFX`. This is called - * automatically when you change State. + * This signal is dispatched when the camera fade effect (fade in or fade out) completes. + * You can look at the value of `Camera.fx.alpha` to determine which effect it was. + * When the fade out effect completes `Camera.fx.alpha` is 1 and you will be left with the screen black (or whatever + * color you faded to). In order to reset this call `Camera.resetFX`. `Camera.resetFX` is called automatically when you change State. + * When the fade in effect completes, `Camera.fx.alpha` is 0 and there is no visible camera fill. * @property {Phaser.Signal} onFadeComplete */ this.onFadeComplete = new Phaser.Signal(); @@ -6504,6 +6505,24 @@ Phaser.Camera.SHAKE_VERTICAL = 6; */ Phaser.Camera.ENABLE_FX = true; +/** + * @constant + * @type {number} + */ +Phaser.Camera.FLASH = 0; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_OUT = 1; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_IN = 2; + Phaser.Camera.prototype = { /** @@ -6707,7 +6726,7 @@ Phaser.Camera.prototype = { }, /** - * This creates a camera fade effect. It works by filling the game with the + * This creates a camera fade out effect. It works by filling the game with the * color specified, over the duration given, ending with a solid fill. * * You can use this for things such as transitioning to a new scene. @@ -6723,10 +6742,45 @@ Phaser.Camera.prototype = { * @param {numer} [color=0x000000] - The color the game will fade to. I.e. 0x000000 for black, 0xff0000 for red, etc. * @param {number} [duration=500] - The duration of the fade in milliseconds. * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. - * @param {numer} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. * @return {boolean} True if the effect was started, otherwise false. */ fade: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_OUT); + }, + + /** + * This creates a camera fade in effect. + * It fills the game with a solid color and then removes it over the duration given. + * + * When the effect ends the signal Camera.onFadeComplete is dispatched. + * + * @method Phaser.Camera#fadeIn + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeIn: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_IN); + }, + + /** + * Fade helper. + * + * @method Phaser.Camera#fadeEffect + * @private + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [type=Phaser.Camera.FADE_OUT] - The fade type. FADE_IN or FADE_OUT. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeEffect: function (color, duration, force, alpha, type) { if (color === undefined) { color = 0x000000; } if (duration === undefined) { duration = 500; } @@ -6744,10 +6798,13 @@ Phaser.Camera.prototype = { this.fx.drawRect(0, 0, this.width, this.height); this.fx.endFill(); - this.fx.alpha = 0; + + if (type < 1 || type > 2) { throw new Error('Wrong `type` argument'); } + + this.fx.alpha = (type === Phaser.Camera.FADE_IN) ? 1 : 0; this._fxDuration = duration; - this._fxType = 1; + this._fxType = type; return true; }, @@ -6794,7 +6851,7 @@ Phaser.Camera.prototype = { */ updateFX: function () { - if (this._fxType === 0) + if (this._fxType === Phaser.Camera.FLASH) { // flash this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; @@ -6806,9 +6863,21 @@ Phaser.Camera.prototype = { this.onFlashComplete.dispatch(); } } + else if (this._fxType === Phaser.Camera.FADE_IN) + { + // fade in + this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; + + if (this.fx.alpha <= 0) + { + this._fxDuration = 0; + this.fx.alpha = 0; + this.onFadeComplete.dispatch(); + } + } else { - // fade + // fade out this.fx.alpha += this.game.time.elapsedMS / this._fxDuration; if (this.fx.alpha >= 1) @@ -7601,7 +7670,7 @@ Phaser.StateManager = function (game, pendingState) * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -7861,15 +7930,11 @@ Phaser.StateManager.prototype = { { if (this._pendingState && this.game.isBooted) { - var previousStateKey = this.current; - // Already got a state running? this.clearCurrentState(); this.setCurrentState(this._pendingState); - this.onStateChange.dispatch(this.current, previousStateKey); - if (this.current !== this._pendingState) { return; @@ -8056,6 +8121,7 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { + var previousStateKey = this.current; var state = this.states[key]; this.callbackContext = state; @@ -8090,6 +8156,8 @@ Phaser.StateManager.prototype = { this.current = key; this._created = false; + this.onStateChange.dispatch(this.current, previousStateKey); + // At this point key and pendingState should equal each other this.onInitCallback.apply(this.callbackContext, this._args); @@ -14339,7 +14407,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {boolean} [GameConfig.keyboard=true] - Starts the keyboard input handler. * @property {number} [GameConfig.maxPointers=-1] - Sets {@link Phaser.Input#maxPointers}. * @property {boolean} [GameConfig.mouse=true] - Starts the mouse input handler, if the mspointer and touch handlers were not started. - * @property {boolean} [GameConfig.mouseWheel=true] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. + * @property {boolean} [GameConfig.mouseWheel=false] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. * @property {boolean} [GameConfig.mspointer=true] - Starts the {@link Phaser.MSPointer Pointer Events} handler (mspointer), if supported by the device. * @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. @@ -15072,12 +15140,7 @@ Phaser.Game.prototype = { this._paused = true; this.time.gamePaused(); - - if (this.sound.muteOnPause) - { - this.sound.setMute(); - } - + this.sound.gamePaused(); this.onPause.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -15103,14 +15166,8 @@ Phaser.Game.prototype = { this._paused = false; this.time.gameResumed(); - this.input.reset(); - - if (this.sound.muteOnPause) - { - this.sound.unsetMute(); - } - + this.sound.gameResumed(); this.onResume.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -15649,7 +15706,7 @@ Phaser.Input.prototype = { * @property {boolean} [keyboard=true] * @property {boolean} [maxPointers=-1] * @property {boolean} [mouse=true] - * @property {boolean} [mouseWheel=true] + * @property {boolean} [mouseWheel=false] * @property {boolean} [mspointer=true] * @property {boolean} [pointerLock=true] * @property {boolean} [touch=true] @@ -15722,7 +15779,7 @@ Phaser.Input.prototype = { this.mousePointer.active = true; - if (config.mouseWheel !== false) + if (config.mouseWheel === true) { this.mouseWheel.start(); } @@ -24999,6 +25056,7 @@ Phaser.Component.Core.init = function (game, x, y, key, frame) if (this.components.PhysicsBody) { // Enable-body checks for hasOwnProperty; makes sure to lift property from prototype. + // eslint-disable-next-line no-self-assign this.body = this.body; } @@ -59098,6 +59156,12 @@ Phaser.SoundManager = function (game) */ this.onTouchUnlock = new Phaser.Signal(); + /** + * This signal is dispatched when the AudioContext state changes, only if using Web Audio. + * @property {Phaser.Signal} onStateChange + */ + this.onStateChange = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -59219,10 +59283,16 @@ Phaser.SoundManager = function (game) this._watchContext = null; /** - * @property {function} _resumeWebAudioOnClick - Bound 'click' handler. Added in boot(), if necessary. + * @property {function} _onClick - Bound handler for 'click' on the game canvas. Added in boot(), if necessary. + * @private + */ + this._onClick = this._onClick.bind(this); + + /** + * @property {function} _onStateChange - Bound handler for 'onstatechange' on the AudioContext. Added in boot(), if necessary. * @private */ - this._resumeWebAudioOnClick = this._resumeWebAudioOnClick.bind(this); + this._onStateChange = this._onStateChange.bind(this); }; Phaser.SoundManager.prototype = { @@ -59318,13 +59388,13 @@ Phaser.SoundManager.prototype = { this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); - /* - * A suspended context is actually normal (momentarily) in Firefox. - * In that case the input handler will do nothing, which is fine. - */ + // "A newly-created AudioContext will always begin in the suspended state, and a state change event will be fired whenever the state changes to a different state." + + this.context.onstatechange = this._onStateChange; + if (this.context.state === 'suspended') { - this.game.canvas.addEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.addEventListener('click', this._onClick); } } @@ -59375,13 +59445,24 @@ Phaser.SoundManager.prototype = { }, /** - * Try to resume a suspended WebAudio context. - * - * If the context isn't suspended, or if WebAudio isn't in use, nothing is done. + * Try to resume the Web Audio context, if using Web Audio. * * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. */ resumeWebAudio: function () + { + if (this.usingWebAudio) + { + return this.context.resume(); + } + }, + + /** + * Try to resume a suspended Web Audio context, if using Web Audio and the context is suspended. + * + * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. + */ + resumeWebAudioIfSuspended: function () { if (this.usingWebAudio && this.context.state === 'suspended') { @@ -59424,7 +59505,7 @@ Phaser.SoundManager.prototype = { this._unlockSource.onended = function unlockSourceOnEndedHandler () { _this.setTouchUnlock(); - _this.resumeWebAudio(); + _this.resumeWebAudioIfSuspended(); }; if (this._unlockSource.start === undefined) @@ -59437,7 +59518,7 @@ Phaser.SoundManager.prototype = { } // This fixes locked audio in Chrome > 55 cross origin iframes? - this.resumeWebAudio(); + this.resumeWebAudioIfSuspended(); } // We can remove the event because we've done what we needed (started the unlock sound playing) @@ -59829,6 +59910,32 @@ Phaser.SoundManager.prototype = { this.onUnMute.dispatch(); }, + /** + * Called by the game when paused. + * @private + */ + gamePaused: function () + { + if (this.muteOnPause) + { + this.setMute(); + } + }, + + /** + * Called by the game when resumed. + * @private + */ + gameResumed: function () + { + this.resumeWebAudio(); + + if (this.muteOnPause) + { + this.unsetMute(); + } + }, + /** * Stops all the sounds in the game, then destroys them and finally clears up any callbacks. * @@ -59838,12 +59945,19 @@ Phaser.SoundManager.prototype = { { this.removeAll(); + this.onMute.dispose(); this.onSoundDecode.dispose(); + this.onStateChange.dispose(); + this.onTouchUnlock.dispose(); + this.onUnMute.dispose(); + this.onVolumeChange.dispose(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); if (this.context) { + this.context.onstatechange = null; + 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 @@ -59854,14 +59968,29 @@ Phaser.SoundManager.prototype = { { this.context.close(); } + + this.context = null; } }, - _resumeWebAudioOnClick: function () + /** + * Handler for this.context.onstatechange. Copied and bound in SoundManager constructor. + * @private + */ + _onStateChange: function () { - this.resumeWebAudio(); + this.onStateChange.dispatch(this.context.state); + }, + + /** + * Handler for this.game.canvas 'click'. Copied and bound in SoundManager constructor. + * @private + */ + _onClick: function () + { + this.resumeWebAudioIfSuspended(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); } }; @@ -62760,13 +62889,51 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Game ID ' + game.id); - this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' ' + game.width + ' x ' + game.height); + this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' (' + game.width + ' x ' + game.height + ')'); this.line('Paused: ' + game.paused); this.line('Stepping: ' + game.stepping + ' (' + game.stepCount + ')'); this.stop(); }, + /** + * Render game state info. + * + * Icons show (+) pending, (>) loading, (*) created. + * + * @method Phaser.Utils.Debug#state + * @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). + */ + state: function (x, y, color) + { + var state = this.game.state; + var keys = Object.keys(state.states); + + this.start(x, y, color); + + for (var i = 0; i < keys.length; i++) + { + var key = keys[i]; + + if (key === state.current) + { + this.line((state._created ? '* ' : '> ') + key); + } + else if (key === state._pendingState) + { + this.line('+ ' + key); + } + else + { + this.line(' ' + key); + } + } + + this.stop(); + }, + /** * Render Sound Manager information, including volume, mute, audio mode, and locked status. * @@ -79434,8 +79601,9 @@ Phaser.Tilemap.prototype = { }, /** - * Searches the entire map layer for the first tile matching the given index, then returns that Phaser.Tile object. - * If no match is found it returns null. + * Searches the entire map layer for the first tile or all tiles matching the given index. + * When `all` is false (the default), it returns a Phaser.Tile object or null. + * When `all` is true, it returns an array Phaser.Tile objects, or none (an empty array). * The search starts from the top-left tile and continues horizontally until it hits the end of the row, then it drops down to the next column. * If the reverse boolean is true, it scans starting from the bottom-right corner traveling up to the top-left. * diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index cc49bfe69..8522ca70c 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","postUpdate","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","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","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","maxUpdates","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","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","animation","useFlatData","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","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","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","all","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","_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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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":["root","this","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","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","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","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","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","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","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","FLASH","FADE_OUT","FADE_IN","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","fadeEffect","fadeIn","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","previousStateKey","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","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","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","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","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","maxUpdates","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","enableStep","disableStep","step","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","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","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_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","prop","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","animation","useFlatData","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","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","generateTexture","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","1","2","3","4","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","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","all","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","_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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","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 12afd68cf..571c81890 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){var t=this,e=e||{VERSION:"2.15.1",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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(i),r=n*Math.sin(i);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,o){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,o=t.y,r=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-r*i.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 e.Point(u,p),g=new e.Point(d,f),y=i.pointOnSegment(m.x,m.y,.01),v=i.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,o){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,o,r),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(i){case e.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case e.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.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,i,s,n,o){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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.onPostUpdateCallback=e.postUpdate||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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else r=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=e.Utils.getProperty(t,i);return!(void 0===o&&n||o!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,o,r){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!i||i.call(s,h,o))&&(n=o,r=h)}return r},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,o="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):o||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,o=this._pointerData[t.id],r=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(u.x,u.y));var f=u.x-d,m=u.y-p}else{var g=i.x-o.camX,y=i.y-o.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+g),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,r,e,f,m),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)r=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}o&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,o){var r=this.game.plugins.add(e.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,i,s,n),r},image:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,o,r,a){void 0===o&&(o=this.world);var h=new e.Creature(this.game,t,i,s,n,r,a);return o.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,o){return new e.Group(this.game,t,i,s,n,o)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,o,r))},rope:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.Rope(this.game,t,i,s,n,o))},text:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,o,r,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.BitmapText(this.game,t,i,s,n,o))},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,o){return new e.Group(this.game,t||null,i,s,n,o)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r){return new e.TileSprite(this.game,t,i,s,n,o,r)},rope:function(t,i,s,n,o){return new e.Rope(this.game,t,i,s,n,o)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,o,r,a,h,l){return new e.Button(this.game,t,i,s,n,o,r,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return new e.BitmapText(this.game,t,i,s,n,o,r)},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,o,r,a,h,l,c){i=i||0,s=s||0,n=n||null,o=o||null,r=r||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,o){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!r);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var o=this.context;return o.fillStyle=o.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(r,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,o){var r,a,h,l=0;for(r=i,a=s-n;r0)for(r=i;r=i;r-=n)h=e.EarCut.insertNode(r,t[r],t[r+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,o,r,a){if(t){!a&&r&&e.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?e.EarCut.isEarHashed(t,n,o,r):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,o,r,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,o,r):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,o,r,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,o.x,o.y)&&e.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var o=t.prev,r=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var o=n.prev,r=n.next.next;e.EarCut.intersects(o,n,n.next,r)&&e.EarCut.locallyInside(o,r)&&e.EarCut.locallyInside(r,o)&&(i.push(o.i/s),i.push(n.i/s),i.push(r.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,o,r),void e.EarCut.earcutLinked(l,i,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var o,r,a,h,l,c=[];for(o=0,r=i.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&&e.EarCut.pointInTriangle(rs.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var o=t;do{null===o.z&&(o.z=e.EarCut.zOrder(o.x,o.y,i,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,e.EarCut.sortLinked(o)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),o=t.next,r=i.prev;return t.next=i,i.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},e.EarCut.insertNode=function(t,i,s,n){var o=new e.EarCut.Node(t,i,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},e.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)},e.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,i){var s,n=i.gl,o=i.projection,r=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===e.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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(o.fillColor||0===o.fillColor)&&(i.globalAlpha=o.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),o.lineWidth&&(i.globalAlpha=o.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,o=new e.Point,r=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,o){return this.drawShape(new e.RoundedRectangle(t,i,s,n,o)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{r=o.points;for(var m=0;mi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=i-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,o,r,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=r,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,o=e.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,m=!1;for(l=0;la;l--){for(c=0;c0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+m+this.letterSpacing)*e),s+=(p.xAdvance+m+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,o),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,o=0,r=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,o=e.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(r),n=r.canvas}else e.CanvasPool.pool[o].parent=t,n=e.CanvasPool.pool[o].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var o=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,o){i=i||256,s=s||256;var r=o?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,o,r,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,o,r,a)),n&&this.start(),this)},from:function(t,i,s,n,o,r,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,o){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,o,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,o){void 0===n&&(n="");var r=[],a="";if(i=s;h--)a=t+(a="number"==typeof o?e.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},e.Frame=function(t,i,s,n,o,r){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(o>-1&&(v=(f=o)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+r+a,s,r,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+r+a,n,r,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,m-h))-1:h<0&&(y=(v=g+h)-(f=Math.min(f,m+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,g),null;if(v>g)return console.warn("Last frame index %s is outside of range [0, %d]",v,g),null;for(var x=new e.FrameData,b=r,_=r,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=r,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,o=i.frames,r=0;r tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in e.LoaderParser?e.LoaderParser[s](n):n,r={key:t,url:i,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new e.Frame(0,0,0,o.width,o.height,t),frameData:new e.FrameData,fileFormat:s};return r.frameData.addFrame(new e.Frame(0,0,0,o.width,o.height,i)),this._cache.image[t]=r,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,o,r,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,o,r,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,o){var r={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===e.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=e.AnimationParser.XMLData(this.game,n,t):o===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=e.AnimationParser.JSONData(this.game,n,t):r.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(i,r)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var o=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":o=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,o){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===o&&(o=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);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()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:o}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var o=Math.min(t,i,s),r=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,o,r,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=o,i.b=r):i=e.Color.createColor(n,o,r)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,o,r){var a=e.Color.getRGB(t),h=(i-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-i)*h/a+i,u=(r-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,o)}}}}},collideGroupVsGroup:function(t,i,s,n,o,r){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,o=i.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(r)+i.velocity.y*Math.sin(r),y:-i.velocity.x*Math.sin(r)+i.velocity.y*Math.cos(r)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*i.bounce.x,i.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*i.bounce.y),Math.abs(r)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,o,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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 e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,o,r,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?r.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?r.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&r.push(i[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,o){i=i||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,o,r){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[o].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new e.TilemapLayer(this.game,this,o,i,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var o,r,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){o=c[d];for(p=l-1;p>=0;p--)if((r=o[p]).index===t)if(a>=e){if(!n)return r;u.push(r)}else a++}else for(var d=0;d=e){if(!n)return r;u.push(r)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,o){n|=0,o|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var o=this.getEmptyData(),r=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(D,k,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,o){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var r={v:t},a=this.game.make.tween(r).to({v:i},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,o,r,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,o>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,o){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,o){e.Sprite.call(this,t,i,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); +(function(){var t=this,e=e||{VERSION:"2.16.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(i),r=n*Math.sin(i);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,o){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,o=t.y,r=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-r*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,o){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,o,r),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(i){case e.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case e.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.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,i,s,n,o){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,o){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),o<1||o>2)throw new Error("Wrong `type` argument");return this.fx.alpha=o===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=o,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else r=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=e.Utils.getProperty(t,i);return!(void 0===o&&n||o!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,o,r){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!i||i.call(s,h,o))&&(n=o,r=h)}return r},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),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.gameResumed(),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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,o="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):o||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,o=this._pointerData[t.id],r=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-o.camX,y=i.y-o.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,r,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)r=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}o&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,o){var r=this.game.plugins.add(e.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,i,s,n),r},image:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,o,r,a){void 0===o&&(o=this.world);var h=new e.Creature(this.game,t,i,s,n,r,a);return o.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,o){return new e.Group(this.game,t,i,s,n,o)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,o,r))},rope:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.Rope(this.game,t,i,s,n,o))},text:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,o,r,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.BitmapText(this.game,t,i,s,n,o))},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,o){return new e.Group(this.game,t||null,i,s,n,o)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,o,r){return new e.TileSprite(this.game,t,i,s,n,o,r)},rope:function(t,i,s,n,o){return new e.Rope(this.game,t,i,s,n,o)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,o,r,a,h,l){return new e.Button(this.game,t,i,s,n,o,r,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return new e.BitmapText(this.game,t,i,s,n,o,r)},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,o,r,a,h,l,c){i=i||0,s=s||0,n=n||null,o=o||null,r=r||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,o){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!r);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var o=this.context;return o.fillStyle=o.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(r,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,o){var r,a,h,l=0;for(r=i,a=s-n;r0)for(r=i;r=i;r-=n)h=e.EarCut.insertNode(r,t[r],t[r+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,o,r,a){if(t){!a&&r&&e.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?e.EarCut.isEarHashed(t,n,o,r):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,o,r,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,o,r):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,o,r,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,o.x,o.y)&&e.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var o=t.prev,r=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var o=n.prev,r=n.next.next;e.EarCut.intersects(o,n,n.next,r)&&e.EarCut.locallyInside(o,r)&&e.EarCut.locallyInside(r,o)&&(i.push(o.i/s),i.push(n.i/s),i.push(r.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,o,r),void e.EarCut.earcutLinked(l,i,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var o,r,a,h,l,c=[];for(o=0,r=i.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&&e.EarCut.pointInTriangle(rs.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var o=t;do{null===o.z&&(o.z=e.EarCut.zOrder(o.x,o.y,i,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,e.EarCut.sortLinked(o)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),o=t.next,r=i.prev;return t.next=i,i.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},e.EarCut.insertNode=function(t,i,s,n){var o=new e.EarCut.Node(t,i,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},e.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)},e.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,i){var s,n=i.gl,o=i.projection,r=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===e.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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(o.fillColor||0===o.fillColor)&&(i.globalAlpha=o.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),o.lineWidth&&(i.globalAlpha=o.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,o=new e.Point,r=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,o){return this.drawShape(new e.RoundedRectangle(t,i,s,n,o)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{r=o.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,o,r,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=r,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,o=e.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,o),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,o=0,r=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,o=e.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(r),n=r.canvas}else e.CanvasPool.pool[o].parent=t,n=e.CanvasPool.pool[o].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var o=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,o){i=i||256,s=s||256;var r=o?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,o,r,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,o,r,a)),n&&this.start(),this)},from:function(t,i,s,n,o,r,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,o){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,o,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,o){void 0===n&&(n="");var r=[],a="";if(i=s;h--)a=t+(a="number"==typeof o?e.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},e.Frame=function(t,i,s,n,o,r){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(o>-1&&(v=(f=o)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+r+a,s,r,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+r+a,n,r,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=r,_=r,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=r,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,o=i.frames,r=0;r tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in e.LoaderParser?e.LoaderParser[s](n):n,r={key:t,url:i,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new e.Frame(0,0,0,o.width,o.height,t),frameData:new e.FrameData,fileFormat:s};return r.frameData.addFrame(new e.Frame(0,0,0,o.width,o.height,i)),this._cache.image[t]=r,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,o,r,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,o,r,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,o){var r={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===e.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=e.AnimationParser.XMLData(this.game,n,t):o===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=e.AnimationParser.JSONData(this.game,n,t):r.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(i,r)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var o=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":o=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,o){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===o&&(o=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);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()},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+r):r===s._pendingState?this.line("+ "+r):this.line(" "+r)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,o=t.view;s&&(this._rect.setTo(o.x+s.x,o.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(o.centerX,o.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,o=t.deadzone,r=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(o?"x: "+o.x+" y: "+o.y+" w: "+o.width+" h: "+o.height:o)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(r?r.name||r:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,o){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",o=o||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=o,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var r=t.movementX,a=t.movementY;(r||a)&&(this.context.beginPath(),this.context.moveTo(r+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+r+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var o=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+o.x+" Y: "+o.y),this.line("World X: "+o.worldX+" World Y: "+o.worldY),this.line("Scale X: "+o.scale.x.toFixed(2)+" Scale Y: "+o.scale.x.toFixed(2)),this.line("Screen X: "+o.activePointer.screenX.toFixed(1)+" Screen Y: "+o.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(o.mouse,"mouse")),this.line(" "+this._inputHandler(o.mspointer,"mspointer")),this.line(" "+this._inputHandler(o.touch,"touch"));var r=o.pointers,a=o.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:o}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var o=Math.min(t,i,s),r=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,o,r,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=o,i.b=r):i=e.Color.createColor(n,o,r)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,o,r){var a=e.Color.getRGB(t),h=(i-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-i)*h/a+i,u=(r-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,o)}}}}},collideGroupVsGroup:function(t,i,s,n,o,r){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,o=i.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(r)+i.velocity.y*Math.sin(r),y:-i.velocity.x*Math.sin(r)+i.velocity.y*Math.cos(r)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*i.bounce.x,i.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*i.bounce.y),Math.abs(r)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,o,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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 e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,o,r,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?r.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?r.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&r.push(i[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,o){i=i||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,o,r){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[o].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new e.TilemapLayer(this.game,this,o,i,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var o,r,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){o=c[d];for(p=l-1;p>=0;p--)if((r=o[p]).index===t)if(a>=e){if(!n)return r;u.push(r)}else a++}else for(var d=0;d=e){if(!n)return r;u.push(r)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,o){n|=0,o|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var o=this.getEmptyData(),r=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(D,k,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,o){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var r={v:t},a=this.game.make.tween(r).to({v:i},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,o,r,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,o>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,o){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,o){e.Sprite.call(this,t,i,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).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 acca309e3..4bdfbaaad 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.15.1 "2020-05-15" - Built: Fri May 15 2020 11:43:42 +* v2.16.0 "2020-06-01" - Built: Mon Jun 01 2020 11:17:52 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index ef7c6f929..8ab6d59ee 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.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(),this._destroyTintedTexture()},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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(e){if(e.parent===this)return this.setChildIndex(e,this.children.length-1)},i.DisplayObjectContainer.prototype.sendChildToBack=function(e){if(e.parent===this)return this.setChildIndex(e,0)},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,T=x.y,v=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*v+b,M=y*v+_*g+A,C=E*p+S*v+b,L=y*v+_*p+A,B=E*p+S*T+b,P=y*T+_*p+A,w=E*g+S*T+b,U=y*T+_*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=T,M.height=p-T,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=r.baseTexture.resolution,T=r.baseTexture.textureIndex,v=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=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,v=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++]=v*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++]=T,w[p++]=v*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++]=T,w[p++]=v*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++]=T,w[p++]=v*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++]=T):(w[p++]=v*l+E*d+S,w[p++]=_*d+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=T,w[p++]=v*h+E*d+S,w[p++]=_*d+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=T,w[p++]=v*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=T,w[p++]=v*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=T),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,T=e.width,v=e.height,m=e.anchor.x,E=e.anchor.y,_=T*(1-m),S=T*-m,y=v*(1-E),b=v*-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,T=this.currentBatchSize;g0&&(v=!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); //# sourceMappingURL=pixi.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index e91f2fafb..05972c748 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser CE - https://github.com/photonstorm/phaser-ce * -* v2.15.1 "2020-05-15" - Built: Fri May 15 2020 11:43:18 +* v2.16.0 "2020-06-01" - Built: Mon Jun 01 2020 11:17:28 * * By Richard Davey http://www.photonstorm.com @photonstorm and Phaser CE contributors * @@ -22599,7 +22599,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.15.1', + VERSION: '2.16.0', /** * An array of Phaser game instances. @@ -28939,10 +28939,11 @@ Phaser.Camera = function (game, id, x, y, width, height) this.onFlashComplete = new Phaser.Signal(); /** - * This signal is dispatched when the camera fade effect completes. - * When the fade effect completes you will be left with the screen black (or whatever - * color you faded to). In order to reset this call `Camera.resetFX`. This is called - * automatically when you change State. + * This signal is dispatched when the camera fade effect (fade in or fade out) completes. + * You can look at the value of `Camera.fx.alpha` to determine which effect it was. + * When the fade out effect completes `Camera.fx.alpha` is 1 and you will be left with the screen black (or whatever + * color you faded to). In order to reset this call `Camera.resetFX`. `Camera.resetFX` is called automatically when you change State. + * When the fade in effect completes, `Camera.fx.alpha` is 0 and there is no visible camera fill. * @property {Phaser.Signal} onFadeComplete */ this.onFadeComplete = new Phaser.Signal(); @@ -29063,6 +29064,24 @@ Phaser.Camera.SHAKE_VERTICAL = 6; */ Phaser.Camera.ENABLE_FX = true; +/** + * @constant + * @type {number} + */ +Phaser.Camera.FLASH = 0; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_OUT = 1; + +/** + * @constant + * @type {number} + */ +Phaser.Camera.FADE_IN = 2; + Phaser.Camera.prototype = { /** @@ -29266,7 +29285,7 @@ Phaser.Camera.prototype = { }, /** - * This creates a camera fade effect. It works by filling the game with the + * This creates a camera fade out effect. It works by filling the game with the * color specified, over the duration given, ending with a solid fill. * * You can use this for things such as transitioning to a new scene. @@ -29282,10 +29301,45 @@ Phaser.Camera.prototype = { * @param {numer} [color=0x000000] - The color the game will fade to. I.e. 0x000000 for black, 0xff0000 for red, etc. * @param {number} [duration=500] - The duration of the fade in milliseconds. * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. - * @param {numer} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. * @return {boolean} True if the effect was started, otherwise false. */ fade: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_OUT); + }, + + /** + * This creates a camera fade in effect. + * It fills the game with a solid color and then removes it over the duration given. + * + * When the effect ends the signal Camera.onFadeComplete is dispatched. + * + * @method Phaser.Camera#fadeIn + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeIn: function (color, duration, force, alpha) + { + return this.fadeEffect(color, duration, force, alpha, Phaser.Camera.FADE_IN); + }, + + /** + * Fade helper. + * + * @method Phaser.Camera#fadeEffect + * @private + * @param {numer} [color=0x000000] - The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc. + * @param {number} [duration=500] - The duration of the fade in milliseconds. + * @param {boolean} [force=false] - If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration. + * @param {number} [alpha=1] - The alpha value of the color applied to the fade effect. + * @param {number} [type=Phaser.Camera.FADE_OUT] - The fade type. FADE_IN or FADE_OUT. + * @return {boolean} True if the effect was started, otherwise false. + */ + fadeEffect: function (color, duration, force, alpha, type) { if (color === undefined) { color = 0x000000; } if (duration === undefined) { duration = 500; } @@ -29303,10 +29357,13 @@ Phaser.Camera.prototype = { this.fx.drawRect(0, 0, this.width, this.height); this.fx.endFill(); - this.fx.alpha = 0; + + if (type < 1 || type > 2) { throw new Error('Wrong `type` argument'); } + + this.fx.alpha = (type === Phaser.Camera.FADE_IN) ? 1 : 0; this._fxDuration = duration; - this._fxType = 1; + this._fxType = type; return true; }, @@ -29353,7 +29410,7 @@ Phaser.Camera.prototype = { */ updateFX: function () { - if (this._fxType === 0) + if (this._fxType === Phaser.Camera.FLASH) { // flash this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; @@ -29365,9 +29422,21 @@ Phaser.Camera.prototype = { this.onFlashComplete.dispatch(); } } + else if (this._fxType === Phaser.Camera.FADE_IN) + { + // fade in + this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration; + + if (this.fx.alpha <= 0) + { + this._fxDuration = 0; + this.fx.alpha = 0; + this.onFadeComplete.dispatch(); + } + } else { - // fade + // fade out this.fx.alpha += this.game.time.elapsedMS / this._fxDuration; if (this.fx.alpha >= 1) @@ -30160,7 +30229,7 @@ Phaser.StateManager = function (game, pendingState) * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -30420,15 +30489,11 @@ Phaser.StateManager.prototype = { { if (this._pendingState && this.game.isBooted) { - var previousStateKey = this.current; - // Already got a state running? this.clearCurrentState(); this.setCurrentState(this._pendingState); - this.onStateChange.dispatch(this.current, previousStateKey); - if (this.current !== this._pendingState) { return; @@ -30615,6 +30680,7 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { + var previousStateKey = this.current; var state = this.states[key]; this.callbackContext = state; @@ -30649,6 +30715,8 @@ Phaser.StateManager.prototype = { this.current = key; this._created = false; + this.onStateChange.dispatch(this.current, previousStateKey); + // At this point key and pendingState should equal each other this.onInitCallback.apply(this.callbackContext, this._args); @@ -36898,7 +36966,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * @property {boolean} [GameConfig.keyboard=true] - Starts the keyboard input handler. * @property {number} [GameConfig.maxPointers=-1] - Sets {@link Phaser.Input#maxPointers}. * @property {boolean} [GameConfig.mouse=true] - Starts the mouse input handler, if the mspointer and touch handlers were not started. - * @property {boolean} [GameConfig.mouseWheel=true] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. + * @property {boolean} [GameConfig.mouseWheel=false] - Starts the {@link Phaser.MouseWheel mouse wheel} handler, if supported by the device. * @property {boolean} [GameConfig.mspointer=true] - Starts the {@link Phaser.MSPointer Pointer Events} handler (mspointer), if supported by the device. * @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. @@ -37631,12 +37699,7 @@ Phaser.Game.prototype = { this._paused = true; this.time.gamePaused(); - - if (this.sound.muteOnPause) - { - this.sound.setMute(); - } - + this.sound.gamePaused(); this.onPause.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -37662,14 +37725,8 @@ Phaser.Game.prototype = { this._paused = false; this.time.gameResumed(); - this.input.reset(); - - if (this.sound.muteOnPause) - { - this.sound.unsetMute(); - } - + this.sound.gameResumed(); this.onResume.dispatch(event); // Avoids Cordova iOS crash event: https://github.com/photonstorm/phaser/issues/1800 @@ -38208,7 +38265,7 @@ Phaser.Input.prototype = { * @property {boolean} [keyboard=true] * @property {boolean} [maxPointers=-1] * @property {boolean} [mouse=true] - * @property {boolean} [mouseWheel=true] + * @property {boolean} [mouseWheel=false] * @property {boolean} [mspointer=true] * @property {boolean} [pointerLock=true] * @property {boolean} [touch=true] @@ -38281,7 +38338,7 @@ Phaser.Input.prototype = { this.mousePointer.active = true; - if (config.mouseWheel !== false) + if (config.mouseWheel === true) { this.mouseWheel.start(); } @@ -47558,6 +47615,7 @@ Phaser.Component.Core.init = function (game, x, y, key, frame) if (this.components.PhysicsBody) { // Enable-body checks for hasOwnProperty; makes sure to lift property from prototype. + // eslint-disable-next-line no-self-assign this.body = this.body; } @@ -81657,6 +81715,12 @@ Phaser.SoundManager = function (game) */ this.onTouchUnlock = new Phaser.Signal(); + /** + * This signal is dispatched when the AudioContext state changes, only if using Web Audio. + * @property {Phaser.Signal} onStateChange + */ + this.onStateChange = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -81778,10 +81842,16 @@ Phaser.SoundManager = function (game) this._watchContext = null; /** - * @property {function} _resumeWebAudioOnClick - Bound 'click' handler. Added in boot(), if necessary. + * @property {function} _onClick - Bound handler for 'click' on the game canvas. Added in boot(), if necessary. + * @private + */ + this._onClick = this._onClick.bind(this); + + /** + * @property {function} _onStateChange - Bound handler for 'onstatechange' on the AudioContext. Added in boot(), if necessary. * @private */ - this._resumeWebAudioOnClick = this._resumeWebAudioOnClick.bind(this); + this._onStateChange = this._onStateChange.bind(this); }; Phaser.SoundManager.prototype = { @@ -81877,13 +81947,13 @@ Phaser.SoundManager.prototype = { this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); - /* - * A suspended context is actually normal (momentarily) in Firefox. - * In that case the input handler will do nothing, which is fine. - */ + // "A newly-created AudioContext will always begin in the suspended state, and a state change event will be fired whenever the state changes to a different state." + + this.context.onstatechange = this._onStateChange; + if (this.context.state === 'suspended') { - this.game.canvas.addEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.addEventListener('click', this._onClick); } } @@ -81934,13 +82004,24 @@ Phaser.SoundManager.prototype = { }, /** - * Try to resume a suspended WebAudio context. - * - * If the context isn't suspended, or if WebAudio isn't in use, nothing is done. + * Try to resume the Web Audio context, if using Web Audio. * * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. */ resumeWebAudio: function () + { + if (this.usingWebAudio) + { + return this.context.resume(); + } + }, + + /** + * Try to resume a suspended Web Audio context, if using Web Audio and the context is suspended. + * + * @return {?Promise} - A Promise, if resume was called. See {@link https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/resume}. + */ + resumeWebAudioIfSuspended: function () { if (this.usingWebAudio && this.context.state === 'suspended') { @@ -81983,7 +82064,7 @@ Phaser.SoundManager.prototype = { this._unlockSource.onended = function unlockSourceOnEndedHandler () { _this.setTouchUnlock(); - _this.resumeWebAudio(); + _this.resumeWebAudioIfSuspended(); }; if (this._unlockSource.start === undefined) @@ -81996,7 +82077,7 @@ Phaser.SoundManager.prototype = { } // This fixes locked audio in Chrome > 55 cross origin iframes? - this.resumeWebAudio(); + this.resumeWebAudioIfSuspended(); } // We can remove the event because we've done what we needed (started the unlock sound playing) @@ -82388,6 +82469,32 @@ Phaser.SoundManager.prototype = { this.onUnMute.dispatch(); }, + /** + * Called by the game when paused. + * @private + */ + gamePaused: function () + { + if (this.muteOnPause) + { + this.setMute(); + } + }, + + /** + * Called by the game when resumed. + * @private + */ + gameResumed: function () + { + this.resumeWebAudio(); + + if (this.muteOnPause) + { + this.unsetMute(); + } + }, + /** * Stops all the sounds in the game, then destroys them and finally clears up any callbacks. * @@ -82397,12 +82504,19 @@ Phaser.SoundManager.prototype = { { this.removeAll(); + this.onMute.dispose(); this.onSoundDecode.dispose(); + this.onStateChange.dispose(); + this.onTouchUnlock.dispose(); + this.onUnMute.dispose(); + this.onVolumeChange.dispose(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); if (this.context) { + this.context.onstatechange = null; + 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 @@ -82413,14 +82527,29 @@ Phaser.SoundManager.prototype = { { this.context.close(); } + + this.context = null; } }, - _resumeWebAudioOnClick: function () + /** + * Handler for this.context.onstatechange. Copied and bound in SoundManager constructor. + * @private + */ + _onStateChange: function () { - this.resumeWebAudio(); + this.onStateChange.dispatch(this.context.state); + }, + + /** + * Handler for this.game.canvas 'click'. Copied and bound in SoundManager constructor. + * @private + */ + _onClick: function () + { + this.resumeWebAudioIfSuspended(); - this.game.canvas.removeEventListener('click', this._resumeWebAudioOnClick); + this.game.canvas.removeEventListener('click', this._onClick); } }; @@ -85319,13 +85448,51 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Game ID ' + game.id); - this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' ' + game.width + ' x ' + game.height); + this.line({1: 'Canvas', 2: 'WebGL', 3: 'Headless', 4: 'WebGL Multitexture'}[game.renderType] + ' (' + game.width + ' x ' + game.height + ')'); this.line('Paused: ' + game.paused); this.line('Stepping: ' + game.stepping + ' (' + game.stepCount + ')'); this.stop(); }, + /** + * Render game state info. + * + * Icons show (+) pending, (>) loading, (*) created. + * + * @method Phaser.Utils.Debug#state + * @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). + */ + state: function (x, y, color) + { + var state = this.game.state; + var keys = Object.keys(state.states); + + this.start(x, y, color); + + for (var i = 0; i < keys.length; i++) + { + var key = keys[i]; + + if (key === state.current) + { + this.line((state._created ? '* ' : '> ') + key); + } + else if (key === state._pendingState) + { + this.line('+ ' + key); + } + else + { + this.line(' ' + key); + } + } + + this.stop(); + }, + /** * Render Sound Manager information, including volume, mute, audio mode, and locked status. * @@ -101993,8 +102160,9 @@ Phaser.Tilemap.prototype = { }, /** - * Searches the entire map layer for the first tile matching the given index, then returns that Phaser.Tile object. - * If no match is found it returns null. + * Searches the entire map layer for the first tile or all tiles matching the given index. + * When `all` is false (the default), it returns a Phaser.Tile object or null. + * When `all` is true, it returns an array Phaser.Tile objects, or none (an empty array). * The search starts from the top-left tile and continues horizontally until it hits the end of the row, then it drops down to the next column. * If the reverse boolean is true, it scans starting from the bottom-right corner traveling up to the top-left. * diff --git a/build/phaser.map b/build/phaser.map index 1a27316bf..30ddf2fa1 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","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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","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","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","postUpdate","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","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","all","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","_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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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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","_destroyTintedTexture","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","tintedTexture","CanvasPool","removeByCanvas","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","bringChildToTop","sendChildToBack","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","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","powerPreference","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","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","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","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","AudioBufferSourceNode","noteGrainOn","noteOff","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","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","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","parseFloat","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","FLASH","FADE_OUT","FADE_IN","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","fadeEffect","fadeIn","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","postUpdate","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","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","previousStateKey","onPostUpdateCallback","_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","paramsArr","bindings","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","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_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","getFirst","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","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","maxUpdates","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","cordova","iOS","focus","stopFocus","muteOnPause","setMute","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","mouseWheel","MouseWheel","pointerLock","PointerLock","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","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","pointerCancelCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","_onMSPointerCancel","onPointerCancel","isMousePointerEvent","getPointerFromEvent","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","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","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","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","dragPoint","pointerData","pointerLocalCoord","globalToLocal","prevX","prevY","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","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_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","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","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","prop","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","animation","useFlatData","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","getBase64","encoderOptions","toDataURL","onLoadCallback","onErrorCallback","onload","onerror","addImage","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","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","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","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","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","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","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","standalone","process","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","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","isFinite","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","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","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","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","DATA","_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","addData","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkDataKey","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","getData","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","removeData","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","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","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","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","controls","autoplay","playsInline","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","char","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","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_onStateChange","disableAudio","disableWebAudio","audioContext","onstatechange","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","resumeWebAudioIfSuspended","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","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","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","gameInfo","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","free","inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","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","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","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","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","all","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","_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","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","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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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 2c9369c53..d98af8eb4 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.15.1 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.16.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 H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q=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);H=u.length;for(T=0;T!==H;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++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._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 H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;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!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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=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.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(){var t=this,e=e||{VERSION:"2.15.1",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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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.onPostUpdateCallback=e.postUpdate||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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);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()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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 e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.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 H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q=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);H=u.length;for(T=0;T!==H;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++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._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 H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;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!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.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)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=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.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},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=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.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(){var t=this,e=e||{VERSION:"2.16.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("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),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,i,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=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.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,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.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(e.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(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.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},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.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},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.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 e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.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 e.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 e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.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 e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(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},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.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},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.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 e.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,i){return e.Point.distance(this,t,i)},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,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,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=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.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(e.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(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.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(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.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)},e.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}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.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 e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.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 e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.FLASH=0,e.Camera.FADE_OUT=1,e.Camera.FADE_IN=2,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.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,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.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,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_OUT)},fadeIn:function(t,i,s,n){return this.fadeEffect(t,i,s,n,e.Camera.FADE_IN)},fadeEffect:function(t,i,s,n,r){if(void 0===t&&(t=0),void 0===i&&(i=500),void 0===s&&(s=!1),void 0===n&&(n=1),!this.fx||!s&&this._fxDuration>0)return!1;if(this.fx.clear(),this.fx.beginFill(t,n),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),r<1||r>2)throw new Error("Wrong `type` argument");return this.fx.alpha=r===e.Camera.FADE_IN?1:0,this._fxDuration=i,this._fxType=r,!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(){this._fxType===e.Camera.FLASH?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):this._fxType===e.Camera.FADE_IN?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFadeComplete.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}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.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(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.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},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.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},e.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,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(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){if(this.clearCurrentState(),this.setCurrentState(this._pendingState),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.current,i=this.states[t];this.callbackContext=i,this.link(t),this.onInitCallback=i.init||this.dummy,this.onPreloadCallback=i.preload||null,this.onLoadRenderCallback=i.loadRender||null,this.onLoadUpdateCallback=i.loadUpdate||null,this.onCreateCallback=i.create||null,this.onUpdateCallback=i.update||null,this.onPostUpdateCallback=i.postUpdate||null,this.onPreRenderCallback=i.preRender||null,this.onRenderCallback=i.render||null,this.onResizeCallback=i.resize||null,this.onPausedCallback=i.paused||null,this.onResumedCallback=i.resumed||null,this.onPauseUpdateCallback=i.pauseUpdate||null,this.onShutDownCallback=i.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onStateChange.dispatch(this.current,e),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.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},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)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.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===e.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.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.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,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,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)},e.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)},e.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===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.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},e.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},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.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},e.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},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))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},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.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)},e.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=this.children.length,a=0;a2){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()}},e.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},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.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 e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.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}},e.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()}},e.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)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.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(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.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(e.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(e.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(e.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(e.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(e.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}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.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)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.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()},e.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))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.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 i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(i*this.maxUpdates,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},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.preUpdate(),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.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.preRender(),this.state.preRender(t),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.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.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.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.gamePaused(),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.gameResumed(),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.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&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)}}),e.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=e.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 e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!0===t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.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>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},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+i.x=a&&this.game.camera.y+i.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}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.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===i,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 e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.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,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},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 i=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),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.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===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.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,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!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.pointerLock.locked&&!i&&(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===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.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,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!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 i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=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&&i.currentPointers--,i.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=e.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){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!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)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.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 e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.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 i=!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}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.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},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.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)},e.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}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||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===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.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(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,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,i)}r&&(this._frame=e.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}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.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))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.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)}}},e.Component.Reset=function(){},e.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},e.Component.ScaleMinMax=function(){},e.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,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,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,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.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 e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.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)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.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)},e.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())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.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},e.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)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.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)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.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")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.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())},e.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&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*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,i,s){s||(s=e.Color.createColor());var n=~~(t+i*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,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),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 i=e.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{e.Color.unpackPixel(this.getPixel32(s,n),i),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===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.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,i,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 e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.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 e.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 e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),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)return this;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+i,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,i,s){if(void 0===i&&(i=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 e.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,i&&(this.op=i),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,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.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,i.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),e.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 e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.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=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.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&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.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&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.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},e.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},e.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},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.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},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.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)},e.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,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.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===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.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,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.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}},e.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},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.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 e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.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},e.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},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=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},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.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},e.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()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.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}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.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=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.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===e.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 e.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 e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.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},e.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)},e.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++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.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)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.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,"")},e.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},e.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()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?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+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.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(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).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(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.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)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=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===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.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},e.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},e.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},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.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(e.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(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.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=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.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;for(var n=t.length,r=0,o=0,a=0;a0){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()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.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(e.Rope.prototype,"segments",{get:function(){for(var t,i,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(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=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&&i(),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.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,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=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.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]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.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"))},e.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))))))},e.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)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,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,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),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 i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},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=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=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}},e.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)},e.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(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.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)},e.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 e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.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 e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},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}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.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," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.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)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.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},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.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 e.TweenData(this).from(t,i,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])),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 e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*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():e.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,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.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,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.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){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(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-e.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*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.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 e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.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 i=new e.Timer(this.game,t);return this._timers.push(i),i},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}},preUpdate:function(){this.advancedTiming&&this.updates++},preRender: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(e.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}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.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},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,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(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.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},e.TimerEvent.prototype.constructor=e.TimerEvent,e.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=[]},e.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,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.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}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},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(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,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 e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.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=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(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||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.updateCurrentFrame(!1),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()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.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(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.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(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,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=e.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},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},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 e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.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 e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.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:{},data:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._cacheMap[e.Cache.DATA]=this._cache.data,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DATA=16,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,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,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.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(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.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,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,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?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.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,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,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:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},addData:function(t,e){this._cache.data[t]=e},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 i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.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(e.Cache.CANVAS,t)},checkDataKey:function(t){return this.checkKey(e.Cache.DATA,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.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,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];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+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getData:function(t){return this.getItem(t,e.Cache.DATA,"getData")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},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=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},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]},removeData:function(t){delete this._cache.data[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.",i),t._ready())},e.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)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.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 e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.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},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.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.game.state&&(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),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 i=t.data[t.key];if(i)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,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.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,i.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===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.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=i.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=i.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=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.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=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.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(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.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;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=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]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),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}},e.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])},e.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]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,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=i,this.key=i,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.playOnce=!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._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,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(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.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},e.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._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),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(){if(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));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===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._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&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._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,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._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!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.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){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),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,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.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())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.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(e.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))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.onStateChange=new e.Signal,this.context=null,this.baseLatency=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 e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._onClick=this._onClick.bind(this),this._onStateChange=this._onStateChange.bind(this)},e.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{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),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.context.onstatechange=this._onStateChange,"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._onClick);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()},resumeWebAudio:function(){if(this.usingWebAudio)return this.context.resume()},resumeWebAudioIfSuspended:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},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);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudioIfSuspended()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudioIfSuspended()}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 i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||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))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.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(e.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(e.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(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",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},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.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=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.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;e ")+o):o===s._pendingState?this.line("+ "+o):this.line(" "+o)}this.stop()},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){if(this.start(e,i,s),this.line("Sound: "+t.key+" Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+" Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+" Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+" Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")),t.usingWebAudio&&this.line(" Source: "+(t.sourceId||"none")),t.usingAudioTag&&t._sound){var n=t._sound;this.line(" currentSrc: "+n.currentSrc),this.line(" currentTime: "+n.currentTime),this.line(" duration: "+n.duration),this.line(" ended: "+n.ended),this.line(" loop: "+n.loop),this.line(" muted: "+n.muted),this.line(" paused: "+n.paused)}""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+" Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start.toFixed(3)+" Stop: "+t.markers[t.currentMarker].stop.toFixed(3)),this.line("Position: "+t.position.toFixed(3))),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Center: x: "+t.centerX+" y: "+t.centerY),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),this.line("Identifier: "+t.identifier+" Pointer ID: "+t.pointerId),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line(" "+this._inputHandler(r.mouse,"mouse")),this.line(" "+this._inputHandler(r.mspointer,"mspointer")),this.line(" "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes,l=0,c=0;this.line("Pointers:"),this.line(" "+(a.isDown?"x":"o")+" "+h[a.pointerMode]+" "+a.identifier);for(var u=0;u0)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 e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=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(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.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(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.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(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.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,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},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,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,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=(i-s)/a+(i1&&(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,i,s,n,r,o,a,h){var l={r:t||0,g:i||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 e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.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,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){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);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);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=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.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=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.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 i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.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,i){return e.Color.blendOverlay(i,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,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.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()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.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}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.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=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.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()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.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,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.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,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.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===e.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(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.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)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.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,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.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:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.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),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.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)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.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,i,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 e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(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,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},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,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,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)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.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 e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.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=e.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 e.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 e.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},e.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=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.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,i,s){var n=i/(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),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),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,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},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 e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.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)},e.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)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.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}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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)},e.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,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,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 e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.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 e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,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,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,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 e.Physics.P2.Body?t.data:t.body&&t.body.type===e.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,i,s,n){void 0===i&&(i=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=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.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(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.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}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.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(e.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(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.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,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.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;n=0?dp;n=p>=0?++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"}}),e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.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},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.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)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.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)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.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)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.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)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.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)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.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},e.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}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,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)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.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,i,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!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.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 e.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===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=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:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,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:i,height:s,widthInPixels:i*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 e.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,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}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,n){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var r,o,a=0,h=this.layers[s].height,l=this.layers[s].width,c=this.layers[s].data;if(n)var u=[];if(i)for(d=h-1;d>=0;d--){r=c[d];for(p=l-1;p>=0;p--)if((o=r[p]).index===t)if(a>=e){if(!n)return o;u.push(o)}else a++}else for(var d=0;d=e){if(!n)return o;u.push(o)}else a++}return n?u:null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=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}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.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=e.TILEMAPLAYER,this.physicsType=e.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:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.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},e.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)},e.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)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.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},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.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)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.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)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.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))}}}},e.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)}},e.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)},e.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(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,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===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',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 e.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.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)}i.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()},e.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},e.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},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.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()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.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},e.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(e.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(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.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 e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,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(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.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()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.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},e.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},e.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},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.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!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.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===e.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+=e.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},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.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},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.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},e.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(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.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(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.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))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.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,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);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(e.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 e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.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"),this.video.setAttribute("playsinline","playsinline"),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:void 0!==this.video.srcObject?this.video.srcObject=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.setAttribute("playsinline","playsinline"),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.setAttribute("playsinline","playsinline"),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.srcObject?(this.video.srcObject.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.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.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(e.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(e.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(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.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(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index 22ffbae49..64c649393 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 65 + src/gameobjects/Creature.js line 65 @@ -589,9 +589,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -637,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index 737c02b8c..3c9167db4 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Event.html b/docs/Event.html index e29ae88a2..bb3a085d5 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 222 + src/plugins/path/EventTarget.js line 222 @@ -392,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 274 + src/plugins/path/EventTarget.js line 274 @@ -469,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 256 + src/plugins/path/EventTarget.js line 256 @@ -546,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 286 + src/plugins/path/EventTarget.js line 286 @@ -623,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -656,9 +656,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -704,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index 2e85a56a4..c02a85842 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index 1dc1fed3d..4b6018f74 100644 --- a/docs/PIXI.BaseTexture.html +++ b/docs/PIXI.BaseTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: BaseTexture - + @@ -312,7 +312,7 @@

Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -417,7 +417,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -494,7 +494,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -656,7 +656,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -733,7 +733,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -817,7 +817,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -896,7 +896,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -979,7 +979,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1133,7 +1133,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1211,7 +1211,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 160 + src/pixi/textures/BaseTexture.js line 160 @@ -1295,7 +1295,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 177 + src/pixi/textures/BaseTexture.js line 177 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 143 + src/pixi/textures/BaseTexture.js line 143 @@ -1665,7 +1665,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 217 + src/pixi/textures/BaseTexture.js line 217 @@ -1770,7 +1770,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 190 + src/pixi/textures/BaseTexture.js line 190 @@ -1813,9 +1813,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1832,7 +1832,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1861,7 +1861,7 @@

- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index 5b3db7671..bd39aa879 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -917,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 2656ff3f6..f093eacba 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index b7b7df57d..ddbc8f56c 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index 126f4534c..2363a6419 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 121 + src/pixi/renderers/canvas/CanvasRenderer.js line 121 @@ -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 128 + src/pixi/renderers/canvas/CanvasRenderer.js line 128 @@ -932,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 113 + src/pixi/renderers/canvas/CanvasRenderer.js line 113 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 135 + src/pixi/renderers/canvas/CanvasRenderer.js line 135 @@ -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 207 + src/pixi/renderers/canvas/CanvasRenderer.js line 207 @@ -1686,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 156 + src/pixi/renderers/canvas/CanvasRenderer.js line 156 @@ -1844,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 228 + src/pixi/renderers/canvas/CanvasRenderer.js line 228 @@ -1887,9 +1887,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1935,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 878ca25fd..62a7ed008 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 72 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 72 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index 458c1ace9..92645db3a 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 112 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 112 @@ -720,7 +720,7 @@

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index cef2c49aa..ffc583d91 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 791 + src/pixi/display/DisplayObject.js line 791 @@ -459,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -541,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -628,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -708,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -788,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -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 108 + src/pixi/display/DisplayObject.js line 108 @@ -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 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -1356,7 +1356,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -1438,7 +1438,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -1602,7 +1602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -1684,7 +1684,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -1761,7 +1761,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -1997,7 +1997,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -2233,7 +2233,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -2343,7 +2343,7 @@

Source:
- src/pixi/display/DisplayObject.js line 433 + src/pixi/display/DisplayObject.js line 433 @@ -2477,7 +2477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -2681,7 +2681,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -2791,7 +2791,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -3040,9 +3040,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3059,7 +3059,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3088,7 +3088,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index d6f6ab0dd..491eb073b 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 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -663,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -740,7 +740,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -836,7 +836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -915,7 +915,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -1093,7 +1093,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1180,7 +1180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1268,7 +1268,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1355,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1632,7 +1632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -1709,7 +1709,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -1801,7 +1801,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -1892,7 +1892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -1983,7 +1983,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2165,7 +2165,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -2251,7 +2251,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -2553,7 +2553,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -2735,7 +2735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -2893,7 +2893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -3008,7 +3008,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -3253,7 +3253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -3428,7 +3428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -3586,7 +3586,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -3744,7 +3744,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -3852,7 +3852,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -3969,7 +3969,7 @@

Source:
- src/pixi/display/DisplayObject.js line 433 + src/pixi/display/DisplayObject.js line 433 @@ -4103,7 +4103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -4261,7 +4261,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -4443,7 +4443,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -4601,7 +4601,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -4759,7 +4759,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -4902,7 +4902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -5115,7 +5115,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -5234,7 +5234,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -5428,7 +5428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -5497,9 +5497,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -5516,7 +5516,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -5545,7 +5545,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index d66b50609..180aa21e9 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 66 + src/pixi/renderers/webgl/utils/FilterTexture.js line 66 @@ -399,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -472,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 74 + src/pixi/renderers/webgl/utils/FilterTexture.js line 74 @@ -545,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 88 + src/pixi/renderers/webgl/utils/FilterTexture.js line 88 @@ -623,7 +623,7 @@

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -956,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index a7d57fabd..a47db7ae7 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 8edb1315f..0b85c09f1 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 49 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 49 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 23 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 30 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 136 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 136 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 96 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 96 @@ -713,7 +713,7 @@

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index 0f224c462..49d5ff3f4 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 496 + src/pixi/renderers/webgl/shaders/PixiShader.js line 496 @@ -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 476 + src/pixi/renderers/webgl/shaders/PixiShader.js line 476 @@ -874,7 +874,7 @@

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

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

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index f0bd898a2..1ac93babe 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.Sprite.html b/docs/PIXI.Sprite.html index d819953c9..3deefe937 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 127 + src/pixi/display/Sprite.js line 127 @@ -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 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -1098,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1457,7 +1457,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -1546,7 +1546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1721,7 +1721,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1813,7 +1813,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -1902,7 +1902,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -2153,7 +2153,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2237,7 +2237,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2420,7 +2420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -2506,7 +2506,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -2598,7 +2598,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -2689,7 +2689,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2967,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -3053,7 +3053,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -3140,7 +3140,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -3555,7 +3555,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -3722,7 +3722,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -3837,7 +3837,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -4082,7 +4082,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -4253,7 +4253,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -4420,7 +4420,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -4587,7 +4587,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -4700,7 +4700,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -4817,7 +4817,7 @@

Source:
- src/pixi/display/DisplayObject.js line 433 + src/pixi/display/DisplayObject.js line 433 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -5127,7 +5127,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -5318,7 +5318,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -5676,7 +5676,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -5843,7 +5843,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -5986,7 +5986,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6199,7 +6199,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -6318,7 +6318,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -6507,7 +6507,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -6576,9 +6576,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6595,7 +6595,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6624,7 +6624,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index 6f50a6744..afb1961d7 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 86 + src/pixi/renderers/webgl/shaders/StripShader.js line 86 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 50 + src/pixi/renderers/webgl/shaders/StripShader.js line 50 @@ -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 106 + src/pixi/renderers/webgl/shaders/StripShader.js line 106 @@ -713,7 +713,7 @@

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.Texture.html b/docs/PIXI.Texture.html index 62d9c6f9b..c695b94a3 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 173 + src/pixi/textures/Texture.js line 173 @@ -1582,7 +1582,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 283 + src/pixi/textures/Texture.js line 283 @@ -1736,7 +1736,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 186 + src/pixi/textures/Texture.js line 186 @@ -1779,9 +1779,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1827,7 +1827,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 6b6011260..28e4a0d17 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -764,7 +764,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index 43dce9f2c..a0b6cd3fb 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 99 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 99 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 93 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 93 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 105 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 105 @@ -496,7 +496,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 87 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 87 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 65 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 65 @@ -646,7 +646,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 53 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 53 @@ -719,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 71 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 71 @@ -792,7 +792,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 123 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 123 @@ -865,7 +865,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 27 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 27 @@ -938,7 +938,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 111 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 111 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 117 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 117 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 33 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 33 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 59 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 59 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 46 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 46 @@ -1307,7 +1307,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 21 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 21 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 154 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 154 @@ -1535,7 +1535,7 @@

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

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 377 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 377 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 177 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 177 @@ -1875,7 +1875,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 215 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 215 @@ -2009,7 +2009,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 130 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 130 @@ -2089,7 +2089,7 @@

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 252b4bb6b..a2505d56f 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 353 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 353 @@ -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 463 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 463 @@ -945,7 +945,7 @@

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

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 149 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 149 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1388,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index 2662469a5..8dae4e84c 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 187 + src/pixi/renderers/webgl/WebGLRenderer.js line 187 @@ -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 199 + src/pixi/renderers/webgl/WebGLRenderer.js line 199 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 173 + src/pixi/renderers/webgl/WebGLRenderer.js line 173 @@ -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 108 + src/pixi/renderers/webgl/WebGLRenderer.js line 108 @@ -876,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 166 + src/pixi/renderers/webgl/WebGLRenderer.js line 166 @@ -949,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 143 + src/pixi/renderers/webgl/WebGLRenderer.js line 143 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 92 + src/pixi/renderers/webgl/WebGLRenderer.js line 92 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1176,7 +1176,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 137 + src/pixi/renderers/webgl/WebGLRenderer.js line 137 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 193 + src/pixi/renderers/webgl/WebGLRenderer.js line 193 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 152 + src/pixi/renderers/webgl/WebGLRenderer.js line 152 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 159 + src/pixi/renderers/webgl/WebGLRenderer.js line 159 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 180 + src/pixi/renderers/webgl/WebGLRenderer.js line 180 @@ -1641,7 +1641,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 116 + src/pixi/renderers/webgl/WebGLRenderer.js line 116 @@ -1868,7 +1868,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 100 + src/pixi/renderers/webgl/WebGLRenderer.js line 100 @@ -1946,7 +1946,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 598 + src/pixi/renderers/webgl/WebGLRenderer.js line 598 @@ -2026,7 +2026,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 226 + src/pixi/renderers/webgl/WebGLRenderer.js line 226 @@ -2110,7 +2110,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 630 + src/pixi/renderers/webgl/WebGLRenderer.js line 630 @@ -2244,7 +2244,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 378 + src/pixi/renderers/webgl/WebGLRenderer.js line 378 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 413 + src/pixi/renderers/webgl/WebGLRenderer.js line 413 @@ -2584,7 +2584,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 450 + src/pixi/renderers/webgl/WebGLRenderer.js line 450 @@ -2729,7 +2729,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 280 + src/pixi/renderers/webgl/WebGLRenderer.js line 280 @@ -2887,7 +2887,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 477 + src/pixi/renderers/webgl/WebGLRenderer.js line 477 @@ -3045,7 +3045,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 537 + src/pixi/renderers/webgl/WebGLRenderer.js line 537 @@ -3112,9 +3112,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3131,7 +3131,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3160,7 +3160,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 4c03cd741..a073f24cc 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1027,7 +1027,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index fceaa4f7f..f448f335b 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 782 + src/animation/Animation.js line 782 @@ -810,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 725 + src/animation/Animation.js line 725 @@ -887,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 711 + src/animation/Animation.js line 711 @@ -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 661 + src/animation/Animation.js line 661 @@ -2049,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 693 + src/animation/Animation.js line 693 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 761 + src/animation/Animation.js line 761 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 808 @@ -2533,7 +2533,7 @@

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

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

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

Source:
- src/animation/Animation.js line 375 + src/animation/Animation.js line 375 @@ -3175,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 166 + src/animation/Animation.js line 166 @@ -3355,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 555 + src/animation/Animation.js line 555 @@ -3439,7 +3439,7 @@

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

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

Source:
- src/animation/Animation.js line 259 + src/animation/Animation.js line 259 @@ -3852,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 274 + src/animation/Animation.js line 274 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 332 + src/animation/Animation.js line 332 @@ -4131,7 +4131,7 @@

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -4356,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index 165e5e3f1..52a1d7bec 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 485 + src/animation/AnimationManager.js line 485 @@ -568,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 426 + src/animation/AnimationManager.js line 426 @@ -645,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 509 + src/animation/AnimationManager.js line 509 @@ -722,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 440 + src/animation/AnimationManager.js line 440 @@ -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 472 + src/animation/AnimationManager.js line 472 @@ -1030,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 454 + src/animation/AnimationManager.js line 454 @@ -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 165 + src/animation/AnimationManager.js line 165 @@ -1605,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 395 + src/animation/AnimationManager.js line 395 @@ -1739,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 360 + src/animation/AnimationManager.js line 360 @@ -1917,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 330 + src/animation/AnimationManager.js line 330 @@ -2191,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 244 + src/animation/AnimationManager.js line 244 @@ -2369,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 345 + src/animation/AnimationManager.js line 345 @@ -2453,7 +2453,7 @@

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3061,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 27ba95090..e7641512c 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 180 + src/animation/AnimationParser.js line 180 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 295 + src/animation/AnimationParser.js line 295 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 238 + src/animation/AnimationParser.js line 238 @@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 356 + src/animation/AnimationParser.js line 356 @@ -1421,9 +1421,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1440,7 +1440,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1469,7 +1469,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index aaa6c58eb..bf1a8ad35 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 222 + src/utils/ArraySet.js line 222 @@ -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 246 + src/utils/ArraySet.js line 246 @@ -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 207 + src/utils/ArraySet.js line 207 @@ -795,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 37 + src/utils/ArraySet.js line 37 @@ -999,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 151 + src/utils/ArraySet.js line 151 @@ -1133,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 91 + src/utils/ArraySet.js line 91 @@ -1316,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 67 + src/utils/ArraySet.js line 67 @@ -1474,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 55 + src/utils/ArraySet.js line 55 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 113 + src/utils/ArraySet.js line 113 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 176 + src/utils/ArraySet.js line 176 @@ -1894,7 +1894,7 @@

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2143,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index 1701ff57d..b2227877e 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 193 + src/utils/ArrayUtils.js line 193 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -774,7 +774,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 267 + src/utils/ArrayUtils.js line 267 @@ -1030,7 +1030,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 304 + src/utils/ArrayUtils.js line 304 @@ -1304,7 +1304,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 72 + src/utils/ArrayUtils.js line 72 @@ -1521,7 +1521,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 38 + src/utils/ArrayUtils.js line 38 @@ -1683,7 +1683,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 246 + src/utils/ArrayUtils.js line 246 @@ -1869,7 +1869,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 153 + src/utils/ArrayUtils.js line 153 @@ -2031,7 +2031,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 225 + src/utils/ArrayUtils.js line 225 @@ -2189,7 +2189,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 106 + src/utils/ArrayUtils.js line 106 @@ -2347,7 +2347,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 126 + src/utils/ArrayUtils.js line 126 @@ -2414,9 +2414,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2433,7 +2433,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2462,7 +2462,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index b074d39bc..eeae9dbcf 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 112 + src/sound/AudioSprite.js line 112 @@ -1089,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 76 + src/sound/AudioSprite.js line 76 @@ -1267,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 91 + src/sound/AudioSprite.js line 91 @@ -1310,9 +1310,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1358,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index 672f190dd..31d3d5e3c 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 122 + src/gameobjects/BitmapData.js line 122 @@ -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 157 + src/gameobjects/BitmapData.js line 157 @@ -975,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 152 + src/gameobjects/BitmapData.js line 152 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 133 + src/gameobjects/BitmapData.js line 133 @@ -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 2478 + src/gameobjects/BitmapData.js line 2478 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 2460 + src/gameobjects/BitmapData.js line 2460 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 128 + src/gameobjects/BitmapData.js line 128 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 139 + src/gameobjects/BitmapData.js line 139 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 147 + src/gameobjects/BitmapData.js line 147 @@ -1978,7 +1978,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2496 + src/gameobjects/BitmapData.js line 2496 @@ -2394,7 +2394,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 387 + src/gameobjects/BitmapData.js line 387 @@ -2772,7 +2772,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1232 + src/gameobjects/BitmapData.js line 1232 @@ -3078,7 +3078,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1780 + src/gameobjects/BitmapData.js line 1780 @@ -3186,7 +3186,7 @@

Source:
- src/gameobjects/BitmapData.js line 2240 + src/gameobjects/BitmapData.js line 2240 @@ -3294,7 +3294,7 @@

Source:
- src/gameobjects/BitmapData.js line 2408 + src/gameobjects/BitmapData.js line 2408 @@ -3402,7 +3402,7 @@

Source:
- src/gameobjects/BitmapData.js line 2324 + src/gameobjects/BitmapData.js line 2324 @@ -3510,7 +3510,7 @@

Source:
- src/gameobjects/BitmapData.js line 2312 + src/gameobjects/BitmapData.js line 2312 @@ -3618,7 +3618,7 @@

Source:
- src/gameobjects/BitmapData.js line 2288 + src/gameobjects/BitmapData.js line 2288 @@ -3726,7 +3726,7 @@

Source:
- src/gameobjects/BitmapData.js line 2216 + src/gameobjects/BitmapData.js line 2216 @@ -3834,7 +3834,7 @@

Source:
- src/gameobjects/BitmapData.js line 2192 + src/gameobjects/BitmapData.js line 2192 @@ -3942,7 +3942,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2180 + src/gameobjects/BitmapData.js line 2180 @@ -4158,7 +4158,7 @@

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

Source:
- src/gameobjects/BitmapData.js line 2372 + src/gameobjects/BitmapData.js line 2372 @@ -4374,7 +4374,7 @@

Source:
- src/gameobjects/BitmapData.js line 2336 + src/gameobjects/BitmapData.js line 2336 @@ -4482,7 +4482,7 @@

Source:
- src/gameobjects/BitmapData.js line 2384 + src/gameobjects/BitmapData.js line 2384 @@ -4590,7 +4590,7 @@

Source:
- src/gameobjects/BitmapData.js line 2300 + src/gameobjects/BitmapData.js line 2300 @@ -4698,7 +4698,7 @@

Source:
- src/gameobjects/BitmapData.js line 2420 + src/gameobjects/BitmapData.js line 2420 @@ -4806,7 +4806,7 @@

Source:
- src/gameobjects/BitmapData.js line 2252 + src/gameobjects/BitmapData.js line 2252 @@ -4914,7 +4914,7 @@

Source:
- src/gameobjects/BitmapData.js line 2276 + src/gameobjects/BitmapData.js line 2276 @@ -5022,7 +5022,7 @@

Source:
- src/gameobjects/BitmapData.js line 2120 + src/gameobjects/BitmapData.js line 2120 @@ -5130,7 +5130,7 @@

Source:
- src/gameobjects/BitmapData.js line 2396 + src/gameobjects/BitmapData.js line 2396 @@ -5238,7 +5238,7 @@

Source:
- src/gameobjects/BitmapData.js line 2264 + src/gameobjects/BitmapData.js line 2264 @@ -5346,7 +5346,7 @@

Source:
- src/gameobjects/BitmapData.js line 2348 + src/gameobjects/BitmapData.js line 2348 @@ -5454,7 +5454,7 @@

Source:
- src/gameobjects/BitmapData.js line 2168 + src/gameobjects/BitmapData.js line 2168 @@ -5562,7 +5562,7 @@

Source:
- src/gameobjects/BitmapData.js line 2144 + src/gameobjects/BitmapData.js line 2144 @@ -5670,7 +5670,7 @@

Source:
- src/gameobjects/BitmapData.js line 2156 + src/gameobjects/BitmapData.js line 2156 @@ -5778,7 +5778,7 @@

Source:
- src/gameobjects/BitmapData.js line 2132 + src/gameobjects/BitmapData.js line 2132 @@ -5886,7 +5886,7 @@

Source:
- src/gameobjects/BitmapData.js line 2228 + src/gameobjects/BitmapData.js line 2228 @@ -6152,7 +6152,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1929 + src/gameobjects/BitmapData.js line 1929 @@ -6450,7 +6450,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 455 + src/gameobjects/BitmapData.js line 455 @@ -6558,7 +6558,7 @@

Source:
- src/gameobjects/BitmapData.js line 449 + src/gameobjects/BitmapData.js line 449 @@ -7366,7 +7366,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1257 + src/gameobjects/BitmapData.js line 1257 @@ -7607,7 +7607,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2432 + src/gameobjects/BitmapData.js line 2432 @@ -8027,7 +8027,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1584 + src/gameobjects/BitmapData.js line 1584 @@ -8298,7 +8298,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1477 + src/gameobjects/BitmapData.js line 1477 @@ -8406,7 +8406,7 @@

Source:
- src/gameobjects/BitmapData.js line 2106 + src/gameobjects/BitmapData.js line 2106 @@ -8807,7 +8807,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1602 + src/gameobjects/BitmapData.js line 1602 @@ -9085,7 +9085,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1692 + src/gameobjects/BitmapData.js line 1692 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1629 + src/gameobjects/BitmapData.js line 1629 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1813 + src/gameobjects/BitmapData.js line 1813 @@ -10115,7 +10115,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 485 + src/gameobjects/BitmapData.js line 485 @@ -10371,7 +10371,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 548 + src/gameobjects/BitmapData.js line 548 @@ -10578,7 +10578,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 506 + src/gameobjects/BitmapData.js line 506 @@ -10758,7 +10758,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1205 + src/gameobjects/BitmapData.js line 1205 @@ -10942,7 +10942,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1123 + src/gameobjects/BitmapData.js line 1123 @@ -11216,7 +11216,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 521 + src/gameobjects/BitmapData.js line 521 @@ -11461,7 +11461,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1044 + src/gameobjects/BitmapData.js line 1044 @@ -11646,7 +11646,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1074 + src/gameobjects/BitmapData.js line 1074 @@ -11976,7 +11976,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1093 + src/gameobjects/BitmapData.js line 1093 @@ -12134,7 +12134,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1111 + src/gameobjects/BitmapData.js line 1111 @@ -12496,7 +12496,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1957 + src/gameobjects/BitmapData.js line 1957 @@ -12675,7 +12675,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 415 + src/gameobjects/BitmapData.js line 415 @@ -12926,7 +12926,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 237 + src/gameobjects/BitmapData.js line 237 @@ -13141,7 +13141,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 263 + src/gameobjects/BitmapData.js line 263 @@ -13356,7 +13356,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 325 + src/gameobjects/BitmapData.js line 325 @@ -13660,7 +13660,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1990 + src/gameobjects/BitmapData.js line 1990 @@ -14030,7 +14030,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 765 + src/gameobjects/BitmapData.js line 765 @@ -14403,7 +14403,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 708 + src/gameobjects/BitmapData.js line 708 @@ -14701,7 +14701,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1865 + src/gameobjects/BitmapData.js line 1865 @@ -14811,7 +14811,7 @@

Source:
- src/gameobjects/BitmapData.js line 2087 + src/gameobjects/BitmapData.js line 2087 @@ -15238,7 +15238,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 818 + src/gameobjects/BitmapData.js line 818 @@ -15420,7 +15420,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 622 + src/gameobjects/BitmapData.js line 622 @@ -15716,7 +15716,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 867 + src/gameobjects/BitmapData.js line 867 @@ -16074,7 +16074,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1027 + src/gameobjects/BitmapData.js line 1027 @@ -16468,7 +16468,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 989 + src/gameobjects/BitmapData.js line 989 @@ -16764,7 +16764,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1749 + src/gameobjects/BitmapData.js line 1749 @@ -17062,7 +17062,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 927 + src/gameobjects/BitmapData.js line 927 @@ -17430,7 +17430,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1888 + src/gameobjects/BitmapData.js line 1888 @@ -17683,7 +17683,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2038 + src/gameobjects/BitmapData.js line 2038 @@ -17984,7 +17984,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 665 + src/gameobjects/BitmapData.js line 665 @@ -18051,9 +18051,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -18070,7 +18070,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -18099,7 +18099,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index 3ca9b6d36..bfcdd5d7b 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 558 + src/gameobjects/BitmapText.js line 558 @@ -724,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 152 + src/gameobjects/components/Core.js line 153 @@ -2162,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 159 + src/gameobjects/BitmapText.js line 159 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 177 + src/gameobjects/components/Core.js line 178 @@ -2511,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 276 + src/gameobjects/components/Core.js line 277 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2688,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 602 + src/gameobjects/BitmapText.js line 602 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 625 + src/gameobjects/BitmapText.js line 625 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 241 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3194,7 +3194,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3290,7 +3290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3378,7 +3378,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3465,7 +3465,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3556,7 +3556,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3735,7 +3735,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -3837,7 +3837,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -3924,7 +3924,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4001,7 +4001,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -4091,7 +4091,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4180,7 +4180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4261,7 +4261,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 671 + src/gameobjects/BitmapText.js line 671 @@ -4348,7 +4348,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4436,7 +4436,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4524,7 +4524,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4610,7 +4610,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4697,7 +4697,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4786,7 +4786,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4875,7 +4875,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -4952,7 +4952,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -5039,7 +5039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5127,7 +5127,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5213,7 +5213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5386,7 +5386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5473,7 +5473,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5649,7 +5649,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5738,7 +5738,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5817,7 +5817,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 702 + src/gameobjects/BitmapText.js line 702 @@ -5894,7 +5894,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -5971,7 +5971,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -6048,7 +6048,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -6125,7 +6125,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6289,7 +6289,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6388,7 +6388,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6474,7 +6474,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6562,7 +6562,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -6654,7 +6654,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6745,7 +6745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6836,7 +6836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6927,7 +6927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7018,7 +7018,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7104,7 +7104,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7196,7 +7196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7288,7 +7288,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7377,7 +7377,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -7514,7 +7514,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7705,7 +7705,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8048,7 +8048,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -8392,7 +8392,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8608,7 +8608,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 315 + src/gameobjects/BitmapText.js line 315 @@ -8775,7 +8775,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -8895,7 +8895,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -9140,7 +9140,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -9324,7 +9324,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -9491,7 +9491,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -9658,7 +9658,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -9775,7 +9775,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -9896,7 +9896,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -10009,7 +10009,7 @@

Source:
- src/gameobjects/BitmapText.js line 202 + src/gameobjects/BitmapText.js line 202 @@ -10098,7 +10098,7 @@

Source:
- src/gameobjects/BitmapText.js line 192 + src/gameobjects/BitmapText.js line 192 @@ -10215,7 +10215,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -10304,7 +10304,7 @@

Source:
- src/gameobjects/BitmapText.js line 480 + src/gameobjects/BitmapText.js line 480 @@ -10471,7 +10471,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -10829,7 +10829,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -11068,7 +11068,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11257,7 +11257,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -11448,7 +11448,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -11583,7 +11583,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 220 + src/gameobjects/BitmapText.js line 220 @@ -11750,7 +11750,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -11893,7 +11893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -12106,7 +12106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -12227,7 +12227,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -12320,7 +12320,7 @@

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -12408,7 +12408,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -12437,7 +12437,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index b99e3aa0d..c86a69cf1 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3018,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3646,7 +3646,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3733,7 +3733,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3917,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4003,7 +4003,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4105,7 +4105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -4192,7 +4192,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4465,7 +4465,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4552,7 +4552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4640,7 +4640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4728,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4814,7 +4814,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4990,7 +4990,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5252,7 +5252,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -5512,7 +5512,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5686,7 +5686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5867,7 +5867,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5956,7 +5956,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6044,7 +6044,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6132,7 +6132,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6400,7 +6400,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6493,7 +6493,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6845,7 +6845,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6931,7 +6931,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7035,7 +7035,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7121,7 +7121,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7209,7 +7209,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -7301,7 +7301,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7392,7 +7392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7483,7 +7483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7574,7 +7574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7665,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7751,7 +7751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7838,7 +7838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7925,7 +7925,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8014,7 +8014,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -8151,7 +8151,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8342,7 +8342,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8685,7 +8685,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9029,7 +9029,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9149,7 +9149,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9542,7 +9542,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9686,7 +9686,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9805,7 +9805,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10050,7 +10050,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10225,7 +10225,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10392,7 +10392,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10559,7 +10559,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10676,7 +10676,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -10843,7 +10843,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -10957,7 +10957,7 @@

Source:
- src/plugins/weapon/Bullet.js line 42 + src/plugins/weapon/Bullet.js line 42 @@ -11218,7 +11218,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11314,7 +11314,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11434,7 +11434,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11617,7 +11617,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11923,7 +11923,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12040,7 +12040,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -12133,7 +12133,7 @@

Source:
- src/gameobjects/Sprite.js line 106 + src/gameobjects/Sprite.js line 106 @@ -12250,7 +12250,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -12393,7 +12393,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12560,7 +12560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -12751,7 +12751,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -12990,7 +12990,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13107,7 +13107,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13300,7 +13300,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13465,7 +13465,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13585,7 +13585,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -13776,7 +13776,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -13920,7 +13920,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14064,7 +14064,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14325,7 +14325,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -14525,7 +14525,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -14692,7 +14692,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14835,7 +14835,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15048,7 +15048,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15163,7 +15163,7 @@

Source:
- src/plugins/weapon/Bullet.js line 62 + src/plugins/weapon/Bullet.js line 62 @@ -15256,7 +15256,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15376,7 +15376,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -15539,7 +15539,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15608,9 +15608,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -15627,7 +15627,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -15656,7 +15656,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index 36360cc1d..ab4a4cf62 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 156 + src/gameobjects/components/Bounds.js line 156 @@ -1484,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1658,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -2187,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2638,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 203 + src/gameobjects/Button.js line 203 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 193 + src/gameobjects/Button.js line 193 @@ -3168,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 241 @@ -3254,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3340,7 +3340,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3436,7 +3436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3524,7 +3524,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3702,7 +3702,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/gameobjects/Button.js line 186 + src/gameobjects/Button.js line 186 @@ -3980,7 +3980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -4067,7 +4067,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4157,7 +4157,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4246,7 +4246,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4333,7 +4333,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4421,7 +4421,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4509,7 +4509,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4592,7 +4592,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4669,7 +4669,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4746,7 +4746,7 @@
Type:
Source:
- src/gameobjects/Button.js line 161 + src/gameobjects/Button.js line 161 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/gameobjects/Button.js line 154 + src/gameobjects/Button.js line 154 @@ -4914,7 +4914,7 @@
Type:
Source:
- src/gameobjects/Button.js line 147 + src/gameobjects/Button.js line 147 @@ -4998,7 +4998,7 @@
Type:
Source:
- src/gameobjects/Button.js line 168 + src/gameobjects/Button.js line 168 @@ -5088,7 +5088,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -5250,7 +5250,7 @@
Type:
Source:
- src/gameobjects/Button.js line 177 + src/gameobjects/Button.js line 177 @@ -5333,7 +5333,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5410,7 +5410,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5493,7 +5493,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5570,7 +5570,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5659,7 +5659,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5748,7 +5748,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -5825,7 +5825,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5912,7 +5912,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6000,7 +6000,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -6086,7 +6086,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -6172,7 +6172,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -6259,7 +6259,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -6346,7 +6346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -6433,7 +6433,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -6522,7 +6522,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6699,7 +6699,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6787,7 +6787,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6881,7 +6881,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6969,7 +6969,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7055,7 +7055,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7148,7 +7148,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7241,7 +7241,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7328,7 +7328,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7414,7 +7414,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7500,7 +7500,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7582,7 +7582,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7681,7 +7681,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7767,7 +7767,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7855,7 +7855,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -7947,7 +7947,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8397,7 +8397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8484,7 +8484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -8571,7 +8571,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8660,7 +8660,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -8797,7 +8797,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8988,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -9331,7 +9331,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9795,7 +9795,7 @@

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

Source:
- src/gameobjects/Button.js line 234 + src/gameobjects/Button.js line 234 @@ -10046,7 +10046,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10272,7 +10272,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10367,7 +10367,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10612,7 +10612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10787,7 +10787,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10954,7 +10954,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -11121,7 +11121,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -11238,7 +11238,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11359,7 +11359,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11644,7 +11644,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11740,7 +11740,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11860,7 +11860,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -12042,7 +12042,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 508 + src/gameobjects/Button.js line 508 @@ -12200,7 +12200,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 488 + src/gameobjects/Button.js line 488 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 456 + src/gameobjects/Button.js line 456 @@ -12540,7 +12540,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 528 + src/gameobjects/Button.js line 528 @@ -12699,7 +12699,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -13005,7 +13005,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -13122,7 +13122,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -13215,7 +13215,7 @@

Source:
- src/gameobjects/Image.js line 80 + src/gameobjects/Image.js line 80 @@ -13308,7 +13308,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -13451,7 +13451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -13618,7 +13618,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13809,7 +13809,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -14048,7 +14048,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14165,7 +14165,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -14358,7 +14358,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14523,7 +14523,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -14643,7 +14643,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -14834,7 +14834,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -15015,7 +15015,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 430 + src/gameobjects/Button.js line 430 @@ -15159,7 +15159,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -15420,7 +15420,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 306 + src/gameobjects/Button.js line 306 @@ -15601,7 +15601,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 417 + src/gameobjects/Button.js line 417 @@ -15782,7 +15782,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 404 + src/gameobjects/Button.js line 404 @@ -16019,7 +16019,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -16417,7 +16417,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 379 + src/gameobjects/Button.js line 379 @@ -16617,7 +16617,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 443 + src/gameobjects/Button.js line 443 @@ -16965,7 +16965,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -17108,7 +17108,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -17321,7 +17321,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -17442,7 +17442,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -17535,7 +17535,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -17655,7 +17655,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -17818,7 +17818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -17887,9 +17887,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -17906,7 +17906,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -17935,7 +17935,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index ba3d7f354..9512efa30 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 180 + src/loader/Cache.js line 180 @@ -419,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 186 + src/loader/Cache.js line 186 @@ -492,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 192 + src/loader/Cache.js line 192 @@ -565,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 138 + src/loader/Cache.js line 138 @@ -638,7 +638,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -715,7 +715,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -792,7 +792,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 249 + src/loader/Cache.js line 249 @@ -942,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 144 + src/loader/Cache.js line 144 @@ -1015,7 +1015,7 @@
Type:
Source:
- src/loader/Cache.js line 198 + src/loader/Cache.js line 198 @@ -1092,7 +1092,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1169,7 +1169,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 270 + src/loader/Cache.js line 270 @@ -1319,7 +1319,7 @@
Type:
Source:
- src/loader/Cache.js line 168 + src/loader/Cache.js line 168 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 278 + src/loader/Cache.js line 278 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 222 + src/loader/Cache.js line 222 @@ -1549,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 216 + src/loader/Cache.js line 216 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 156 + src/loader/Cache.js line 156 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 162 + src/loader/Cache.js line 162 @@ -1768,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 150 + src/loader/Cache.js line 150 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 174 + src/loader/Cache.js line 174 @@ -1914,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 210 + src/loader/Cache.js line 210 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/loader/Cache.js line 204 + src/loader/Cache.js line 204 @@ -2064,7 +2064,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2218,7 +2218,7 @@
Type:
Source:
- src/loader/Cache.js line 129 + src/loader/Cache.js line 129 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/loader/Cache.js line 93 + src/loader/Cache.js line 93 @@ -2447,7 +2447,7 @@
Parameters:
Source:
- src/loader/Cache.js line 534 + src/loader/Cache.js line 534 @@ -2676,7 +2676,7 @@
Parameters:
Source:
- src/loader/Cache.js line 546 + src/loader/Cache.js line 546 @@ -3078,7 +3078,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -3461,7 +3461,7 @@
Parameters:
Source:
- src/loader/Cache.js line 608 + src/loader/Cache.js line 608 @@ -3671,7 +3671,7 @@
Parameters:
Source:
- src/loader/Cache.js line 327 + src/loader/Cache.js line 327 @@ -3829,7 +3829,7 @@
Parameters:
Source:
- src/loader/Cache.js line 817 + src/loader/Cache.js line 817 @@ -3916,7 +3916,7 @@

Source:
- src/loader/Cache.js line 413 + src/loader/Cache.js line 413 @@ -4100,7 +4100,7 @@
Parameters:
Source:
- src/loader/Cache.js line 342 + src/loader/Cache.js line 342 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/loader/Cache.js line 662 + src/loader/Cache.js line 662 @@ -4393,7 +4393,7 @@

Source:
- src/loader/Cache.js line 434 + src/loader/Cache.js line 434 @@ -4599,7 +4599,7 @@
Parameters:
Source:
- src/loader/Cache.js line 502 + src/loader/Cache.js line 502 @@ -4757,7 +4757,7 @@
Parameters:
Source:
- src/loader/Cache.js line 723 + src/loader/Cache.js line 723 @@ -4939,7 +4939,7 @@
Parameters:
Source:
- src/loader/Cache.js line 708 + src/loader/Cache.js line 708 @@ -5169,7 +5169,7 @@
Parameters:
Source:
- src/loader/Cache.js line 452 + src/loader/Cache.js line 452 @@ -5623,7 +5623,7 @@
Parameters:
Source:
- src/loader/Cache.js line 735 + src/loader/Cache.js line 735 @@ -5805,7 +5805,7 @@
Parameters:
Source:
- src/loader/Cache.js line 487 + src/loader/Cache.js line 487 @@ -6035,7 +6035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 772 + src/loader/Cache.js line 772 @@ -6241,7 +6241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 518 + src/loader/Cache.js line 518 @@ -6447,7 +6447,7 @@
Parameters:
Source:
- src/loader/Cache.js line 692 + src/loader/Cache.js line 692 @@ -6629,7 +6629,7 @@
Parameters:
Source:
- src/loader/Cache.js line 677 + src/loader/Cache.js line 677 @@ -6763,7 +6763,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1084 + src/loader/Cache.js line 1084 @@ -6921,7 +6921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1096 + src/loader/Cache.js line 1096 @@ -7079,7 +7079,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1108 + src/loader/Cache.js line 1108 @@ -7237,7 +7237,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7395,7 +7395,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1000 + src/loader/Cache.js line 1000 @@ -7553,7 +7553,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1012 + src/loader/Cache.js line 1012 @@ -7711,7 +7711,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1120 + src/loader/Cache.js line 1120 @@ -7893,7 +7893,7 @@
Parameters:
Source:
- src/loader/Cache.js line 950 + src/loader/Cache.js line 950 @@ -8051,7 +8051,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1060 + src/loader/Cache.js line 1060 @@ -8209,7 +8209,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1168 + src/loader/Cache.js line 1168 @@ -8367,7 +8367,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1156 + src/loader/Cache.js line 1156 @@ -8525,7 +8525,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1036 + src/loader/Cache.js line 1036 @@ -8683,7 +8683,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1048 + src/loader/Cache.js line 1048 @@ -8841,7 +8841,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1024 + src/loader/Cache.js line 1024 @@ -8999,7 +8999,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1072 + src/loader/Cache.js line 1072 @@ -9160,7 +9160,7 @@
Parameters:
Source:
- src/loader/Cache.js line 968 + src/loader/Cache.js line 968 @@ -9318,7 +9318,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -9476,7 +9476,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1132 + src/loader/Cache.js line 1132 @@ -9585,7 +9585,7 @@

Source:
- src/loader/Cache.js line 2034 + src/loader/Cache.js line 2034 @@ -9743,7 +9743,7 @@
Parameters:
Source:
- src/loader/Cache.js line 893 + src/loader/Cache.js line 893 @@ -9830,7 +9830,7 @@

Source:
- src/loader/Cache.js line 2082 + src/loader/Cache.js line 2082 @@ -9960,7 +9960,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2112 + src/loader/Cache.js line 2112 @@ -10150,7 +10150,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1582 + src/loader/Cache.js line 1582 @@ -10310,7 +10310,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1416 + src/loader/Cache.js line 1416 @@ -10470,7 +10470,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1432 + src/loader/Cache.js line 1432 @@ -10630,7 +10630,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1448 + src/loader/Cache.js line 1448 @@ -10790,7 +10790,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1221 + src/loader/Cache.js line 1221 @@ -10948,7 +10948,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1564 + src/loader/Cache.js line 1564 @@ -11162,7 +11162,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1597 + src/loader/Cache.js line 1597 @@ -11412,7 +11412,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1686 + src/loader/Cache.js line 1686 @@ -11662,7 +11662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1709 + src/loader/Cache.js line 1709 @@ -11876,7 +11876,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1612 + src/loader/Cache.js line 1612 @@ -12092,7 +12092,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1634 + src/loader/Cache.js line 1634 @@ -12312,7 +12312,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1237 + src/loader/Cache.js line 1237 @@ -12582,7 +12582,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1186 + src/loader/Cache.js line 1186 @@ -12800,7 +12800,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -12978,7 +12978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1756 + src/loader/Cache.js line 1756 @@ -13231,7 +13231,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1341 + src/loader/Cache.js line 1341 @@ -13391,7 +13391,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1548 + src/loader/Cache.js line 1548 @@ -13551,7 +13551,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1532 + src/loader/Cache.js line 1532 @@ -13711,7 +13711,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1293 + src/loader/Cache.js line 1293 @@ -13871,7 +13871,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1309 + src/loader/Cache.js line 1309 @@ -14031,7 +14031,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1325 + src/loader/Cache.js line 1325 @@ -14190,7 +14190,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1279 + src/loader/Cache.js line 1279 @@ -14350,7 +14350,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1400 + src/loader/Cache.js line 1400 @@ -14510,7 +14510,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1732 + src/loader/Cache.js line 1732 @@ -14670,7 +14670,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1516 + src/loader/Cache.js line 1516 @@ -14830,7 +14830,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1500 + src/loader/Cache.js line 1500 @@ -15044,7 +15044,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1653 + src/loader/Cache.js line 1653 @@ -15202,7 +15202,7 @@
Parameters:
Source:
- src/loader/Cache.js line 909 + src/loader/Cache.js line 909 @@ -15361,7 +15361,7 @@
Parameters:
Source:
- src/loader/Cache.js line 926 + src/loader/Cache.js line 926 @@ -15519,7 +15519,7 @@
Parameters:
Source:
- src/loader/Cache.js line 835 + src/loader/Cache.js line 835 @@ -15653,7 +15653,7 @@
Parameters:
Source:
- src/loader/Cache.js line 860 + src/loader/Cache.js line 860 @@ -15789,7 +15789,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1889 + src/loader/Cache.js line 1889 @@ -15925,7 +15925,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1903 + src/loader/Cache.js line 1903 @@ -16061,7 +16061,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1917 + src/loader/Cache.js line 1917 @@ -16197,7 +16197,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1789 + src/loader/Cache.js line 1789 @@ -16390,7 +16390,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1803 + src/loader/Cache.js line 1803 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1931 + src/loader/Cache.js line 1931 @@ -16662,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1861 + src/loader/Cache.js line 1861 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1987 + src/loader/Cache.js line 1987 @@ -16934,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1973 + src/loader/Cache.js line 1973 @@ -17073,7 +17073,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1829 + src/loader/Cache.js line 1829 @@ -17209,7 +17209,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -17345,7 +17345,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -17481,7 +17481,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2015 + src/loader/Cache.js line 2015 @@ -17617,7 +17617,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1875 + src/loader/Cache.js line 1875 @@ -17753,7 +17753,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1959 + src/loader/Cache.js line 1959 @@ -17889,7 +17889,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1945 + src/loader/Cache.js line 1945 @@ -18115,7 +18115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1668 + src/loader/Cache.js line 1668 @@ -18249,7 +18249,7 @@
Parameters:
Source:
- src/loader/Cache.js line 877 + src/loader/Cache.js line 877 @@ -18292,9 +18292,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -18311,7 +18311,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -18340,7 +18340,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index e26035806..06e8d30cd 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,226 @@
Type:
Source:
- src/core/Camera.js line 244 + src/core/Camera.js line 245 + + + + + + + + + + + +
+ + + +
+

+ <static, constant> FADE_IN : number + +

+ +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Camera.js line 263 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> FADE_OUT : number + +

+ +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Camera.js line 257 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> FLASH : number + +

+ +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Camera.js line 251 @@ -529,7 +748,7 @@
Type:
Source:
- src/core/Camera.js line 196 + src/core/Camera.js line 197 @@ -606,7 +825,7 @@
Type:
Source:
- src/core/Camera.js line 204 + src/core/Camera.js line 205 @@ -683,7 +902,7 @@
Type:
Source:
- src/core/Camera.js line 212 + src/core/Camera.js line 213 @@ -760,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 220 + src/core/Camera.js line 221 @@ -833,7 +1052,7 @@
Type:
Source:
- src/core/Camera.js line 226 + src/core/Camera.js line 227 @@ -906,7 +1125,7 @@
Type:
Source:
- src/core/Camera.js line 232 + src/core/Camera.js line 233 @@ -979,7 +1198,7 @@
Type:
Source:
- src/core/Camera.js line 238 + src/core/Camera.js line 239 @@ -1056,7 +1275,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1135,7 +1354,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1212,7 +1431,7 @@
Type:
Source:
- src/core/Camera.js line 950 + src/core/Camera.js line 1019 @@ -1289,7 +1508,7 @@
Type:
Source:
- src/core/Camera.js line 965 + src/core/Camera.js line 1034 @@ -1366,7 +1585,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1443,7 +1662,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1520,7 +1739,7 @@
Type:
Source:
- src/core/Camera.js line 933 + src/core/Camera.js line 1002 @@ -1597,7 +1816,7 @@
Type:
Source:
- src/core/Camera.js line 135 + src/core/Camera.js line 136 @@ -1674,7 +1893,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1751,7 +1970,7 @@
Type:
Source:
- src/core/Camera.js line 893 + src/core/Camera.js line 962 @@ -1828,7 +2047,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -1909,7 +2128,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -1935,10 +2154,11 @@

-

This signal is dispatched when the camera fade effect completes. -When the fade effect completes you will be left with the screen black (or whatever -color you faded to). In order to reset this call Camera.resetFX. This is called -automatically when you change State.

+

This signal is dispatched when the camera fade effect (fade in or fade out) completes. +You can look at the value of Camera.fx.alpha to determine which effect it was. +When the fade out effect completes Camera.fx.alpha is 1 and you will be left with the screen black (or whatever +color you faded to). In order to reset this call Camera.resetFX. Camera.resetFX is called automatically when you change State. +When the fade in effect completes, Camera.fx.alpha is 0 and there is no visible camera fill.

@@ -1989,7 +2209,7 @@
Type:
Source:
- src/core/Camera.js line 128 + src/core/Camera.js line 129 @@ -2066,7 +2286,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -2143,7 +2363,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -2220,7 +2440,7 @@
Type:
Source:
- src/core/Camera.js line 847 + src/core/Camera.js line 916 @@ -2304,7 +2524,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2381,7 +2601,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2458,7 +2678,7 @@
Type:
Source:
- src/core/Camera.js line 913 + src/core/Camera.js line 982 @@ -2535,7 +2755,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2612,7 +2832,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2692,7 +2912,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2776,7 +2996,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -2853,7 +3073,7 @@
Type:
Source:
- src/core/Camera.js line 874 + src/core/Camera.js line 943 @@ -2930,7 +3150,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -3007,7 +3227,7 @@
Type:
Source:
- src/core/Camera.js line 799 + src/core/Camera.js line 868 @@ -3084,7 +3304,7 @@
Type:
Source:
- src/core/Camera.js line 823 + src/core/Camera.js line 892 @@ -3163,7 +3383,7 @@

Source:
- src/core/Camera.js line 660 + src/core/Camera.js line 729 @@ -3202,7 +3422,7 @@

-

This creates a camera fade effect. It works by filling the game with the +

This creates a camera fade out effect. It works by filling the game with the color specified, over the duration given, ending with a solid fill.

You can use this for things such as transitioning to a new scene.

The game will be left 'filled' at the end of this effect, likely obscuring @@ -3374,11 +3594,311 @@

Parameters:
+number + + + + + + + + + + <optional>
+ + + + + + + + + + + + 1 + + + + +

The alpha value of the color applied to the fade effect.

+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Camera.js line 467 + + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + +
+

True if the effect was started, otherwise false.

+
+ + + +
+
+ Type +
+
+ +boolean + + + +
+
+ + + + + +

+ + + +
+

+ fadeIn( [color] [, duration] [, force] [, alpha]) + +

+ +
+
+ + +
+

This creates a camera fade in effect. +It fills the game with a solid color and then removes it over the duration given.

+

When the effect ends the signal Camera.onFadeComplete is dispatched.

+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3444,7 +3964,7 @@
Parameters:
Source:
- src/core/Camera.js line 448 + src/core/Camera.js line 492 @@ -3745,7 +4265,7 @@
Parameters:
Source:
- src/core/Camera.js line 407 + src/core/Camera.js line 426 @@ -3903,7 +4423,7 @@
Parameters:
Source:
- src/core/Camera.js line 344 + src/core/Camera.js line 363 @@ -4061,7 +4581,7 @@
Parameters:
Source:
- src/core/Camera.js line 354 + src/core/Camera.js line 373 @@ -4339,7 +4859,7 @@
Parameters:
Source:
- src/core/Camera.js line 280 + src/core/Camera.js line 299 @@ -4423,7 +4943,7 @@

Source:
- src/core/Camera.js line 270 + src/core/Camera.js line 289 @@ -4509,7 +5029,7 @@

Source:
- src/core/Camera.js line 757 + src/core/Camera.js line 826 @@ -4594,7 +5114,7 @@

Source:
- src/core/Camera.js line 778 + src/core/Camera.js line 847 @@ -4678,7 +5198,7 @@

Source:
- src/core/Camera.js line 647 + src/core/Camera.js line 716 @@ -4837,7 +5357,7 @@
Parameters:
Source:
- src/core/Camera.js line 725 + src/core/Camera.js line 794 @@ -4995,7 +5515,7 @@
Parameters:
Source:
- src/core/Camera.js line 744 + src/core/Camera.js line 813 @@ -5312,7 +5832,7 @@
Parameters:
Source:
- src/core/Camera.js line 365 + src/core/Camera.js line 384 @@ -5420,7 +5940,7 @@

Source:
- src/core/Camera.js line 334 + src/core/Camera.js line 353 @@ -5504,7 +6024,7 @@

Source:
- src/core/Camera.js line 494 + src/core/Camera.js line 551 @@ -5547,9 +6067,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -5566,7 +6086,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -5595,7 +6115,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index e80a61b9d..ce0a4f699 100644 --- a/docs/Phaser.Canvas.html +++ b/docs/Phaser.Canvas.html @@ -6,7 +6,7 @@ Phaser CE Class: Canvas - + @@ -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 105 + src/utils/Canvas.js line 105 @@ -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 233 + src/utils/Canvas.js line 233 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 209 + src/utils/Canvas.js line 209 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 151 + src/utils/Canvas.js line 151 @@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 46 + src/utils/Canvas.js line 46 @@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 276 + src/utils/Canvas.js line 276 @@ -1750,7 +1750,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 250 + src/utils/Canvas.js line 250 @@ -1945,7 +1945,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 185 + src/utils/Canvas.js line 185 @@ -2147,7 +2147,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 63 + src/utils/Canvas.js line 63 @@ -2449,7 +2449,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 165 + src/utils/Canvas.js line 165 @@ -2651,7 +2651,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 82 + src/utils/Canvas.js line 82 @@ -2718,9 +2718,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2766,7 +2766,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index ca65ee37f..970589de4 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 197 + src/utils/CanvasPool.js line 197 @@ -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 57 + src/utils/CanvasPool.js line 57 @@ -673,7 +673,7 @@

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

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

Source:
- src/utils/CanvasPool.js line 172 + src/utils/CanvasPool.js line 172 @@ -1024,7 +1024,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 79 + src/utils/CanvasPool.js line 79 @@ -1159,7 +1159,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 102 + src/utils/CanvasPool.js line 102 @@ -1202,9 +1202,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1250,7 +1250,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index 7b8d19007..e155f60ed 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 441 + src/geom/Circle.js line 441 @@ -513,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 414 + src/geom/Circle.js line 414 @@ -590,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 286 + src/geom/Circle.js line 286 @@ -668,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 463 + src/geom/Circle.js line 463 @@ -734,7 +734,7 @@

Source:
- src/geom/Circle.js line 333 + src/geom/Circle.js line 333 @@ -811,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 310 + src/geom/Circle.js line 310 @@ -888,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 360 + src/geom/Circle.js line 360 @@ -965,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 387 + src/geom/Circle.js line 387 @@ -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 535 + src/geom/Circle.js line 535 @@ -1660,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 486 + src/geom/Circle.js line 486 @@ -1842,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 510 + src/geom/Circle.js line 510 @@ -2025,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 522 + src/geom/Circle.js line 522 @@ -2259,7 +2259,7 @@
Parameters:
Source:
- src/geom/Circle.js line 599 + src/geom/Circle.js line 599 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/geom/Circle.js line 560 + src/geom/Circle.js line 560 @@ -2549,7 +2549,7 @@

Source:
- src/geom/Circle.js line 59 + src/geom/Circle.js line 59 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/geom/Circle.js line 195 + src/geom/Circle.js line 195 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/geom/Circle.js line 163 + src/geom/Circle.js line 163 @@ -3153,7 +3153,7 @@
Parameters:
Source:
- src/geom/Circle.js line 183 + src/geom/Circle.js line 183 @@ -3311,7 +3311,7 @@
Parameters:
Source:
- src/geom/Circle.js line 123 + src/geom/Circle.js line 123 @@ -3469,7 +3469,7 @@
Parameters:
Source:
- src/geom/Circle.js line 134 + src/geom/Circle.js line 134 @@ -3684,7 +3684,7 @@
Parameters:
Source:
- src/geom/Circle.js line 149 + src/geom/Circle.js line 149 @@ -3792,7 +3792,7 @@

Source:
- src/geom/Circle.js line 94 + src/geom/Circle.js line 94 @@ -3974,7 +3974,7 @@
Parameters:
Source:
- src/geom/Circle.js line 246 + src/geom/Circle.js line 246 @@ -4132,7 +4132,7 @@
Parameters:
Source:
- src/geom/Circle.js line 261 + src/geom/Circle.js line 261 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/geom/Circle.js line 70 + src/geom/Circle.js line 70 @@ -4644,7 +4644,7 @@
Parameters:
Source:
- src/geom/Circle.js line 223 + src/geom/Circle.js line 223 @@ -4852,7 +4852,7 @@
Parameters:
Source:
- src/geom/Circle.js line 105 + src/geom/Circle.js line 105 @@ -4960,7 +4960,7 @@

Source:
- src/geom/Circle.js line 272 + src/geom/Circle.js line 272 @@ -5027,9 +5027,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -5046,7 +5046,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -5075,7 +5075,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index 4e2746eb7..2ac31854d 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 @@ -292,7 +292,7 @@
Type:
Source:
- src/utils/Color.js line 57 + src/utils/Color.js line 57 @@ -369,7 +369,7 @@
Type:
Source:
- src/utils/Color.js line 93 + src/utils/Color.js line 93 @@ -453,7 +453,7 @@
Type:
Source:
- src/utils/Color.js line 66 + src/utils/Color.js line 66 @@ -537,7 +537,7 @@
Type:
Source:
- src/utils/Color.js line 102 + src/utils/Color.js line 102 @@ -621,7 +621,7 @@
Type:
Source:
- src/utils/Color.js line 48 + src/utils/Color.js line 48 @@ -705,7 +705,7 @@
Type:
Source:
- src/utils/Color.js line 30 + src/utils/Color.js line 30 @@ -789,7 +789,7 @@
Type:
Source:
- src/utils/Color.js line 21 + src/utils/Color.js line 21 @@ -873,7 +873,7 @@
Type:
Source:
- src/utils/Color.js line 75 + src/utils/Color.js line 75 @@ -957,7 +957,7 @@
Type:
Source:
- src/utils/Color.js line 84 + src/utils/Color.js line 84 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/utils/Color.js line 39 + src/utils/Color.js line 39 @@ -1193,7 +1193,7 @@
Parameters:
Source:
- src/utils/Color.js line 1249 + src/utils/Color.js line 1249 @@ -1375,7 +1375,7 @@
Parameters:
Source:
- src/utils/Color.js line 1235 + src/utils/Color.js line 1235 @@ -1558,7 +1558,7 @@
Parameters:
Source:
- src/utils/Color.js line 1418 + src/utils/Color.js line 1418 @@ -1741,7 +1741,7 @@
Parameters:
Source:
- src/utils/Color.js line 1403 + src/utils/Color.js line 1403 @@ -1923,7 +1923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1204 + src/utils/Color.js line 1204 @@ -2106,7 +2106,7 @@
Parameters:
Source:
- src/utils/Color.js line 1277 + src/utils/Color.js line 1277 @@ -2289,7 +2289,7 @@
Parameters:
Source:
- src/utils/Color.js line 1323 + src/utils/Color.js line 1323 @@ -2471,7 +2471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1540 + src/utils/Color.js line 1540 @@ -2660,7 +2660,7 @@
Parameters:
Source:
- src/utils/Color.js line 1378 + src/utils/Color.js line 1378 @@ -2845,7 +2845,7 @@
Parameters:
Source:
- src/utils/Color.js line 1509 + src/utils/Color.js line 1509 @@ -3027,7 +3027,7 @@
Parameters:
Source:
- src/utils/Color.js line 1190 + src/utils/Color.js line 1190 @@ -3209,7 +3209,7 @@
Parameters:
Source:
- src/utils/Color.js line 1447 + src/utils/Color.js line 1447 @@ -3391,7 +3391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1433 + src/utils/Color.js line 1433 @@ -3575,7 +3575,7 @@
Parameters:
Source:
- src/utils/Color.js line 1461 + src/utils/Color.js line 1461 @@ -3760,7 +3760,7 @@
Parameters:
Source:
- src/utils/Color.js line 1218 + src/utils/Color.js line 1218 @@ -3942,7 +3942,7 @@
Parameters:
Source:
- src/utils/Color.js line 1293 + src/utils/Color.js line 1293 @@ -4124,7 +4124,7 @@
Parameters:
Source:
- src/utils/Color.js line 1176 + src/utils/Color.js line 1176 @@ -4308,7 +4308,7 @@
Parameters:
Source:
- src/utils/Color.js line 1338 + src/utils/Color.js line 1338 @@ -4490,7 +4490,7 @@
Parameters:
Source:
- src/utils/Color.js line 1554 + src/utils/Color.js line 1554 @@ -4673,7 +4673,7 @@
Parameters:
Source:
- src/utils/Color.js line 1494 + src/utils/Color.js line 1494 @@ -4855,7 +4855,7 @@
Parameters:
Source:
- src/utils/Color.js line 1526 + src/utils/Color.js line 1526 @@ -5039,7 +5039,7 @@
Parameters:
Source:
- src/utils/Color.js line 1307 + src/utils/Color.js line 1307 @@ -5228,7 +5228,7 @@
Parameters:
Source:
- src/utils/Color.js line 1354 + src/utils/Color.js line 1354 @@ -5410,7 +5410,7 @@
Parameters:
Source:
- src/utils/Color.js line 1263 + src/utils/Color.js line 1263 @@ -5595,7 +5595,7 @@
Parameters:
Source:
- src/utils/Color.js line 1477 + src/utils/Color.js line 1477 @@ -5753,7 +5753,7 @@
Parameters:
Source:
- src/utils/Color.js line 802 + src/utils/Color.js line 802 @@ -6220,7 +6220,7 @@
Parameters:
Source:
- src/utils/Color.js line 550 + src/utils/Color.js line 550 @@ -6430,7 +6430,7 @@
Parameters:
Source:
- src/utils/Color.js line 185 + src/utils/Color.js line 185 @@ -6588,7 +6588,7 @@
Parameters:
Source:
- src/utils/Color.js line 1111 + src/utils/Color.js line 1111 @@ -6746,7 +6746,7 @@
Parameters:
Source:
- src/utils/Color.js line 1124 + src/utils/Color.js line 1124 @@ -6904,7 +6904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1163 + src/utils/Color.js line 1163 @@ -7110,7 +7110,7 @@
Parameters:
Source:
- src/utils/Color.js line 609 + src/utils/Color.js line 609 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/utils/Color.js line 593 + src/utils/Color.js line 593 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/utils/Color.js line 1150 + src/utils/Color.js line 1150 @@ -7758,7 +7758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1018 + src/utils/Color.js line 1018 @@ -7916,7 +7916,7 @@
Parameters:
Source:
- src/utils/Color.js line 1137 + src/utils/Color.js line 1137 @@ -8075,7 +8075,7 @@
Parameters:
Source:
- src/utils/Color.js line 1049 + src/utils/Color.js line 1049 @@ -8236,7 +8236,7 @@
Parameters:
Source:
- src/utils/Color.js line 1090 + src/utils/Color.js line 1090 @@ -8440,7 +8440,7 @@
Parameters:
Source:
- src/utils/Color.js line 670 + src/utils/Color.js line 670 @@ -8598,7 +8598,7 @@
Parameters:
Source:
- src/utils/Color.js line 652 + src/utils/Color.js line 652 @@ -8756,7 +8756,7 @@
Parameters:
Source:
- src/utils/Color.js line 246 + src/utils/Color.js line 246 @@ -8974,7 +8974,7 @@
Parameters:
Source:
- src/utils/Color.js line 841 + src/utils/Color.js line 841 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/utils/Color.js line 334 + src/utils/Color.js line 334 @@ -9461,7 +9461,7 @@
Parameters:
Source:
- src/utils/Color.js line 817 + src/utils/Color.js line 817 @@ -9730,7 +9730,7 @@
Parameters:
Source:
- src/utils/Color.js line 441 + src/utils/Color.js line 441 @@ -9937,7 +9937,7 @@
Parameters:
Source:
- src/utils/Color.js line 509 + src/utils/Color.js line 509 @@ -10297,7 +10297,7 @@
Parameters:
Source:
- src/utils/Color.js line 865 + src/utils/Color.js line 865 @@ -10575,7 +10575,7 @@
Parameters:
Source:
- src/utils/Color.js line 932 + src/utils/Color.js line 932 @@ -10901,7 +10901,7 @@
Parameters:
Source:
- src/utils/Color.js line 955 + src/utils/Color.js line 955 @@ -11109,7 +11109,7 @@
Parameters:
Source:
- src/utils/Color.js line 979 + src/utils/Color.js line 979 @@ -11293,7 +11293,7 @@
Parameters:
Source:
- src/utils/Color.js line 997 + src/utils/Color.js line 997 @@ -11531,7 +11531,7 @@
Parameters:
Source:
- src/utils/Color.js line 104 + src/utils/Color.js line 104 @@ -11689,7 +11689,7 @@
Parameters:
Source:
- src/utils/Color.js line 263 + src/utils/Color.js line 263 @@ -11958,7 +11958,7 @@
Parameters:
Source:
- src/utils/Color.js line 276 + src/utils/Color.js line 276 @@ -12227,7 +12227,7 @@
Parameters:
Source:
- src/utils/Color.js line 386 + src/utils/Color.js line 386 @@ -12554,7 +12554,7 @@
Parameters:
Source:
- src/utils/Color.js line 624 + src/utils/Color.js line 624 @@ -12784,7 +12784,7 @@
Parameters:
Source:
- src/utils/Color.js line 230 + src/utils/Color.js line 230 @@ -13021,7 +13021,7 @@
Parameters:
Source:
- src/utils/Color.js line 213 + src/utils/Color.js line 213 @@ -13326,7 +13326,7 @@
Parameters:
Source:
- src/utils/Color.js line 129 + src/utils/Color.js line 129 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/utils/Color.js line 576 + src/utils/Color.js line 576 @@ -13691,7 +13691,7 @@
Parameters:
Source:
- src/utils/Color.js line 746 + src/utils/Color.js line 746 @@ -13894,7 +13894,7 @@
Parameters:
Source:
- src/utils/Color.js line 714 + src/utils/Color.js line 714 @@ -13961,9 +13961,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -14009,7 +14009,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index 15e33c2a5..107f255c3 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -371,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index e4e530db4..106412e8e 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 196b86dab..8936e80b0 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -449,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index 9c188f9a1..388ad10f1 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 156 + src/gameobjects/components/Bounds.js line 156 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -442,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -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 41 + src/gameobjects/components/Bounds.js line 41 @@ -756,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -1473,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -1540,9 +1540,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1588,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index c68f9a427..f655a99de 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 84 + src/gameobjects/components/BringToTop.js line 84 @@ -507,7 +507,7 @@

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index 73b77562e..3aff4fdb3 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 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 186 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 159 + src/gameobjects/components/Core.js line 160 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 152 + src/gameobjects/components/Core.js line 153 @@ -534,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -612,7 +612,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 177 + src/gameobjects/components/Core.js line 178 @@ -701,7 +701,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 276 + src/gameobjects/components/Core.js line 277 @@ -779,7 +779,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 241 @@ -856,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -949,7 +949,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -1027,7 +1027,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -1339,7 +1339,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -1418,7 +1418,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -1498,7 +1498,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -1577,7 +1577,7 @@

Source:
- src/gameobjects/components/Core.js line 53 + src/gameobjects/components/Core.js line 53 @@ -1662,7 +1662,7 @@

Source:
- src/gameobjects/components/Core.js line 22 + src/gameobjects/components/Core.js line 22 @@ -1746,7 +1746,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -1830,7 +1830,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -1916,7 +1916,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -1959,9 +1959,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1978,7 +1978,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2007,7 +2007,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index a599a83a5..32a5f1487 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 85 + src/gameobjects/components/Crop.js line 85 @@ -607,9 +607,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index f7d7b5833..7f8a4cdba 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 41 + src/gameobjects/components/Delta.js line 41 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -474,9 +474,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -522,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index f6ddbda74..5d851c9aa 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -569,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index 6a4786c62..e9f7deab0 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 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -371,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index ed9a6f0a1..fa38e4c2e 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 88 + src/gameobjects/components/Health.js line 88 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -893,9 +893,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -941,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index d7c98fcf4..7eb946df4 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index 7a5d48c76..d11b2d710 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 103 + src/gameobjects/components/InWorld.js line 103 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -525,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index fa0a9e2e7..968d2c2b0 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -455,7 +455,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index 9f7deb96a..c8be262cf 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -377,7 +377,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -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 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -724,7 +724,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -791,9 +791,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -839,7 +839,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index ff94f531a..05445b10b 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 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -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 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -1064,9 +1064,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1112,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index 41fd28c46..8a60bf51d 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index 689088748..5c3b72d5d 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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 104 + src/gameobjects/components/PhysicsBody.js line 104 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 128 + src/gameobjects/components/PhysicsBody.js line 128 @@ -536,7 +536,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 68 + src/gameobjects/components/PhysicsBody.js line 68 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index 6e33232c3..e30718250 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -543,7 +543,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.ScaleMinMax.html b/docs/Phaser.Component.ScaleMinMax.html index eda233b63..b8822668e 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 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -785,9 +785,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -833,7 +833,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Smoothed.html b/docs/Phaser.Component.Smoothed.html index 3dd503086..456c8b1e3 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index 1c521e613..c587133f7 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 57 + src/core/Create.js line 57 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 78 + src/core/Create.js line 78 @@ -492,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 71 + src/core/Create.js line 71 @@ -569,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 85 + src/core/Create.js line 85 @@ -646,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 64 + src/core/Create.js line 64 @@ -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 228 + src/core/Create.js line 228 @@ -1924,7 +1924,7 @@
Parameters:
Source:
- src/core/Create.js line 168 + src/core/Create.js line 168 @@ -2382,7 +2382,7 @@
Parameters:
Source:
- src/core/Create.js line 89 + src/core/Create.js line 89 @@ -2452,9 +2452,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2471,7 +2471,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2500,7 +2500,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index a369d1ad0..e7f38ce60 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -480,7 +480,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 183 + src/gameobjects/Creature.js line 183 @@ -634,7 +634,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -716,7 +716,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 847 + src/gameobjects/Creature.js line 847 @@ -793,7 +793,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 729 + src/gameobjects/Creature.js line 729 @@ -870,7 +870,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 779 + src/gameobjects/Creature.js line 779 @@ -961,7 +961,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/Creature.js line 216 + src/gameobjects/Creature.js line 216 @@ -1125,7 +1125,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 186 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1315,7 +1315,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1402,7 +1402,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 289 + src/gameobjects/Creature.js line 289 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 159 + src/gameobjects/components/Core.js line 160 @@ -1728,7 +1728,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 258 + src/gameobjects/Creature.js line 258 @@ -1805,7 +1805,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 252 + src/gameobjects/Creature.js line 252 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 152 + src/gameobjects/components/Core.js line 153 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 177 + src/gameobjects/components/Core.js line 178 @@ -2259,7 +2259,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 276 + src/gameobjects/components/Core.js line 277 @@ -2345,7 +2345,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2436,7 +2436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2529,7 +2529,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2616,7 +2616,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 241 @@ -2698,7 +2698,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 188 + src/gameobjects/Creature.js line 188 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 680 + src/gameobjects/Creature.js line 680 @@ -2876,7 +2876,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2964,7 +2964,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3051,7 +3051,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3124,7 +3124,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 278 + src/gameobjects/Creature.js line 278 @@ -3215,7 +3215,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3308,7 +3308,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3385,7 +3385,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 644 + src/gameobjects/Creature.js line 644 @@ -3487,7 +3487,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -3577,7 +3577,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -3654,7 +3654,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 662 + src/gameobjects/Creature.js line 662 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 221 + src/gameobjects/Creature.js line 221 @@ -3820,7 +3820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3907,7 +3907,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -3996,7 +3996,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4085,7 +4085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -4172,7 +4172,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4260,7 +4260,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4346,7 +4346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -4432,7 +4432,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -4519,7 +4519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4606,7 +4606,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -4695,7 +4695,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4784,7 +4784,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4861,7 +4861,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 241 + src/gameobjects/Creature.js line 241 @@ -4945,7 +4945,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 227 + src/gameobjects/Creature.js line 227 @@ -5022,7 +5022,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 829 + src/gameobjects/Creature.js line 829 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 197 + src/gameobjects/Creature.js line 197 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 272 + src/gameobjects/Creature.js line 272 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 266 + src/gameobjects/Creature.js line 266 @@ -5352,7 +5352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 704 + src/gameobjects/Creature.js line 704 @@ -5522,7 +5522,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -5614,7 +5614,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5705,7 +5705,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5796,7 +5796,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5887,7 +5887,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5978,7 +5978,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6064,7 +6064,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6151,7 +6151,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -6238,7 +6238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -6327,7 +6327,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -6464,7 +6464,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -6655,7 +6655,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -6775,7 +6775,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -6942,7 +6942,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -7042,7 +7042,7 @@

Source:
- src/gameobjects/Creature.js line 877 + src/gameobjects/Creature.js line 877 @@ -7142,7 +7142,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -7222,7 +7222,7 @@

Source:
- src/gameobjects/Creature.js line 935 + src/gameobjects/Creature.js line 935 @@ -7302,7 +7302,7 @@

Source:
- src/gameobjects/Creature.js line 912 + src/gameobjects/Creature.js line 912 @@ -7547,7 +7547,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -7731,7 +7731,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -7898,7 +7898,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -8065,7 +8065,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -8182,7 +8182,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -8303,7 +8303,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -8423,7 +8423,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -8543,7 +8543,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -8721,7 +8721,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 616 + src/gameobjects/Creature.js line 616 @@ -8814,7 +8814,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -8903,7 +8903,7 @@

Source:
- src/gameobjects/Creature.js line 333 + src/gameobjects/Creature.js line 333 @@ -8996,7 +8996,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -9076,7 +9076,7 @@

Source:
- src/gameobjects/Creature.js line 969 + src/gameobjects/Creature.js line 969 @@ -9219,7 +9219,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -9386,7 +9386,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -9577,7 +9577,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -9816,7 +9816,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -10005,7 +10005,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -10125,7 +10125,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -10229,7 +10229,7 @@

Source:
- src/gameobjects/Creature.js line 958 + src/gameobjects/Creature.js line 958 @@ -10313,7 +10313,7 @@

Source:
- src/gameobjects/Creature.js line 865 + src/gameobjects/Creature.js line 865 @@ -10447,7 +10447,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 586 + src/gameobjects/Creature.js line 586 @@ -10581,7 +10581,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 601 + src/gameobjects/Creature.js line 601 @@ -10748,7 +10748,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -10828,7 +10828,7 @@

Source:
- src/gameobjects/Creature.js line 894 + src/gameobjects/Creature.js line 894 @@ -10912,7 +10912,7 @@

Source:
- src/gameobjects/Creature.js line 633 + src/gameobjects/Creature.js line 633 @@ -11079,7 +11079,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -11222,7 +11222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -11435,7 +11435,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -11556,7 +11556,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -11649,7 +11649,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -11838,7 +11838,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -11907,9 +11907,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -11926,7 +11926,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -11955,7 +11955,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 12fb5e8ce..1fd1f7d43 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 268 + src/utils/DOM.js line 268 @@ -529,7 +529,7 @@
Properties:
Source:
- src/utils/DOM.js line 254 + src/utils/DOM.js line 254 @@ -606,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 283 + src/utils/DOM.js line 283 @@ -683,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 293 + src/utils/DOM.js line 293 @@ -890,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 233 + src/utils/DOM.js line 233 @@ -1041,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 97 + src/utils/DOM.js line 97 @@ -1250,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 47 + src/utils/DOM.js line 47 @@ -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 144 + src/utils/DOM.js line 144 @@ -1839,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 124 + src/utils/DOM.js line 124 @@ -1906,9 +1906,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1954,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index ee85f8440..672aeb611 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -200,7 +200,7 @@

Source:
- src/utils/Device.js line 42 + src/utils/Device.js line 42 @@ -309,7 +309,7 @@
Type:
Source:
- src/utils/Device.js line 576 + src/utils/Device.js line 576 @@ -386,7 +386,7 @@
Type:
Source:
- src/utils/Device.js line 130 + src/utils/Device.js line 130 @@ -463,7 +463,7 @@
Type:
Source:
- src/utils/Device.js line 287 + src/utils/Device.js line 287 @@ -540,7 +540,7 @@
Type:
Source:
- src/utils/Device.js line 397 + src/utils/Device.js line 397 @@ -617,7 +617,7 @@
Type:
Source:
- src/utils/Device.js line 549 + src/utils/Device.js line 549 @@ -694,7 +694,7 @@
Type:
Source:
- src/utils/Device.js line 181 + src/utils/Device.js line 181 @@ -772,7 +772,7 @@
Type:
Source:
- src/utils/Device.js line 191 + src/utils/Device.js line 191 @@ -849,7 +849,7 @@
Type:
Source:
- src/utils/Device.js line 168 + src/utils/Device.js line 168 @@ -926,7 +926,7 @@
Type:
Source:
- src/utils/Device.js line 174 + src/utils/Device.js line 174 @@ -1003,7 +1003,7 @@
Type:
Source:
- src/utils/Device.js line 293 + src/utils/Device.js line 293 @@ -1080,7 +1080,7 @@
Type:
Source:
- src/utils/Device.js line 136 + src/utils/Device.js line 136 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/utils/Device.js line 299 + src/utils/Device.js line 299 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/utils/Device.js line 82 + src/utils/Device.js line 82 @@ -1311,7 +1311,7 @@
Type:
Source:
- src/utils/Device.js line 88 + src/utils/Device.js line 88 @@ -1388,7 +1388,7 @@
Type:
Source:
- src/utils/Device.js line 94 + src/utils/Device.js line 94 @@ -1465,7 +1465,7 @@
Type:
Source:
- src/utils/Device.js line 124 + src/utils/Device.js line 124 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/utils/Device.js line 228 + src/utils/Device.js line 228 @@ -1619,7 +1619,7 @@
Type:
Source:
- src/utils/Device.js line 64 + src/utils/Device.js line 64 @@ -1696,7 +1696,7 @@
Type:
Source:
- src/utils/Device.js line 49 + src/utils/Device.js line 49 @@ -1773,7 +1773,7 @@
Type:
Source:
- src/utils/Device.js line 447 + src/utils/Device.js line 447 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/utils/Device.js line 347 + src/utils/Device.js line 347 @@ -1927,7 +1927,7 @@
Type:
Source:
- src/utils/Device.js line 118 + src/utils/Device.js line 118 @@ -2004,7 +2004,7 @@
Type:
Source:
- src/utils/Device.js line 112 + src/utils/Device.js line 112 @@ -2081,7 +2081,7 @@
Type:
Source:
- src/utils/Device.js line 305 + src/utils/Device.js line 305 @@ -2158,7 +2158,7 @@
Type:
Source:
- src/utils/Device.js line 204 + src/utils/Device.js line 204 @@ -2235,7 +2235,7 @@
Type:
Source:
- src/utils/Device.js line 210 + src/utils/Device.js line 210 @@ -2312,7 +2312,7 @@
Type:
Source:
- src/utils/Device.js line 311 + src/utils/Device.js line 311 @@ -2389,7 +2389,7 @@
Type:
Source:
- src/utils/Device.js line 317 + src/utils/Device.js line 317 @@ -2466,7 +2466,7 @@
Type:
Source:
- src/utils/Device.js line 537 + src/utils/Device.js line 537 @@ -2543,7 +2543,7 @@
Type:
Source:
- src/utils/Device.js line 555 + src/utils/Device.js line 555 @@ -2627,7 +2627,7 @@
Type:
Source:
- src/utils/Device.js line 252 + src/utils/Device.js line 252 @@ -2704,7 +2704,7 @@
Type:
Source:
- src/utils/Device.js line 461 + src/utils/Device.js line 461 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/utils/Device.js line 485 + src/utils/Device.js line 485 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/utils/Device.js line 323 + src/utils/Device.js line 323 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/utils/Device.js line 329 + src/utils/Device.js line 329 @@ -3012,7 +3012,7 @@
Type:
Source:
- src/utils/Device.js line 56 + src/utils/Device.js line 56 @@ -3089,7 +3089,7 @@
Type:
Source:
- src/utils/Device.js line 70 + src/utils/Device.js line 70 @@ -3166,7 +3166,7 @@
Type:
Source:
- src/utils/Device.js line 76 + src/utils/Device.js line 76 @@ -3243,7 +3243,7 @@
Type:
Source:
- src/utils/Device.js line 505 + src/utils/Device.js line 505 @@ -3320,7 +3320,7 @@
Type:
Source:
- src/utils/Device.js line 493 + src/utils/Device.js line 493 @@ -3397,7 +3397,7 @@
Type:
Source:
- src/utils/Device.js line 499 + src/utils/Device.js line 499 @@ -3474,7 +3474,7 @@
Type:
Source:
- src/utils/Device.js line 142 + src/utils/Device.js line 142 @@ -3551,7 +3551,7 @@
Type:
Source:
- src/utils/Device.js line 525 + src/utils/Device.js line 525 @@ -3628,7 +3628,7 @@
Type:
Source:
- src/utils/Device.js line 519 + src/utils/Device.js line 519 @@ -3705,7 +3705,7 @@
Type:
Source:
- src/utils/Device.js line 216 + src/utils/Device.js line 216 @@ -3782,7 +3782,7 @@
Type:
Source:
- src/utils/Device.js line 435 + src/utils/Device.js line 435 @@ -3859,7 +3859,7 @@
Type:
Source:
- src/utils/Device.js line 148 + src/utils/Device.js line 148 @@ -3936,7 +3936,7 @@
Type:
Source:
- src/utils/Device.js line 359 + src/utils/Device.js line 359 @@ -4013,7 +4013,7 @@
Type:
Source:
- src/utils/Device.js line 353 + src/utils/Device.js line 353 @@ -4090,7 +4090,7 @@
Type:
Source:
- src/utils/Device.js line 422 + src/utils/Device.js line 422 @@ -4167,7 +4167,7 @@
Type:
Source:
- src/utils/Device.js line 467 + src/utils/Device.js line 467 @@ -4244,7 +4244,7 @@
Type:
Source:
- src/utils/Device.js line 272 + src/utils/Device.js line 272 @@ -4321,7 +4321,7 @@
Type:
Source:
- src/utils/Device.js line 100 + src/utils/Device.js line 100 @@ -4398,7 +4398,7 @@
Type:
Source:
- src/utils/Device.js line 106 + src/utils/Device.js line 106 @@ -4475,7 +4475,7 @@
Type:
Source:
- src/utils/Device.js line 410 + src/utils/Device.js line 410 @@ -4552,7 +4552,7 @@
Type:
Source:
- src/utils/Device.js line 455 + src/utils/Device.js line 455 @@ -4629,7 +4629,7 @@
Type:
Source:
- src/utils/Device.js line 365 + src/utils/Device.js line 365 @@ -4706,7 +4706,7 @@
Type:
Source:
- src/utils/Device.js line 416 + src/utils/Device.js line 416 @@ -4783,7 +4783,7 @@
Type:
Source:
- src/utils/Device.js line 513 + src/utils/Device.js line 513 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/utils/Device.js line 234 + src/utils/Device.js line 234 @@ -4937,7 +4937,7 @@
Type:
Source:
- src/utils/Device.js line 258 + src/utils/Device.js line 258 @@ -5014,7 +5014,7 @@
Type:
Source:
- src/utils/Device.js line 543 + src/utils/Device.js line 543 @@ -5091,7 +5091,7 @@
Type:
Source:
- src/utils/Device.js line 371 + src/utils/Device.js line 371 @@ -5168,7 +5168,7 @@
Type:
Source:
- src/utils/Device.js line 377 + src/utils/Device.js line 377 @@ -5245,7 +5245,7 @@
Type:
Source:
- src/utils/Device.js line 389 + src/utils/Device.js line 389 @@ -5322,7 +5322,7 @@
Type:
Source:
- src/utils/Device.js line 531 + src/utils/Device.js line 531 @@ -5399,7 +5399,7 @@
Type:
Source:
- src/utils/Device.js line 266 + src/utils/Device.js line 266 @@ -5476,7 +5476,7 @@
Type:
Source:
- src/utils/Device.js line 335 + src/utils/Device.js line 335 @@ -5553,7 +5553,7 @@
Type:
Source:
- src/utils/Device.js line 341 + src/utils/Device.js line 341 @@ -5630,7 +5630,7 @@
Type:
Source:
- src/utils/Device.js line 240 + src/utils/Device.js line 240 @@ -5707,7 +5707,7 @@
Type:
Source:
- src/utils/Device.js line 246 + src/utils/Device.js line 246 @@ -5784,7 +5784,7 @@
Type:
Source:
- src/utils/Device.js line 479 + src/utils/Device.js line 479 @@ -5861,7 +5861,7 @@
Type:
Source:
- src/utils/Device.js line 428 + src/utils/Device.js line 428 @@ -5938,7 +5938,7 @@
Type:
Source:
- src/utils/Device.js line 383 + src/utils/Device.js line 383 @@ -6015,7 +6015,7 @@
Type:
Source:
- src/utils/Device.js line 404 + src/utils/Device.js line 404 @@ -6099,7 +6099,7 @@
Type:
Source:
- src/utils/Device.js line 198 + src/utils/Device.js line 198 @@ -6183,7 +6183,7 @@
Type:
Source:
- src/utils/Device.js line 441 + src/utils/Device.js line 441 @@ -6260,7 +6260,7 @@
Type:
Source:
- src/utils/Device.js line 473 + src/utils/Device.js line 473 @@ -6385,7 +6385,7 @@
Properties:
Source:
- src/utils/Device.js line 279 + src/utils/Device.js line 279 @@ -6462,7 +6462,7 @@
Type:
Source:
- src/utils/Device.js line 154 + src/utils/Device.js line 154 @@ -6539,7 +6539,7 @@
Type:
Source:
- src/utils/Device.js line 160 + src/utils/Device.js line 160 @@ -6616,7 +6616,7 @@
Type:
Source:
- src/utils/Device.js line 222 + src/utils/Device.js line 222 @@ -6842,7 +6842,7 @@
Parameters:
Source:
- src/utils/Device.js line 592 + src/utils/Device.js line 592 @@ -6976,7 +6976,7 @@
Parameters:
Source:
- src/utils/Device.js line 1340 + src/utils/Device.js line 1340 @@ -7134,7 +7134,7 @@
Parameters:
Source:
- src/utils/Device.js line 1382 + src/utils/Device.js line 1382 @@ -7244,7 +7244,7 @@

Source:
- src/utils/Device.js line 1424 + src/utils/Device.js line 1424 @@ -7334,7 +7334,7 @@

Source:
- src/utils/Device.js line 1412 + src/utils/Device.js line 1412 @@ -7397,9 +7397,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -7416,7 +7416,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -7445,7 +7445,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index 45462d2c8..9bc8a50cf 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 317 + src/input/DeviceButton.js line 317 @@ -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 297 + src/input/DeviceButton.js line 297 @@ -1861,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 249 + src/input/DeviceButton.js line 249 @@ -2040,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 264 + src/input/DeviceButton.js line 264 @@ -2198,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 232 + src/input/DeviceButton.js line 232 @@ -2282,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 279 + src/input/DeviceButton.js line 279 @@ -2463,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 143 + src/input/DeviceButton.js line 143 @@ -2678,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 210 + src/input/DeviceButton.js line 210 @@ -2859,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 177 + src/input/DeviceButton.js line 177 @@ -2902,9 +2902,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2950,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index 2547a9a1f..38208e358 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 435 + src/tween/Easing.js line 435 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 437 + src/tween/Easing.js line 437 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 463 + src/tween/Easing.js line 463 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 450 + src/tween/Easing.js line 450 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index b4389aa5e..7acddf9c9 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 484 + src/tween/Easing.js line 484 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 486 + src/tween/Easing.js line 486 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 525 + src/tween/Easing.js line 525 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 498 + src/tween/Easing.js line 498 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index dfde43d3d..ed8e29221 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 325 + src/tween/Easing.js line 325 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 327 + src/tween/Easing.js line 327 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 351 + src/tween/Easing.js line 351 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 339 + src/tween/Easing.js line 339 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index eed75d2f4..80ef3ffba 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 88 + src/tween/Easing.js line 88 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 90 + src/tween/Easing.js line 90 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 114 + src/tween/Easing.js line 114 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 102 + src/tween/Easing.js line 102 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index 9a0bce15c..6c5b7a084 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 371 + src/tween/Easing.js line 371 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 373 + src/tween/Easing.js line 373 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 409 + src/tween/Easing.js line 409 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 391 + src/tween/Easing.js line 391 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index 82db0ad2b..c3f546b4f 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 277 + src/tween/Easing.js line 277 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 279 + src/tween/Easing.js line 279 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 303 + src/tween/Easing.js line 303 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 291 + src/tween/Easing.js line 291 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index ff85a4827..e6c40c67f 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index e0dac0f6e..1a85dba4f 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 42 + src/tween/Easing.js line 42 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 44 + src/tween/Easing.js line 44 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 68 + src/tween/Easing.js line 68 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 56 + src/tween/Easing.js line 56 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index df2da845b..78d36527f 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 134 + src/tween/Easing.js line 134 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 136 + src/tween/Easing.js line 136 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 160 + src/tween/Easing.js line 160 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 148 + src/tween/Easing.js line 148 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 72b29792f..5af235468 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 180 + src/tween/Easing.js line 180 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 182 + src/tween/Easing.js line 182 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 206 + src/tween/Easing.js line 206 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 194 + src/tween/Easing.js line 194 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index 0267c3b29..2abcd8842 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 226 + src/tween/Easing.js line 226 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 228 + src/tween/Easing.js line 228 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 256 + src/tween/Easing.js line 256 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 242 + src/tween/Easing.js line 242 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index a6ade8ec2..90a21de67 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Classes

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index e8ea906f2..f2491ae59 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 244 + src/geom/Ellipse.js line 244 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Ellipse.js line 270 + src/geom/Ellipse.js line 270 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Ellipse.js line 285 + src/geom/Ellipse.js line 285 @@ -707,7 +707,7 @@
Type:
Source:
- src/geom/Ellipse.js line 300 + src/geom/Ellipse.js line 300 @@ -784,7 +784,7 @@
Type:
Source:
- src/geom/Ellipse.js line 43 + src/geom/Ellipse.js line 43 @@ -850,7 +850,7 @@

Source:
- src/geom/Ellipse.js line 180 + src/geom/Ellipse.js line 180 @@ -927,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 199 + src/geom/Ellipse.js line 199 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 225 + src/geom/Ellipse.js line 225 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 49 + src/geom/Ellipse.js line 49 @@ -1158,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 38 + src/geom/Ellipse.js line 38 @@ -1235,7 +1235,7 @@
Type:
Source:
- src/geom/Ellipse.js line 28 + src/geom/Ellipse.js line 28 @@ -1312,7 +1312,7 @@
Type:
Source:
- src/geom/Ellipse.js line 33 + src/geom/Ellipse.js line 33 @@ -1488,7 +1488,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 323 + src/geom/Ellipse.js line 323 @@ -1722,7 +1722,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 349 + src/geom/Ellipse.js line 349 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 112 + src/geom/Ellipse.js line 112 @@ -2074,7 +2074,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 132 + src/geom/Ellipse.js line 132 @@ -2232,7 +2232,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 84 + src/geom/Ellipse.js line 84 @@ -2390,7 +2390,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 96 + src/geom/Ellipse.js line 96 @@ -2498,7 +2498,7 @@

Source:
- src/geom/Ellipse.js line 73 + src/geom/Ellipse.js line 73 @@ -2672,7 +2672,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 145 + src/geom/Ellipse.js line 145 @@ -2902,7 +2902,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 54 + src/geom/Ellipse.js line 54 @@ -3010,7 +3010,7 @@

Source:
- src/geom/Ellipse.js line 166 + src/geom/Ellipse.js line 166 @@ -3077,9 +3077,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3096,7 +3096,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3125,7 +3125,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index c6e74dde8..2c9974b8b 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 83 + src/gameobjects/components/Events.js line 83 @@ -434,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 271 + src/gameobjects/components/Events.js line 271 @@ -518,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 284 + src/gameobjects/components/Events.js line 284 @@ -602,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 258 + src/gameobjects/components/Events.js line 258 @@ -684,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 105 + src/gameobjects/components/Events.js line 105 @@ -770,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 216 + src/gameobjects/components/Events.js line 216 @@ -853,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 245 + src/gameobjects/components/Events.js line 245 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 233 + src/gameobjects/components/Events.js line 233 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 150 + src/gameobjects/components/Events.js line 150 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 187 + src/gameobjects/components/Events.js line 187 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 174 + src/gameobjects/components/Events.js line 174 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 162 + src/gameobjects/components/Events.js line 162 @@ -1358,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 201 + src/gameobjects/components/Events.js line 201 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 117 + src/gameobjects/components/Events.js line 117 @@ -1523,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 139 + src/gameobjects/components/Events.js line 139 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 94 + src/gameobjects/components/Events.js line 94 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 128 + src/gameobjects/components/Events.js line 128 @@ -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 42 + src/gameobjects/components/Events.js line 42 @@ -1885,9 +1885,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index 3ca42fed8..f92655c13 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -325,7 +325,7 @@

Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -437,7 +437,7 @@
Type:
Source:
- src/core/Filter.js line 66 + src/core/Filter.js line 66 @@ -517,7 +517,7 @@
Type:
Source:
- src/core/Filter.js line 120 + src/core/Filter.js line 120 @@ -594,7 +594,7 @@
Type:
Source:
- src/core/Filter.js line 40 + src/core/Filter.js line 40 @@ -671,7 +671,7 @@
Type:
Source:
- src/core/Filter.js line 278 + src/core/Filter.js line 278 @@ -748,7 +748,7 @@
Type:
Source:
- src/core/Filter.js line 72 + src/core/Filter.js line 72 @@ -825,7 +825,7 @@
Type:
Source:
- src/core/Filter.js line 77 + src/core/Filter.js line 77 @@ -902,7 +902,7 @@
Type:
Source:
- src/core/Filter.js line 46 + src/core/Filter.js line 46 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Filter.js line 88 + src/core/Filter.js line 88 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/core/Filter.js line 260 + src/core/Filter.js line 260 @@ -1404,7 +1404,7 @@
Parameters:
Source:
- src/core/Filter.js line 174 + src/core/Filter.js line 174 @@ -1512,7 +1512,7 @@

Source:
- src/core/Filter.js line 240 + src/core/Filter.js line 240 @@ -1596,7 +1596,7 @@

Source:
- src/core/Filter.js line 125 + src/core/Filter.js line 125 @@ -1754,7 +1754,7 @@
Parameters:
Source:
- src/core/Filter.js line 137 + src/core/Filter.js line 137 @@ -1838,7 +1838,7 @@

Source:
- src/core/Filter.js line 227 + src/core/Filter.js line 227 @@ -1984,7 +1984,7 @@
Parameters:
Source:
- src/core/Filter.js line 150 + src/core/Filter.js line 150 @@ -2027,9 +2027,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2046,7 +2046,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2075,7 +2075,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index d8ed67027..8774ec4f7 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 @@ -581,7 +581,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 46 + src/core/FlexGrid.js line 46 @@ -696,7 +696,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 55 + src/core/FlexGrid.js line 55 @@ -900,7 +900,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 102 + src/core/FlexGrid.js line 102 @@ -1070,7 +1070,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 189 + src/core/FlexGrid.js line 189 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 138 + src/core/FlexGrid.js line 138 @@ -1410,7 +1410,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 166 + src/core/FlexGrid.js line 166 @@ -1518,7 +1518,7 @@

Source:
- src/core/FlexGrid.js line 289 + src/core/FlexGrid.js line 289 @@ -1652,7 +1652,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 275 + src/core/FlexGrid.js line 275 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 233 + src/core/FlexGrid.js line 233 @@ -1894,7 +1894,7 @@

Source:
- src/core/FlexGrid.js line 248 + src/core/FlexGrid.js line 248 @@ -1978,7 +1978,7 @@

Source:
- src/core/FlexGrid.js line 212 + src/core/FlexGrid.js line 212 @@ -2136,7 +2136,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 76 + src/core/FlexGrid.js line 76 @@ -2179,9 +2179,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2198,7 +2198,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2227,7 +2227,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index 60935473f..20be29e1a 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 91 + src/core/Group.js line 91 @@ -523,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -612,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -700,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -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 791 + src/pixi/display/DisplayObject.js line 791 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -1969,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2843,7 +2843,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -3105,7 +3105,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -3220,7 +3220,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 29 + src/core/FlexLayer.js line 29 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3395,7 +3395,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3575,7 +3575,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3665,7 +3665,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3931,7 +3931,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4021,7 +4021,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -4098,7 +4098,7 @@
Type:
Source:
- src/core/FlexLayer.js line 41 + src/core/FlexLayer.js line 41 @@ -4185,7 +4185,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -4278,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4451,7 +4451,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4529,7 +4529,7 @@
Type:
Source:
- src/core/FlexLayer.js line 46 + src/core/FlexLayer.js line 46 @@ -4616,7 +4616,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4704,7 +4704,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4792,7 +4792,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4870,7 +4870,7 @@
Type:
Source:
- src/core/FlexLayer.js line 56 + src/core/FlexLayer.js line 56 @@ -4958,7 +4958,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -5031,7 +5031,7 @@
Type:
Source:
- src/core/FlexLayer.js line 61 + src/core/FlexLayer.js line 61 @@ -5104,7 +5104,7 @@
Type:
Source:
- src/core/FlexLayer.js line 66 + src/core/FlexLayer.js line 66 @@ -5177,7 +5177,7 @@
Type:
Source:
- src/core/FlexLayer.js line 71 + src/core/FlexLayer.js line 71 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -5349,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -5435,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -5521,7 +5521,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5607,7 +5607,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5699,7 +5699,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5790,7 +5790,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5881,7 +5881,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6237,7 +6237,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -6325,7 +6325,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -6412,7 +6412,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6650,7 +6650,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6928,7 +6928,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -7170,7 +7170,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -7337,7 +7337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7759,7 +7759,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7930,7 +7930,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -8325,7 +8325,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8668,7 +8668,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -9012,7 +9012,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -10020,7 +10020,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -10336,7 +10336,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10935,7 +10935,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -11102,7 +11102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -11289,7 +11289,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -11406,7 +11406,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -11523,7 +11523,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11917,7 +11917,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -12324,7 +12324,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12621,7 +12621,7 @@

Source:
- src/core/FlexLayer.js line 101 + src/core/FlexLayer.js line 101 @@ -12788,7 +12788,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -13208,7 +13208,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -13414,7 +13414,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -13720,7 +13720,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13958,7 +13958,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14196,7 +14196,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -14434,7 +14434,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -14679,7 +14679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14987,7 +14987,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -15156,7 +15156,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -15277,7 +15277,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -15459,7 +15459,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -15628,7 +15628,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15795,7 +15795,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15962,7 +15962,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -16213,7 +16213,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -16404,7 +16404,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -16763,7 +16763,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -17122,7 +17122,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -17520,7 +17520,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -17771,7 +17771,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17938,7 +17938,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -18055,7 +18055,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -18282,7 +18282,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -18510,7 +18510,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -18628,7 +18628,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18820,7 +18820,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -19207,7 +19207,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -19324,7 +19324,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -19417,7 +19417,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -19616,7 +19616,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19783,7 +19783,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19950,7 +19950,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -20190,7 +20190,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -20284,7 +20284,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -20401,7 +20401,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -20494,7 +20494,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -20588,7 +20588,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20853,7 +20853,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -21123,7 +21123,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -21400,7 +21400,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -21543,7 +21543,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -21710,7 +21710,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21901,7 +21901,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -22045,7 +22045,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -22238,7 +22238,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -22592,7 +22592,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22898,7 +22898,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -23086,7 +23086,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -23194,7 +23194,7 @@

Source:
- src/core/FlexLayer.js line 92 + src/core/FlexLayer.js line 92 @@ -23288,7 +23288,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -23381,7 +23381,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -23474,7 +23474,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -23677,7 +23677,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -23820,7 +23820,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -24236,7 +24236,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -24618,7 +24618,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24976,7 +24976,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -25143,7 +25143,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -25462,7 +25462,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -25580,7 +25580,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -25787,7 +25787,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -26003,7 +26003,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -26171,7 +26171,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -26338,7 +26338,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -26481,7 +26481,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26694,7 +26694,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -26814,7 +26814,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -26907,7 +26907,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -27096,7 +27096,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -27216,7 +27216,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -27407,7 +27407,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -27450,9 +27450,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -27469,7 +27469,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -27498,7 +27498,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index 93edfd5b0..46d01da08 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 179 + src/animation/Frame.js line 179 @@ -2090,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 201 + src/animation/Frame.js line 201 @@ -2272,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 130 + src/animation/Frame.js line 130 @@ -2550,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 150 + src/animation/Frame.js line 150 @@ -2593,9 +2593,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2641,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index c969476b4..bc9251193 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 255 + src/animation/FrameData.js line 255 @@ -413,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 30 + src/animation/FrameData.js line 30 @@ -571,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 85 + src/animation/FrameData.js line 85 @@ -679,7 +679,7 @@

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

Source:
- src/animation/FrameData.js line 240 + src/animation/FrameData.js line 240 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 51 + src/animation/FrameData.js line 51 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 68 + src/animation/FrameData.js line 68 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 196 + src/animation/FrameData.js line 196 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 129 + src/animation/FrameData.js line 129 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 150 + src/animation/FrameData.js line 150 @@ -1890,9 +1890,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1938,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index 837e70a30..e84dde65a 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -582,7 +582,7 @@
Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -687,7 +687,7 @@
Type:
Source:
- src/core/Game.js line 222 + src/core/Game.js line 222 @@ -771,7 +771,7 @@
Type:
Source:
- src/core/Game.js line 152 + src/core/Game.js line 152 @@ -848,7 +848,7 @@
Type:
Source:
- src/core/Game.js line 232 + src/core/Game.js line 232 @@ -925,7 +925,7 @@
Type:
Source:
- src/core/Game.js line 307 + src/core/Game.js line 307 @@ -1002,7 +1002,7 @@
Type:
Source:
- src/core/Game.js line 312 + src/core/Game.js line 312 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/core/Game.js line 182 + src/core/Game.js line 182 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/core/Game.js line 84 + src/core/Game.js line 84 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/core/Game.js line 317 + src/core/Game.js line 317 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/core/Game.js line 332 + src/core/Game.js line 332 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/core/Game.js line 408 + src/core/Game.js line 408 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Game.js line 322 + src/core/Game.js line 322 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/core/Game.js line 302 + src/core/Game.js line 302 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/core/Game.js line 472 + src/core/Game.js line 472 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/core/Game.js line 466 + src/core/Game.js line 466 @@ -1798,7 +1798,7 @@
Type:
Source:
- src/core/Game.js line 460 + src/core/Game.js line 460 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Game.js line 454 + src/core/Game.js line 454 @@ -1961,7 +1961,7 @@
Type:
Source:
- src/core/Game.js line 118 + src/core/Game.js line 118 @@ -2038,7 +2038,7 @@
Type:
Source:
- src/core/Game.js line 79 + src/core/Game.js line 79 @@ -2115,7 +2115,7 @@
Type:
Source:
- src/core/Game.js line 237 + src/core/Game.js line 237 @@ -2192,7 +2192,7 @@
Type:
Source:
- src/core/Game.js line 205 + src/core/Game.js line 205 @@ -2269,7 +2269,7 @@
Type:
Source:
- src/core/Game.js line 211 + src/core/Game.js line 211 @@ -2346,7 +2346,7 @@
Type:
Source:
- src/core/Game.js line 242 + src/core/Game.js line 242 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/core/Game.js line 341 + src/core/Game.js line 341 @@ -2502,7 +2502,7 @@
Type:
Source:
- src/core/Game.js line 227 + src/core/Game.js line 227 @@ -2579,7 +2579,7 @@
Type:
Source:
- src/core/Game.js line 247 + src/core/Game.js line 247 @@ -2663,7 +2663,7 @@
Type:
Source:
- src/core/Game.js line 478 + src/core/Game.js line 478 @@ -2744,7 +2744,7 @@
Type:
Source:
- src/core/Game.js line 165 + src/core/Game.js line 165 @@ -2821,7 +2821,7 @@
Type:
Source:
- src/core/Game.js line 252 + src/core/Game.js line 252 @@ -2898,7 +2898,7 @@
Type:
Source:
- src/core/Game.js line 383 + src/core/Game.js line 383 @@ -2975,7 +2975,7 @@
Type:
Source:
- src/core/Game.js line 388 + src/core/Game.js line 388 @@ -3052,7 +3052,7 @@
Type:
Source:
- src/core/Game.js line 373 + src/core/Game.js line 373 @@ -3129,7 +3129,7 @@
Type:
Source:
- src/core/Game.js line 378 + src/core/Game.js line 378 @@ -3209,7 +3209,7 @@
Type:
Source:
- src/core/Game.js line 96 + src/core/Game.js line 96 @@ -3286,7 +3286,7 @@
Type:
Source:
- src/core/Game.js line 327 + src/core/Game.js line 327 @@ -3364,7 +3364,7 @@
Type:
Source:
- src/core/Game.js line 1404 + src/core/Game.js line 1393 @@ -3441,7 +3441,7 @@
Type:
Source:
- src/core/Game.js line 347 + src/core/Game.js line 347 @@ -3518,7 +3518,7 @@
Type:
Source:
- src/core/Game.js line 361 + src/core/Game.js line 361 @@ -3595,7 +3595,7 @@
Type:
Source:
- src/core/Game.js line 287 + src/core/Game.js line 287 @@ -3672,7 +3672,7 @@
Type:
Source:
- src/core/Game.js line 89 + src/core/Game.js line 89 @@ -3749,7 +3749,7 @@
Type:
Source:
- src/core/Game.js line 292 + src/core/Game.js line 292 @@ -3833,7 +3833,7 @@
Type:
Source:
- src/core/Game.js line 485 + src/core/Game.js line 485 @@ -3910,7 +3910,7 @@
Type:
Source:
- src/core/Game.js line 171 + src/core/Game.js line 171 @@ -3987,7 +3987,7 @@
Type:
Source:
- src/core/Game.js line 217 + src/core/Game.js line 217 @@ -4067,7 +4067,7 @@
Type:
Source:
- src/core/Game.js line 188 + src/core/Game.js line 188 @@ -4144,7 +4144,7 @@
Type:
Source:
- src/core/Game.js line 422 + src/core/Game.js line 422 @@ -4221,7 +4221,7 @@
Type:
Source:
- src/core/Game.js line 194 + src/core/Game.js line 194 @@ -4305,7 +4305,7 @@
Type:
Source:
- src/core/Game.js line 127 + src/core/Game.js line 127 @@ -4382,7 +4382,7 @@
Type:
Source:
- src/core/Game.js line 297 + src/core/Game.js line 297 @@ -4459,7 +4459,7 @@
Type:
Source:
- src/core/Game.js line 257 + src/core/Game.js line 257 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/core/Game.js line 262 + src/core/Game.js line 262 @@ -4613,7 +4613,7 @@
Type:
Source:
- src/core/Game.js line 267 + src/core/Game.js line 267 @@ -4690,7 +4690,7 @@
Type:
Source:
- src/core/Game.js line 199 + src/core/Game.js line 199 @@ -4767,7 +4767,7 @@
Type:
Source:
- src/core/Game.js line 368 + src/core/Game.js line 368 @@ -4844,7 +4844,7 @@
Type:
Source:
- src/core/Game.js line 354 + src/core/Game.js line 354 @@ -4921,7 +4921,7 @@
Type:
Source:
- src/core/Game.js line 272 + src/core/Game.js line 272 @@ -4998,7 +4998,7 @@
Type:
Source:
- src/core/Game.js line 145 + src/core/Game.js line 145 @@ -5075,7 +5075,7 @@
Type:
Source:
- src/core/Game.js line 277 + src/core/Game.js line 277 @@ -5152,7 +5152,7 @@
Type:
Source:
- src/core/Game.js line 415 + src/core/Game.js line 415 @@ -5237,7 +5237,7 @@
Type:
Source:
- src/core/Game.js line 107 + src/core/Game.js line 107 @@ -5314,7 +5314,7 @@
Type:
Source:
- src/core/Game.js line 282 + src/core/Game.js line 282 @@ -5392,7 +5392,7 @@

Source:
- src/core/Game.js line 686 + src/core/Game.js line 686 @@ -5480,7 +5480,7 @@

Source:
- src/core/Game.js line 1228 + src/core/Game.js line 1228 @@ -5564,7 +5564,7 @@

Source:
- src/core/Game.js line 1205 + src/core/Game.js line 1205 @@ -5649,7 +5649,7 @@

Source:
- src/core/Game.js line 1192 + src/core/Game.js line 1192 @@ -5783,7 +5783,7 @@
Parameters:
Source:
- src/core/Game.js line 1365 + src/core/Game.js line 1354 @@ -5917,7 +5917,7 @@
Parameters:
Source:
- src/core/Game.js line 1348 + src/core/Game.js line 1337 @@ -6051,7 +6051,7 @@
Parameters:
Source:
- src/core/Game.js line 1284 + src/core/Game.js line 1284 @@ -6185,7 +6185,7 @@
Parameters:
Source:
- src/core/Game.js line 1315 + src/core/Game.js line 1310 @@ -6269,7 +6269,7 @@

Source:
- src/core/Game.js line 592 + src/core/Game.js line 592 @@ -6353,7 +6353,7 @@

Source:
- src/core/Game.js line 851 + src/core/Game.js line 851 @@ -6437,7 +6437,7 @@

Source:
- src/core/Game.js line 785 + src/core/Game.js line 785 @@ -6522,7 +6522,7 @@

Source:
- src/core/Game.js line 1216 + src/core/Game.js line 1216 @@ -6656,7 +6656,7 @@
Parameters:
Source:
- src/core/Game.js line 975 + src/core/Game.js line 975 @@ -6790,7 +6790,7 @@
Parameters:
Source:
- src/core/Game.js line 1107 + src/core/Game.js line 1107 @@ -6932,7 +6932,7 @@
Parameters:
Source:
- src/core/Game.js line 1157 + src/core/Game.js line 1157 @@ -6975,9 +6975,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6994,7 +6994,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -7023,7 +7023,7 @@
Parameters:
- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index 0904a89d9..bf9cffae1 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 112 + src/gameobjects/GameObjectCreator.js line 112 @@ -835,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 127 + src/gameobjects/GameObjectCreator.js line 127 @@ -1134,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 360 + src/gameobjects/GameObjectCreator.js line 360 @@ -1511,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 281 + src/gameobjects/GameObjectCreator.js line 281 @@ -1965,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 203 + src/gameobjects/GameObjectCreator.js line 203 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 236 + src/gameobjects/GameObjectCreator.js line 236 @@ -2408,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 387 + src/gameobjects/GameObjectCreator.js line 387 @@ -2626,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 223 + src/gameobjects/GameObjectCreator.js line 223 @@ -2962,7 +2962,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 79 + src/gameobjects/GameObjectCreator.js line 79 @@ -3239,7 +3239,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 32 + src/gameobjects/GameObjectCreator.js line 32 @@ -3537,7 +3537,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 335 + src/gameobjects/GameObjectCreator.js line 335 @@ -4021,7 +4021,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 254 + src/gameobjects/GameObjectCreator.js line 254 @@ -4311,7 +4311,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 171 + src/gameobjects/GameObjectCreator.js line 171 @@ -4605,7 +4605,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 139 + src/gameobjects/GameObjectCreator.js line 139 @@ -4880,7 +4880,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 50 + src/gameobjects/GameObjectCreator.js line 50 @@ -5134,7 +5134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 95 + src/gameobjects/GameObjectCreator.js line 95 @@ -5364,7 +5364,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 188 + src/gameobjects/GameObjectCreator.js line 188 @@ -5705,7 +5705,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 314 + src/gameobjects/GameObjectCreator.js line 314 @@ -5968,7 +5968,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 154 + src/gameobjects/GameObjectCreator.js line 154 @@ -6127,7 +6127,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 65 + src/gameobjects/GameObjectCreator.js line 65 @@ -6194,9 +6194,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6213,7 +6213,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6242,7 +6242,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index 9b2a57e56..96e8baf92 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 229 + src/gameobjects/GameObjectFactory.js line 229 @@ -836,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 259 + src/gameobjects/GameObjectFactory.js line 259 @@ -1135,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 511 + src/gameobjects/GameObjectFactory.js line 511 @@ -1513,7 +1513,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 414 + src/gameobjects/GameObjectFactory.js line 414 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 330 + src/gameobjects/GameObjectFactory.js line 330 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 126 + src/gameobjects/GameObjectFactory.js line 126 @@ -2725,7 +2725,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 369 + src/gameobjects/GameObjectFactory.js line 369 @@ -2883,7 +2883,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 34 + src/gameobjects/GameObjectFactory.js line 34 @@ -3065,7 +3065,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 538 + src/gameobjects/GameObjectFactory.js line 538 @@ -3324,7 +3324,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 353 + src/gameobjects/GameObjectFactory.js line 353 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 175 + src/gameobjects/GameObjectFactory.js line 175 @@ -4013,7 +4013,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 81 + src/gameobjects/GameObjectFactory.js line 81 @@ -4311,7 +4311,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 191 + src/gameobjects/GameObjectFactory.js line 191 @@ -4517,7 +4517,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 557 + src/gameobjects/GameObjectFactory.js line 557 @@ -4815,7 +4815,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 471 + src/gameobjects/GameObjectFactory.js line 471 @@ -5299,7 +5299,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 387 + src/gameobjects/GameObjectFactory.js line 387 @@ -5686,7 +5686,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 291 + src/gameobjects/GameObjectFactory.js line 291 @@ -5980,7 +5980,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 244 + src/gameobjects/GameObjectFactory.js line 244 @@ -6333,7 +6333,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 104 + src/gameobjects/GameObjectFactory.js line 104 @@ -6592,7 +6592,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 209 + src/gameobjects/GameObjectFactory.js line 209 @@ -6929,7 +6929,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 312 + src/gameobjects/GameObjectFactory.js line 312 @@ -7270,7 +7270,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 449 + src/gameobjects/GameObjectFactory.js line 449 @@ -7646,7 +7646,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 271 + src/gameobjects/GameObjectFactory.js line 271 @@ -7805,7 +7805,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 161 + src/gameobjects/GameObjectFactory.js line 161 @@ -8030,7 +8030,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 496 + src/gameobjects/GameObjectFactory.js line 496 @@ -8382,7 +8382,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 46 + src/gameobjects/GameObjectFactory.js line 46 @@ -8449,9 +8449,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -8468,7 +8468,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -8497,7 +8497,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index ae25ac34b..7b3993262 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 486 + src/input/Gamepad.js line 486 @@ -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 531 + src/input/Gamepad.js line 531 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 546 + src/input/Gamepad.js line 546 @@ -1271,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 561 + src/input/Gamepad.js line 561 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 576 + src/input/Gamepad.js line 576 @@ -1425,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 516 + src/input/Gamepad.js line 516 @@ -1502,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 501 + src/input/Gamepad.js line 501 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 138 + src/input/Gamepad.js line 138 @@ -1739,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 467 + src/input/Gamepad.js line 467 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 448 + src/input/Gamepad.js line 448 @@ -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:
-

+ @@ -2087,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 408 + src/input/Gamepad.js line 428 @@ -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:
-
+ @@ -2301,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 428 + src/input/Gamepad.js line 408 @@ -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 394 + src/input/Gamepad.js line 394 @@ -2493,7 +2493,7 @@

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

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

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

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

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

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index 7c2638cef..3b79ba169 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -345,7 +345,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 54 + src/gameobjects/Graphics.js line 54 @@ -503,7 +503,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -599,7 +599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -690,7 +690,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -777,7 +777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 186 @@ -874,7 +874,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -958,7 +958,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 131 + src/gameobjects/Graphics.js line 131 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 165 + src/gameobjects/Graphics.js line 165 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -1939,7 +1939,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 152 + src/gameobjects/components/Core.js line 153 @@ -2025,7 +2025,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -2112,7 +2112,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2199,7 +2199,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 177 + src/gameobjects/components/Core.js line 178 @@ -2297,7 +2297,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 276 + src/gameobjects/components/Core.js line 277 @@ -2374,7 +2374,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 87 + src/gameobjects/Graphics.js line 87 @@ -2460,7 +2460,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2551,7 +2551,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2644,7 +2644,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 241 @@ -2817,7 +2817,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -2903,7 +2903,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2999,7 +2999,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3087,7 +3087,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3174,7 +3174,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3265,7 +3265,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3358,7 +3358,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3444,7 +3444,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -3521,7 +3521,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 157 + src/gameobjects/Graphics.js line 157 @@ -3623,7 +3623,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -3710,7 +3710,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -3884,7 +3884,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 104 + src/gameobjects/Graphics.js line 104 @@ -3961,7 +3961,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 95 + src/gameobjects/Graphics.js line 95 @@ -4050,7 +4050,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4225,7 +4225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4313,7 +4313,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4399,7 +4399,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4486,7 +4486,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4575,7 +4575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4664,7 +4664,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -4741,7 +4741,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 69 + src/gameobjects/Graphics.js line 69 @@ -4828,7 +4828,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4916,7 +4916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5002,7 +5002,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -5088,7 +5088,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5180,7 +5180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5267,7 +5267,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5354,7 +5354,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5443,7 +5443,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5532,7 +5532,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5616,7 +5616,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 122 + src/gameobjects/Graphics.js line 122 @@ -5703,7 +5703,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -5780,7 +5780,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 63 + src/gameobjects/Graphics.js line 63 @@ -5879,7 +5879,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -5965,7 +5965,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6053,7 +6053,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -6150,7 +6150,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6241,7 +6241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6332,7 +6332,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6423,7 +6423,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6519,7 +6519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6605,7 +6605,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6697,7 +6697,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -6789,7 +6789,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -6878,7 +6878,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -7015,7 +7015,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7206,7 +7206,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7549,7 +7549,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -7893,7 +7893,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8195,7 +8195,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 649 + src/gameobjects/Graphics.js line 649 @@ -8446,7 +8446,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 579 + src/gameobjects/Graphics.js line 579 @@ -8625,7 +8625,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 735 + src/gameobjects/Graphics.js line 735 @@ -8899,7 +8899,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 520 + src/gameobjects/Graphics.js line 520 @@ -9003,7 +9003,7 @@

Source:
- src/gameobjects/Graphics.js line 881 + src/gameobjects/Graphics.js line 881 @@ -9166,7 +9166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9320,7 +9320,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1248 + src/gameobjects/Graphics.js line 1248 @@ -9503,7 +9503,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 275 + src/gameobjects/Graphics.js line 275 @@ -9587,7 +9587,7 @@

Source:
- src/gameobjects/Graphics.js line 1475 + src/gameobjects/Graphics.js line 1475 @@ -9769,7 +9769,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 809 + src/gameobjects/Graphics.js line 809 @@ -9995,7 +9995,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 825 + src/gameobjects/Graphics.js line 825 @@ -10152,7 +10152,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 842 + src/gameobjects/Graphics.js line 842 @@ -10374,7 +10374,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 778 + src/gameobjects/Graphics.js line 778 @@ -10620,7 +10620,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 794 + src/gameobjects/Graphics.js line 794 @@ -10766,7 +10766,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1486 + src/gameobjects/Graphics.js line 1486 @@ -10980,7 +10980,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 288 + src/gameobjects/Graphics.js line 288 @@ -11213,7 +11213,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 319 + src/gameobjects/Graphics.js line 319 @@ -11297,7 +11297,7 @@

Source:
- src/gameobjects/Graphics.js line 763 + src/gameobjects/Graphics.js line 763 @@ -11558,7 +11558,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 902 + src/gameobjects/Graphics.js line 902 @@ -11674,7 +11674,7 @@

Source:
- src/gameobjects/Graphics.js line 1119 + src/gameobjects/Graphics.js line 1119 @@ -11841,7 +11841,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -12008,7 +12008,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -12121,7 +12121,7 @@

Source:
- src/gameobjects/Graphics.js line 1213 + src/gameobjects/Graphics.js line 1213 @@ -12292,7 +12292,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1279 + src/gameobjects/Graphics.js line 1279 @@ -12409,7 +12409,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -12615,7 +12615,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 393 + src/gameobjects/Graphics.js line 393 @@ -12794,7 +12794,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 442 + src/gameobjects/Graphics.js line 442 @@ -12972,7 +12972,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 427 + src/gameobjects/Graphics.js line 427 @@ -13081,7 +13081,7 @@

Source:
- src/gameobjects/Graphics.js line 253 + src/gameobjects/Graphics.js line 253 @@ -13170,7 +13170,7 @@

Source:
- src/gameobjects/Graphics.js line 238 + src/gameobjects/Graphics.js line 238 @@ -13263,7 +13263,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -13470,7 +13470,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 465 + src/gameobjects/Graphics.js line 465 @@ -13633,7 +13633,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -13800,7 +13800,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13991,7 +13991,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -14230,7 +14230,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14419,7 +14419,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -14610,7 +14610,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -14777,7 +14777,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14920,7 +14920,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15133,7 +15133,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15254,7 +15254,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -15347,7 +15347,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15457,7 +15457,7 @@

Source:
- src/gameobjects/Graphics.js line 1299 + src/gameobjects/Graphics.js line 1299 @@ -15620,7 +15620,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15689,9 +15689,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -15708,7 +15708,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -15737,7 +15737,7 @@
Returns:
- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index 10c9794e1..df65dcb76 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 329 + src/core/Group.js line 329 @@ -647,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 322 + src/core/Group.js line 322 @@ -724,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 308 + src/core/Group.js line 308 @@ -801,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 315 + src/core/Group.js line 315 @@ -878,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 336 + src/core/Group.js line 336 @@ -955,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 343 + src/core/Group.js line 343 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 91 + src/core/Group.js line 91 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -1201,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1858,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -2176,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2358,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2437,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2865,7 +2865,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2942,7 +2942,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -3100,7 +3100,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -3177,7 +3177,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -3266,7 +3266,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3343,7 +3343,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3424,7 +3424,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3505,7 +3505,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3586,7 +3586,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3668,7 +3668,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -3993,7 +3993,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -4077,7 +4077,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -4154,7 +4154,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4241,7 +4241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4329,7 +4329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4416,7 +4416,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4495,7 +4495,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4579,7 +4579,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4668,7 +4668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4747,7 +4747,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -4978,7 +4978,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -5060,7 +5060,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5146,7 +5146,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5238,7 +5238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5420,7 +5420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5602,7 +5602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5688,7 +5688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5772,7 +5772,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -5856,7 +5856,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5934,7 +5934,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6163,7 +6163,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6665,7 +6665,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7023,7 +7023,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7245,7 +7245,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7407,7 +7407,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -7793,7 +7793,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8127,7 +8127,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8644,7 +8644,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8778,7 +8778,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9032,7 +9032,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9425,7 +9425,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -9732,7 +9732,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10025,7 +10025,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10313,7 +10313,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10480,7 +10480,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10658,7 +10658,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10766,7 +10766,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -10874,7 +10874,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11259,7 +11259,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -11657,7 +11657,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -11861,7 +11861,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12019,7 +12019,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12219,7 +12219,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12426,7 +12426,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -12623,7 +12623,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -12920,7 +12920,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13149,7 +13149,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13378,7 +13378,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -13607,7 +13607,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -13852,7 +13852,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14151,7 +14151,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14311,7 +14311,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -14423,7 +14423,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -14605,7 +14605,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -14765,7 +14765,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -14932,7 +14932,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15099,7 +15099,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15341,7 +15341,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -15523,7 +15523,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -15873,7 +15873,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16223,7 +16223,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -16612,7 +16612,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -16854,7 +16854,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17012,7 +17012,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17129,7 +17129,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -17347,7 +17347,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -17566,7 +17566,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -17675,7 +17675,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -17858,7 +17858,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18236,7 +18236,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -18344,7 +18344,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -18428,7 +18428,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -18618,7 +18618,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -18776,7 +18776,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -18934,7 +18934,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19165,7 +19165,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -19250,7 +19250,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -19358,7 +19358,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -19447,7 +19447,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -19532,7 +19532,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -19788,7 +19788,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20049,7 +20049,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -20317,7 +20317,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -20460,7 +20460,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -20627,7 +20627,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -20818,7 +20818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -20953,7 +20953,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -21137,7 +21137,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -21482,7 +21482,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -21779,7 +21779,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -21958,7 +21958,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -22067,7 +22067,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -22151,7 +22151,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -22235,7 +22235,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -22429,7 +22429,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -22563,7 +22563,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -22970,7 +22970,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -23343,7 +23343,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -23692,7 +23692,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -23859,7 +23859,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -24169,7 +24169,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -24278,7 +24278,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -24476,7 +24476,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -24683,7 +24683,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -24842,7 +24842,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -25009,7 +25009,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -25152,7 +25152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25365,7 +25365,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -25476,7 +25476,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -25569,7 +25569,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -25758,7 +25758,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -25869,7 +25869,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -26051,7 +26051,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -26094,9 +26094,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -26113,7 +26113,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -26142,7 +26142,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index 4007da9d7..ed1e07ceb 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 385 + src/geom/Hermite.js line 385 @@ -733,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 407 + src/geom/Hermite.js line 407 @@ -810,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 429 + src/geom/Hermite.js line 429 @@ -887,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 451 + src/geom/Hermite.js line 451 @@ -964,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 473 + src/geom/Hermite.js line 473 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 495 + src/geom/Hermite.js line 495 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 517 + src/geom/Hermite.js line 517 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 539 + src/geom/Hermite.js line 539 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 561 + src/geom/Hermite.js line 561 @@ -1350,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 144 + src/geom/Hermite.js line 144 @@ -1509,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 170 + src/geom/Hermite.js line 170 @@ -1687,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 328 + src/geom/Hermite.js line 328 @@ -1865,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 345 + src/geom/Hermite.js line 345 @@ -2026,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 366 + src/geom/Hermite.js line 366 @@ -2245,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 270 + src/geom/Hermite.js line 270 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 302 + src/geom/Hermite.js line 302 @@ -2642,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 206 + src/geom/Hermite.js line 206 @@ -2820,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 238 + src/geom/Hermite.js line 238 @@ -2930,7 +2930,7 @@

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

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index dd1ac1e38..2cd4e3bba 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 156 + src/gameobjects/components/Bounds.js line 156 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -2021,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2477,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2570,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -2925,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3011,7 +3011,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3107,7 +3107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3195,7 +3195,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3466,7 +3466,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3568,7 +3568,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -3655,7 +3655,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3921,7 +3921,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4009,7 +4009,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4097,7 +4097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4186,7 +4186,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4275,7 +4275,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -4622,7 +4622,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -4709,7 +4709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4796,7 +4796,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -4883,7 +4883,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -4972,7 +4972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5061,7 +5061,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5237,7 +5237,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -5419,7 +5419,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5505,7 +5505,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -5598,7 +5598,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -5691,7 +5691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -5864,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5950,7 +5950,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6027,7 +6027,7 @@
Type:
Source:
- src/gameobjects/Image.js line 48 + src/gameobjects/Image.js line 48 @@ -6126,7 +6126,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6300,7 +6300,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -6392,7 +6392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6483,7 +6483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6574,7 +6574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6665,7 +6665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -6756,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -6842,7 +6842,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6929,7 +6929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7016,7 +7016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7105,7 +7105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -7242,7 +7242,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7433,7 +7433,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7776,7 +7776,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -8120,7 +8120,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8240,7 +8240,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8407,7 +8407,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -8633,7 +8633,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8733,7 +8733,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -8978,7 +8978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -9153,7 +9153,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -9320,7 +9320,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -9604,7 +9604,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -9725,7 +9725,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -10010,7 +10010,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10106,7 +10106,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -10226,7 +10226,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -10409,7 +10409,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10715,7 +10715,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10832,7 +10832,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -10921,7 +10921,7 @@

Source:
- src/gameobjects/Image.js line 80 + src/gameobjects/Image.js line 80 @@ -11014,7 +11014,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -11157,7 +11157,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -11324,7 +11324,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -11515,7 +11515,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -11754,7 +11754,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11871,7 +11871,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -12064,7 +12064,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12229,7 +12229,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -12349,7 +12349,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -12540,7 +12540,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -12921,7 +12921,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -13121,7 +13121,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -13288,7 +13288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -13431,7 +13431,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13644,7 +13644,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -13765,7 +13765,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -13858,7 +13858,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -13978,7 +13978,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -14141,7 +14141,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -14210,9 +14210,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -14229,7 +14229,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -14258,7 +14258,7 @@
Returns:
- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index 96de113f4..8267c873e 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 113 + src/tilemap/ImageCollection.js line 113 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1621,7 +1621,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1650,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index d047abd1b..3af1b1c4c 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 411 + src/input/Input.js line 411 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 392 + src/input/Input.js line 392 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 404 + src/input/Input.js line 404 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 398 + src/input/Input.js line 398 @@ -633,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 237 + src/input/Input.js line 237 @@ -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 118 + src/input/Input.js line 118 @@ -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 290 + src/input/Input.js line 290 @@ -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 124 + src/input/Input.js line 124 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 355 + src/input/Input.js line 355 @@ -1433,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 130 + src/input/Input.js line 130 @@ -1517,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 136 + src/input/Input.js line 136 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 263 + src/input/Input.js line 263 @@ -1680,7 +1680,7 @@
Type:
Source:
- src/input/Input.js line 106 + src/input/Input.js line 106 @@ -1765,7 +1765,7 @@
Type:
Source:
- src/input/Input.js line 349 + src/input/Input.js line 349 @@ -1844,7 +1844,7 @@
Type:
Source:
- src/input/Input.js line 256 + src/input/Input.js line 256 @@ -1922,7 +1922,7 @@
Type:
Source:
- src/input/Input.js line 246 + src/input/Input.js line 246 @@ -2000,7 +2000,7 @@
Type:
Source:
- src/input/Input.js line 40 + src/input/Input.js line 40 @@ -2079,7 +2079,7 @@
Type:
Source:
- src/input/Input.js line 283 + src/input/Input.js line 283 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/input/Input.js line 73 + src/input/Input.js line 73 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/input/Input.js line 309 + src/input/Input.js line 309 @@ -2319,7 +2319,7 @@
Type:
Source:
- src/input/Input.js line 341 + src/input/Input.js line 341 @@ -2401,7 +2401,7 @@
Type:
Source:
- src/input/Input.js line 331 + src/input/Input.js line 331 @@ -2483,7 +2483,7 @@
Type:
Source:
- src/input/Input.js line 320 + src/input/Input.js line 320 @@ -2560,7 +2560,7 @@
Type:
Source:
- src/input/Input.js line 173 + src/input/Input.js line 173 @@ -2637,7 +2637,7 @@
Type:
Source:
- src/input/Input.js line 178 + src/input/Input.js line 178 @@ -2714,7 +2714,7 @@
Type:
Source:
- src/input/Input.js line 183 + src/input/Input.js line 183 @@ -2791,7 +2791,7 @@
Type:
Source:
- src/input/Input.js line 188 + src/input/Input.js line 188 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/input/Input.js line 193 + src/input/Input.js line 193 @@ -2945,7 +2945,7 @@
Type:
Source:
- src/input/Input.js line 198 + src/input/Input.js line 198 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/input/Input.js line 203 + src/input/Input.js line 203 @@ -3099,7 +3099,7 @@
Type:
Source:
- src/input/Input.js line 208 + src/input/Input.js line 208 @@ -3176,7 +3176,7 @@
Type:
Source:
- src/input/Input.js line 213 + src/input/Input.js line 213 @@ -3253,7 +3253,7 @@
Type:
Source:
- src/input/Input.js line 218 + src/input/Input.js line 218 @@ -3332,7 +3332,7 @@
Type:
Source:
- src/input/Input.js line 228 + src/input/Input.js line 228 @@ -3409,7 +3409,7 @@
Type:
Source:
- src/input/Input.js line 1249 + src/input/Input.js line 1249 @@ -3486,7 +3486,7 @@
Type:
Source:
- src/input/Input.js line 58 + src/input/Input.js line 58 @@ -3563,7 +3563,7 @@
Type:
Source:
- src/input/Input.js line 79 + src/input/Input.js line 79 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/input/Input.js line 159 + src/input/Input.js line 159 @@ -3727,7 +3727,7 @@
Type:
Source:
- src/input/Input.js line 145 + src/input/Input.js line 145 @@ -3811,7 +3811,7 @@
Type:
Source:
- src/input/Input.js line 151 + src/input/Input.js line 151 @@ -3889,7 +3889,7 @@
Type:
Source:
- src/input/Input.js line 298 + src/input/Input.js line 298 @@ -3966,7 +3966,7 @@
Type:
Source:
- src/input/Input.js line 96 + src/input/Input.js line 96 @@ -4043,7 +4043,7 @@
Type:
Source:
- src/input/Input.js line 84 + src/input/Input.js line 84 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/input/Input.js line 112 + src/input/Input.js line 112 @@ -4204,7 +4204,7 @@
Type:
Source:
- src/input/Input.js line 1279 + src/input/Input.js line 1279 @@ -4281,7 +4281,7 @@
Type:
Source:
- src/input/Input.js line 1264 + src/input/Input.js line 1264 @@ -4360,7 +4360,7 @@
Type:
Source:
- src/input/Input.js line 273 + src/input/Input.js line 273 @@ -4439,7 +4439,7 @@
Type:
Source:
- src/input/Input.js line 168 + src/input/Input.js line 168 @@ -4516,7 +4516,7 @@
Type:
Source:
- src/input/Input.js line 1294 + src/input/Input.js line 1294 @@ -4593,7 +4593,7 @@
Type:
Source:
- src/input/Input.js line 1309 + src/input/Input.js line 1309 @@ -4671,7 +4671,7 @@
Type:
Source:
- src/input/Input.js line 1209 + src/input/Input.js line 1209 @@ -4749,7 +4749,7 @@
Type:
Source:
- src/input/Input.js line 1229 + src/input/Input.js line 1229 @@ -4912,7 +4912,7 @@
Parameters:
Source:
- src/input/Input.js line 576 + src/input/Input.js line 576 @@ -4998,7 +4998,7 @@

Source:
- src/input/Input.js line 691 + src/input/Input.js line 691 @@ -5254,7 +5254,7 @@
Parameters:
Source:
- src/input/Input.js line 602 + src/input/Input.js line 602 @@ -5388,7 +5388,7 @@
Parameters:
Source:
- src/input/Input.js line 426 + src/input/Input.js line 426 @@ -5546,7 +5546,7 @@
Parameters:
Source:
- src/input/Input.js line 670 + src/input/Input.js line 670 @@ -5630,7 +5630,7 @@

Source:
- src/input/Input.js line 518 + src/input/Input.js line 518 @@ -5791,7 +5791,7 @@
Parameters:
Source:
- src/input/Input.js line 1042 + src/input/Input.js line 1042 @@ -5969,7 +5969,7 @@
Parameters:
Source:
- src/input/Input.js line 967 + src/input/Input.js line 967 @@ -6129,7 +6129,7 @@
Parameters:
Source:
- src/input/Input.js line 1017 + src/input/Input.js line 1017 @@ -6290,7 +6290,7 @@
Parameters:
Source:
- src/input/Input.js line 991 + src/input/Input.js line 991 @@ -6496,7 +6496,7 @@
Parameters:
Source:
- src/input/Input.js line 1063 + src/input/Input.js line 1063 @@ -6654,7 +6654,7 @@
Parameters:
Source:
- src/input/Input.js line 623 + src/input/Input.js line 623 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/input/Input.js line 768 + src/input/Input.js line 768 @@ -6993,7 +6993,7 @@
Parameters:
Source:
- src/input/Input.js line 821 + src/input/Input.js line 821 @@ -7164,7 +7164,7 @@
Parameters:
Source:
- src/input/Input.js line 548 + src/input/Input.js line 548 @@ -7299,7 +7299,7 @@
Parameters:
Source:
- src/input/Input.js line 834 + src/input/Input.js line 834 @@ -7457,7 +7457,7 @@
Parameters:
Source:
- src/input/Input.js line 907 + src/input/Input.js line 907 @@ -7565,7 +7565,7 @@

Source:
- src/input/Input.js line 716 + src/input/Input.js line 716 @@ -7700,7 +7700,7 @@
Parameters:
Source:
- src/input/Input.js line 873 + src/input/Input.js line 873 @@ -7767,9 +7767,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -7786,7 +7786,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -7815,7 +7815,7 @@
Returns:
- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index 727c106cf..757979a15 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 1661 + src/input/InputHandler.js line 1661 @@ -2913,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1710 + src/input/InputHandler.js line 1710 @@ -3124,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 777 + src/input/InputHandler.js line 777 @@ -3339,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 690 + src/input/InputHandler.js line 690 @@ -3554,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 734 + src/input/InputHandler.js line 734 @@ -3658,7 +3658,7 @@

Source:
- src/input/InputHandler.js line 424 + src/input/InputHandler.js line 424 @@ -3743,7 +3743,7 @@

Source:
- src/input/InputHandler.js line 1434 + src/input/InputHandler.js line 1434 @@ -3827,7 +3827,7 @@

Source:
- src/input/InputHandler.js line 1650 + src/input/InputHandler.js line 1650 @@ -3981,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1358 + src/input/InputHandler.js line 1358 @@ -4369,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1377 + src/input/InputHandler.js line 1377 @@ -4716,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1623 + src/input/InputHandler.js line 1623 @@ -4850,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1552 + src/input/InputHandler.js line 1552 @@ -5008,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1518 + src/input/InputHandler.js line 1518 @@ -5142,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1535 + src/input/InputHandler.js line 1535 @@ -5226,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 487 + src/input/InputHandler.js line 487 @@ -5440,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1291 + src/input/InputHandler.js line 1291 @@ -5650,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1275 + src/input/InputHandler.js line 1275 @@ -5860,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1307 + src/input/InputHandler.js line 1307 @@ -6070,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1323 + src/input/InputHandler.js line 1323 @@ -6244,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1339 + src/input/InputHandler.js line 1339 @@ -6423,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 528 + src/input/InputHandler.js line 528 @@ -6603,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 676 + src/input/InputHandler.js line 676 @@ -6781,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 618 + src/input/InputHandler.js line 618 @@ -6959,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 586 + src/input/InputHandler.js line 586 @@ -7139,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 558 + src/input/InputHandler.js line 558 @@ -7313,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 662 + src/input/InputHandler.js line 662 @@ -7487,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 648 + src/input/InputHandler.js line 648 @@ -7661,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 572 + src/input/InputHandler.js line 572 @@ -7836,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 543 + src/input/InputHandler.js line 543 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 498 + src/input/InputHandler.js line 498 @@ -8196,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 513 + src/input/InputHandler.js line 513 @@ -8304,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 377 + src/input/InputHandler.js line 377 @@ -8498,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1607 + src/input/InputHandler.js line 1607 @@ -8692,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 283 + src/input/InputHandler.js line 283 @@ -8850,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1456 + src/input/InputHandler.js line 1456 @@ -8934,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 405 + src/input/InputHandler.js line 405 @@ -9068,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1571 + src/input/InputHandler.js line 1571 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 845 + src/input/InputHandler.js line 845 @@ -9454,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 449 + src/input/InputHandler.js line 449 @@ -9521,9 +9521,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -9540,7 +9540,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -9569,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index e6e205c0c..e84cb4a96 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 367 + src/input/Key.js line 367 @@ -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 323 + src/input/Key.js line 323 @@ -1208,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 345 + src/input/Key.js line 345 @@ -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 267 + src/input/Key.js line 267 @@ -2159,7 +2159,7 @@

Source:
- src/input/Key.js line 297 + src/input/Key.js line 297 @@ -2268,7 +2268,7 @@

Source:
- src/input/Key.js line 309 + src/input/Key.js line 309 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 164 + src/input/Key.js line 164 @@ -2560,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 203 + src/input/Key.js line 203 @@ -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 138 + src/input/Key.js line 138 @@ -2955,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 282 + src/input/Key.js line 282 @@ -3022,9 +3022,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3070,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index c720d8664..2c3cd9e22 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 646 + src/input/Keyboard.js line 646 @@ -277,7 +277,7 @@

Source:
- src/input/Keyboard.js line 648 + src/input/Keyboard.js line 648 @@ -339,7 +339,7 @@

Source:
- src/input/Keyboard.js line 900 + src/input/Keyboard.js line 900 @@ -401,7 +401,7 @@

Source:
- src/input/Keyboard.js line 651 + src/input/Keyboard.js line 651 @@ -463,7 +463,7 @@

Source:
- src/input/Keyboard.js line 882 + src/input/Keyboard.js line 882 @@ -525,7 +525,7 @@

Source:
- src/input/Keyboard.js line 873 + src/input/Keyboard.js line 873 @@ -587,7 +587,7 @@

Source:
- src/input/Keyboard.js line 654 + src/input/Keyboard.js line 654 @@ -649,7 +649,7 @@

Source:
- src/input/Keyboard.js line 903 + src/input/Keyboard.js line 903 @@ -711,7 +711,7 @@

Source:
- src/input/Keyboard.js line 888 + src/input/Keyboard.js line 888 @@ -773,7 +773,7 @@

Source:
- src/input/Keyboard.js line 876 + src/input/Keyboard.js line 876 @@ -835,7 +835,7 @@

Source:
- src/input/Keyboard.js line 849 + src/input/Keyboard.js line 849 @@ -897,7 +897,7 @@

Source:
- src/input/Keyboard.js line 855 + src/input/Keyboard.js line 855 @@ -959,7 +959,7 @@

Source:
- src/input/Keyboard.js line 897 + src/input/Keyboard.js line 897 @@ -1021,7 +1021,7 @@

Source:
- src/input/Keyboard.js line 657 + src/input/Keyboard.js line 657 @@ -1083,7 +1083,7 @@

Source:
- src/input/Keyboard.js line 945 + src/input/Keyboard.js line 945 @@ -1145,7 +1145,7 @@

Source:
- src/input/Keyboard.js line 933 + src/input/Keyboard.js line 933 @@ -1207,7 +1207,7 @@

Source:
- src/input/Keyboard.js line 660 + src/input/Keyboard.js line 660 @@ -1269,7 +1269,7 @@

Source:
- src/input/Keyboard.js line 750 + src/input/Keyboard.js line 750 @@ -1331,7 +1331,7 @@

Source:
- src/input/Keyboard.js line 918 + src/input/Keyboard.js line 918 @@ -1393,7 +1393,7 @@

Source:
- src/input/Keyboard.js line 891 + src/input/Keyboard.js line 891 @@ -1455,7 +1455,7 @@

Source:
- src/input/Keyboard.js line 852 + src/input/Keyboard.js line 852 @@ -1517,7 +1517,7 @@

Source:
- src/input/Keyboard.js line 906 + src/input/Keyboard.js line 906 @@ -1579,7 +1579,7 @@

Source:
- src/input/Keyboard.js line 663 + src/input/Keyboard.js line 663 @@ -1641,7 +1641,7 @@

Source:
- src/input/Keyboard.js line 804 + src/input/Keyboard.js line 804 @@ -1703,7 +1703,7 @@

Source:
- src/input/Keyboard.js line 807 + src/input/Keyboard.js line 807 @@ -1765,7 +1765,7 @@

Source:
- src/input/Keyboard.js line 810 + src/input/Keyboard.js line 810 @@ -1827,7 +1827,7 @@

Source:
- src/input/Keyboard.js line 813 + src/input/Keyboard.js line 813 @@ -1889,7 +1889,7 @@

Source:
- src/input/Keyboard.js line 816 + src/input/Keyboard.js line 816 @@ -1951,7 +1951,7 @@

Source:
- src/input/Keyboard.js line 819 + src/input/Keyboard.js line 819 @@ -2013,7 +2013,7 @@

Source:
- src/input/Keyboard.js line 822 + src/input/Keyboard.js line 822 @@ -2075,7 +2075,7 @@

Source:
- src/input/Keyboard.js line 825 + src/input/Keyboard.js line 825 @@ -2137,7 +2137,7 @@

Source:
- src/input/Keyboard.js line 828 + src/input/Keyboard.js line 828 @@ -2199,7 +2199,7 @@

Source:
- src/input/Keyboard.js line 831 + src/input/Keyboard.js line 831 @@ -2261,7 +2261,7 @@

Source:
- src/input/Keyboard.js line 834 + src/input/Keyboard.js line 834 @@ -2323,7 +2323,7 @@

Source:
- src/input/Keyboard.js line 837 + src/input/Keyboard.js line 837 @@ -2385,7 +2385,7 @@

Source:
- src/input/Keyboard.js line 840 + src/input/Keyboard.js line 840 @@ -2447,7 +2447,7 @@

Source:
- src/input/Keyboard.js line 843 + src/input/Keyboard.js line 843 @@ -2509,7 +2509,7 @@

Source:
- src/input/Keyboard.js line 846 + src/input/Keyboard.js line 846 @@ -2571,7 +2571,7 @@

Source:
- src/input/Keyboard.js line 741 + src/input/Keyboard.js line 741 @@ -2633,7 +2633,7 @@

Source:
- src/input/Keyboard.js line 738 + src/input/Keyboard.js line 738 @@ -2695,7 +2695,7 @@

Source:
- src/input/Keyboard.js line 666 + src/input/Keyboard.js line 666 @@ -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 948 + src/input/Keyboard.js line 948 @@ -2881,7 +2881,7 @@

Source:
- src/input/Keyboard.js line 921 + src/input/Keyboard.js line 921 @@ -2943,7 +2943,7 @@

Source:
- src/input/Keyboard.js line 672 + src/input/Keyboard.js line 672 @@ -3005,7 +3005,7 @@

Source:
- src/input/Keyboard.js line 942 + src/input/Keyboard.js line 942 @@ -3067,7 +3067,7 @@

Source:
- src/input/Keyboard.js line 675 + src/input/Keyboard.js line 675 @@ -3129,7 +3129,7 @@

Source:
- src/input/Keyboard.js line 678 + src/input/Keyboard.js line 678 @@ -3191,7 +3191,7 @@

Source:
- src/input/Keyboard.js line 681 + src/input/Keyboard.js line 681 @@ -3253,7 +3253,7 @@

Source:
- src/input/Keyboard.js line 924 + src/input/Keyboard.js line 924 @@ -3315,7 +3315,7 @@

Source:
- src/input/Keyboard.js line 684 + src/input/Keyboard.js line 684 @@ -3377,7 +3377,7 @@

Source:
- src/input/Keyboard.js line 939 + src/input/Keyboard.js line 939 @@ -3439,7 +3439,7 @@

Source:
- src/input/Keyboard.js line 687 + src/input/Keyboard.js line 687 @@ -3501,7 +3501,7 @@

Source:
- src/input/Keyboard.js line 753 + src/input/Keyboard.js line 753 @@ -3563,7 +3563,7 @@

Source:
- src/input/Keyboard.js line 951 + src/input/Keyboard.js line 951 @@ -3625,7 +3625,7 @@

Source:
- src/input/Keyboard.js line 756 + src/input/Keyboard.js line 756 @@ -3687,7 +3687,7 @@

Source:
- src/input/Keyboard.js line 759 + src/input/Keyboard.js line 759 @@ -3749,7 +3749,7 @@

Source:
- src/input/Keyboard.js line 762 + src/input/Keyboard.js line 762 @@ -3811,7 +3811,7 @@

Source:
- src/input/Keyboard.js line 765 + src/input/Keyboard.js line 765 @@ -3873,7 +3873,7 @@

Source:
- src/input/Keyboard.js line 768 + src/input/Keyboard.js line 768 @@ -3935,7 +3935,7 @@

Source:
- src/input/Keyboard.js line 771 + src/input/Keyboard.js line 771 @@ -3997,7 +3997,7 @@

Source:
- src/input/Keyboard.js line 774 + src/input/Keyboard.js line 774 @@ -4059,7 +4059,7 @@

Source:
- src/input/Keyboard.js line 777 + src/input/Keyboard.js line 777 @@ -4121,7 +4121,7 @@

Source:
- src/input/Keyboard.js line 780 + src/input/Keyboard.js line 780 @@ -4183,7 +4183,7 @@

Source:
- src/input/Keyboard.js line 783 + src/input/Keyboard.js line 783 @@ -4245,7 +4245,7 @@

Source:
- src/input/Keyboard.js line 789 + src/input/Keyboard.js line 789 @@ -4307,7 +4307,7 @@

Source:
- src/input/Keyboard.js line 798 + src/input/Keyboard.js line 798 @@ -4369,7 +4369,7 @@

Source:
- src/input/Keyboard.js line 801 + src/input/Keyboard.js line 801 @@ -4431,7 +4431,7 @@

Source:
- src/input/Keyboard.js line 792 + src/input/Keyboard.js line 792 @@ -4493,7 +4493,7 @@

Source:
- src/input/Keyboard.js line 786 + src/input/Keyboard.js line 786 @@ -4555,7 +4555,7 @@

Source:
- src/input/Keyboard.js line 795 + src/input/Keyboard.js line 795 @@ -4617,7 +4617,7 @@

Source:
- src/input/Keyboard.js line 690 + src/input/Keyboard.js line 690 @@ -4679,7 +4679,7 @@

Source:
- src/input/Keyboard.js line 729 + src/input/Keyboard.js line 729 @@ -4741,7 +4741,7 @@

Source:
- src/input/Keyboard.js line 870 + src/input/Keyboard.js line 870 @@ -4803,7 +4803,7 @@

Source:
- src/input/Keyboard.js line 693 + src/input/Keyboard.js line 693 @@ -4865,7 +4865,7 @@

Source:
- src/input/Keyboard.js line 915 + src/input/Keyboard.js line 915 @@ -4927,7 +4927,7 @@

Source:
- src/input/Keyboard.js line 912 + src/input/Keyboard.js line 912 @@ -4989,7 +4989,7 @@

Source:
- src/input/Keyboard.js line 861 + src/input/Keyboard.js line 861 @@ -5051,7 +5051,7 @@

Source:
- src/input/Keyboard.js line 936 + src/input/Keyboard.js line 936 @@ -5113,7 +5113,7 @@

Source:
- src/input/Keyboard.js line 696 + src/input/Keyboard.js line 696 @@ -5175,7 +5175,7 @@

Source:
- src/input/Keyboard.js line 864 + src/input/Keyboard.js line 864 @@ -5237,7 +5237,7 @@

Source:
- src/input/Keyboard.js line 879 + src/input/Keyboard.js line 879 @@ -5299,7 +5299,7 @@

Source:
- src/input/Keyboard.js line 699 + src/input/Keyboard.js line 699 @@ -5361,7 +5361,7 @@

Source:
- src/input/Keyboard.js line 930 + src/input/Keyboard.js line 930 @@ -5423,7 +5423,7 @@

Source:
- src/input/Keyboard.js line 702 + src/input/Keyboard.js line 702 @@ -5485,7 +5485,7 @@

Source:
- src/input/Keyboard.js line 747 + src/input/Keyboard.js line 747 @@ -5547,7 +5547,7 @@

Source:
- src/input/Keyboard.js line 894 + src/input/Keyboard.js line 894 @@ -5609,7 +5609,7 @@

Source:
- src/input/Keyboard.js line 744 + src/input/Keyboard.js line 744 @@ -5671,7 +5671,7 @@

Source:
- src/input/Keyboard.js line 909 + src/input/Keyboard.js line 909 @@ -5733,7 +5733,7 @@

Source:
- src/input/Keyboard.js line 705 + src/input/Keyboard.js line 705 @@ -5795,7 +5795,7 @@

Source:
- src/input/Keyboard.js line 885 + src/input/Keyboard.js line 885 @@ -5857,7 +5857,7 @@

Source:
- src/input/Keyboard.js line 735 + src/input/Keyboard.js line 735 @@ -5919,7 +5919,7 @@

Source:
- src/input/Keyboard.js line 867 + src/input/Keyboard.js line 867 @@ -5981,7 +5981,7 @@

Source:
- src/input/Keyboard.js line 732 + src/input/Keyboard.js line 732 @@ -6043,7 +6043,7 @@

Source:
- src/input/Keyboard.js line 708 + src/input/Keyboard.js line 708 @@ -6105,7 +6105,7 @@

Source:
- src/input/Keyboard.js line 858 + src/input/Keyboard.js line 858 @@ -6167,7 +6167,7 @@

Source:
- src/input/Keyboard.js line 927 + src/input/Keyboard.js line 927 @@ -6229,7 +6229,7 @@

Source:
- src/input/Keyboard.js line 711 + src/input/Keyboard.js line 711 @@ -6291,7 +6291,7 @@

Source:
- src/input/Keyboard.js line 714 + src/input/Keyboard.js line 714 @@ -6353,7 +6353,7 @@

Source:
- src/input/Keyboard.js line 717 + src/input/Keyboard.js line 717 @@ -6415,7 +6415,7 @@

Source:
- src/input/Keyboard.js line 720 + src/input/Keyboard.js line 720 @@ -6477,7 +6477,7 @@

Source:
- src/input/Keyboard.js line 723 + src/input/Keyboard.js line 723 @@ -6539,7 +6539,7 @@

Source:
- src/input/Keyboard.js line 726 + src/input/Keyboard.js line 726 @@ -6572,9 +6572,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6591,7 +6591,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6620,7 +6620,7 @@

- + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index e334edd08..708cdc13f 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 33 + src/input/Keyboard.js line 33 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Keyboard.js line 55 + src/input/Keyboard.js line 55 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 40 + src/input/Keyboard.js line 40 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 45 + src/input/Keyboard.js line 45 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 26 + src/input/Keyboard.js line 26 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 588 + src/input/Keyboard.js line 588 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 614 + src/input/Keyboard.js line 614 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 60 + src/input/Keyboard.js line 60 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 65 + src/input/Keyboard.js line 65 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 70 + src/input/Keyboard.js line 70 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Keyboard.js line 50 + src/input/Keyboard.js line 50 @@ -1381,7 +1381,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 120 + src/input/Keyboard.js line 120 @@ -1516,7 +1516,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 162 + src/input/Keyboard.js line 162 @@ -1684,7 +1684,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 315 + src/input/Keyboard.js line 315 @@ -1822,7 +1822,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 182 + src/input/Keyboard.js line 182 @@ -1930,7 +1930,7 @@

Source:
- src/input/Keyboard.js line 353 + src/input/Keyboard.js line 353 @@ -2014,7 +2014,7 @@

Source:
- src/input/Keyboard.js line 223 + src/input/Keyboard.js line 223 @@ -2123,7 +2123,7 @@

Source:
- src/input/Keyboard.js line 299 + src/input/Keyboard.js line 299 @@ -2314,7 +2314,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 501 + src/input/Keyboard.js line 501 @@ -2472,7 +2472,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 567 + src/input/Keyboard.js line 567 @@ -2630,7 +2630,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 381 + src/input/Keyboard.js line 381 @@ -2764,7 +2764,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 420 + src/input/Keyboard.js line 420 @@ -2898,7 +2898,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 442 + src/input/Keyboard.js line 442 @@ -2982,7 +2982,7 @@

Source:
- src/input/Keyboard.js line 149 + src/input/Keyboard.js line 149 @@ -3116,7 +3116,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 207 + src/input/Keyboard.js line 207 @@ -3250,7 +3250,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 342 + src/input/Keyboard.js line 342 @@ -3404,7 +3404,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 478 + src/input/Keyboard.js line 478 @@ -3489,7 +3489,7 @@

Source:
- src/input/Keyboard.js line 234 + src/input/Keyboard.js line 234 @@ -3593,7 +3593,7 @@

Source:
- src/input/Keyboard.js line 281 + src/input/Keyboard.js line 281 @@ -3677,7 +3677,7 @@

Source:
- src/input/Keyboard.js line 363 + src/input/Keyboard.js line 363 @@ -3871,7 +3871,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 522 + src/input/Keyboard.js line 522 @@ -3938,9 +3938,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3957,7 +3957,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3986,7 +3986,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index d59bf9753..9daa3ce4d 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 373 + src/geom/Line.js line 373 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 485 + src/geom/Line.js line 485 @@ -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 513 + src/geom/Line.js line 513 @@ -783,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 443 + src/geom/Line.js line 443 @@ -860,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 359 + src/geom/Line.js line 359 @@ -937,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 555 + src/geom/Line.js line 555 @@ -1014,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 527 + src/geom/Line.js line 527 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 541 + src/geom/Line.js line 541 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 401 + src/geom/Line.js line 401 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 457 + src/geom/Line.js line 457 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/geom/Line.js line 387 + src/geom/Line.js line 387 @@ -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 471 + src/geom/Line.js line 471 @@ -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 499 + src/geom/Line.js line 499 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 415 + src/geom/Line.js line 415 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 429 + src/geom/Line.js line 429 @@ -1989,7 +1989,7 @@
Parameters:
Source:
- src/geom/Line.js line 738 + src/geom/Line.js line 738 @@ -2283,7 +2283,7 @@
Parameters:
Source:
- src/geom/Line.js line 624 + src/geom/Line.js line 624 @@ -2649,7 +2649,7 @@
Parameters:
Source:
- src/geom/Line.js line 569 + src/geom/Line.js line 569 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/geom/Line.js line 643 + src/geom/Line.js line 643 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/geom/Line.js line 803 + src/geom/Line.js line 803 @@ -3208,7 +3208,7 @@
Parameters:
Source:
- src/geom/Line.js line 205 + src/geom/Line.js line 205 @@ -3378,7 +3378,7 @@
Parameters:
Source:
- src/geom/Line.js line 337 + src/geom/Line.js line 337 @@ -3595,7 +3595,7 @@
Parameters:
Source:
- src/geom/Line.js line 281 + src/geom/Line.js line 281 @@ -3825,7 +3825,7 @@
Parameters:
Source:
- src/geom/Line.js line 97 + src/geom/Line.js line 97 @@ -4007,7 +4007,7 @@
Parameters:
Source:
- src/geom/Line.js line 68 + src/geom/Line.js line 68 @@ -4260,7 +4260,7 @@
Parameters:
Source:
- src/geom/Line.js line 75 + src/geom/Line.js line 75 @@ -4514,7 +4514,7 @@
Parameters:
Source:
- src/geom/Line.js line 159 + src/geom/Line.js line 159 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/geom/Line.js line 188 + src/geom/Line.js line 188 @@ -4934,7 +4934,7 @@
Parameters:
Source:
- src/geom/Line.js line 228 + src/geom/Line.js line 228 @@ -5184,7 +5184,7 @@
Parameters:
Source:
- src/geom/Line.js line 242 + src/geom/Line.js line 242 @@ -5358,7 +5358,7 @@
Parameters:
Source:
- src/geom/Line.js line 261 + src/geom/Line.js line 261 @@ -5517,7 +5517,7 @@
Parameters:
Source:
- src/geom/Line.js line 175 + src/geom/Line.js line 175 @@ -5734,7 +5734,7 @@
Parameters:
Source:
- src/geom/Line.js line 115 + src/geom/Line.js line 115 @@ -6021,7 +6021,7 @@
Parameters:
Source:
- src/geom/Line.js line 139 + src/geom/Line.js line 139 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Line.js line 43 + src/geom/Line.js line 43 @@ -6386,9 +6386,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6405,7 +6405,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6434,7 +6434,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index e61d2c3ca..7870f7849 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 58 + src/utils/LinkedList.js line 58 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 152 + src/utils/LinkedList.js line 152 @@ -1020,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 104 + src/utils/LinkedList.js line 104 @@ -1104,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 90 + src/utils/LinkedList.js line 90 @@ -1147,9 +1147,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1166,7 +1166,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1195,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index b81494a73..ff8407efc 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 321 + src/loader/Loader.js line 321 @@ -409,7 +409,7 @@
Type:
Source:
- src/loader/Loader.js line 327 + src/loader/Loader.js line 327 @@ -482,7 +482,7 @@
Type:
Source:
- src/loader/Loader.js line 303 + src/loader/Loader.js line 303 @@ -555,7 +555,7 @@
Type:
Source:
- src/loader/Loader.js line 309 + src/loader/Loader.js line 309 @@ -628,7 +628,7 @@
Type:
Source:
- src/loader/Loader.js line 333 + src/loader/Loader.js line 333 @@ -701,7 +701,7 @@
Type:
Source:
- src/loader/Loader.js line 315 + src/loader/Loader.js line 315 @@ -820,7 +820,7 @@
Properties:
Source:
- src/loader/Loader.js line 227 + src/loader/Loader.js line 227 @@ -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 210 + src/loader/Loader.js line 210 @@ -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 @@ -1381,7 +1381,7 @@
Type:
Source:
- src/loader/Loader.js line 128 + src/loader/Loader.js line 128 @@ -1458,7 +1458,7 @@
Type:
Source:
- src/loader/Loader.js line 50 + src/loader/Loader.js line 50 @@ -1537,7 +1537,7 @@
Type:
Source:
- src/loader/Loader.js line 221 + src/loader/Loader.js line 221 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/loader/Loader.js line 148 + src/loader/Loader.js line 148 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Loader.js line 190 + src/loader/Loader.js line 190 @@ -1774,7 +1774,7 @@
Type:
Source:
- src/loader/Loader.js line 201 + src/loader/Loader.js line 201 @@ -1853,7 +1853,7 @@
Type:
Source:
- src/loader/Loader.js line 177 + src/loader/Loader.js line 177 @@ -1931,7 +1931,7 @@
Type:
Source:
- src/loader/Loader.js line 156 + src/loader/Loader.js line 156 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/loader/Loader.js line 140 + src/loader/Loader.js line 140 @@ -2088,7 +2088,7 @@
Type:
Source:
- src/loader/Loader.js line 167 + src/loader/Loader.js line 167 @@ -2175,7 +2175,7 @@
Type:
Source:
- src/loader/Loader.js line 105 + src/loader/Loader.js line 105 @@ -2253,7 +2253,7 @@
Type:
Source:
- src/loader/Loader.js line 67 + src/loader/Loader.js line 67 @@ -2368,7 +2368,7 @@
Properties:
Source:
- src/loader/Loader.js line 3165 + src/loader/Loader.js line 3165 @@ -2485,7 +2485,7 @@
Properties:
Source:
- src/loader/Loader.js line 3146 + src/loader/Loader.js line 3146 @@ -2562,7 +2562,7 @@
Type:
Source:
- src/loader/Loader.js line 43 + src/loader/Loader.js line 43 @@ -2715,7 +2715,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1849 + src/loader/Loader.js line 1849 @@ -3088,7 +3088,7 @@
Parameters:
Source:
- src/loader/Loader.js line 508 + src/loader/Loader.js line 508 @@ -3410,7 +3410,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1717 + src/loader/Loader.js line 1717 @@ -3699,7 +3699,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1574 + src/loader/Loader.js line 1574 @@ -3988,7 +3988,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1619 + src/loader/Loader.js line 1619 @@ -4277,7 +4277,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1664 + src/loader/Loader.js line 1664 @@ -4544,7 +4544,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1140 + src/loader/Loader.js line 1140 @@ -4597,8 +4597,8 @@
Returns:
-

- audiosprite(key, urls [, jsonURL] [, jsonData] [, autoDecode]) +

+ audioSprite(key, urls [, jsonURL] [, jsonData] [, autoDecode])

@@ -4607,7 +4607,13 @@

-

A legacy alias for Loader.audioSprite. Please see that method for documentation.

+

Adds an audio sprite file to the current load queue.

+

The file is not loaded immediately after calling this method. The file is added to the queue ready to be loaded when the loader starts.

+

The key must be a unique String. It is used to add the file to the Phaser.Cache upon successful load.

+

Audio Sprites are a combination of audio files and a JSON configuration.

+

The JSON follows the format of that created by https://github.com/tonistiigi/audiosprite

+

Retrieve the file via Cache.getSoundData(key).

+

The URL can be relative or absolute. If the URL is relative the Loader.baseURL and Loader.path values will be prepended to it.

@@ -4881,7 +4887,7 @@

Parameters:
Source:
- src/loader/Loader.js line 1240 + src/loader/Loader.js line 1182 @@ -4934,8 +4940,8 @@
Returns:
-

- audioSprite(key, urls [, jsonURL] [, jsonData] [, autoDecode]) +

+ audiosprite(key, urls [, jsonURL] [, jsonData] [, autoDecode])

@@ -4944,13 +4950,7 @@

-

Adds an audio sprite file to the current load queue.

-

The file is not loaded immediately after calling this method. The file is added to the queue ready to be loaded when the loader starts.

-

The key must be a unique String. It is used to add the file to the Phaser.Cache upon successful load.

-

Audio Sprites are a combination of audio files and a JSON configuration.

-

The JSON follows the format of that created by https://github.com/tonistiigi/audiosprite

-

Retrieve the file via Cache.getSoundData(key).

-

The URL can be relative or absolute. If the URL is relative the Loader.baseURL and Loader.path values will be prepended to it.

+

A legacy alias for Loader.audioSprite. Please see that method for documentation.

@@ -5224,7 +5224,7 @@

Parameters:
Source:
- src/loader/Loader.js line 1182 + src/loader/Loader.js line 1240 @@ -5524,7 +5524,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1038 + src/loader/Loader.js line 1038 @@ -5903,7 +5903,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1482 + src/loader/Loader.js line 1482 @@ -6086,7 +6086,7 @@
Parameters:
Source:
- src/loader/Loader.js line 387 + src/loader/Loader.js line 387 @@ -6269,7 +6269,7 @@
Parameters:
Source:
- src/loader/Loader.js line 436 + src/loader/Loader.js line 436 @@ -6453,7 +6453,7 @@
Parameters:
Source:
- src/loader/Loader.js line 402 + src/loader/Loader.js line 402 @@ -6735,7 +6735,7 @@
Parameters:
Source:
- src/loader/Loader.js line 685 + src/loader/Loader.js line 685 @@ -6985,7 +6985,7 @@
Parameters:
Source:
- src/loader/Loader.js line 746 + src/loader/Loader.js line 746 @@ -7093,7 +7093,7 @@

Source:
- src/loader/Loader.js line 760 + src/loader/Loader.js line 760 @@ -7184,7 +7184,7 @@

Source:
- src/loader/Loader.js line 771 + src/loader/Loader.js line 771 @@ -7378,7 +7378,7 @@
Parameters:
Source:
- src/loader/Loader.js line 855 + src/loader/Loader.js line 855 @@ -7638,7 +7638,7 @@
Parameters:
Source:
- src/loader/Loader.js line 925 + src/loader/Loader.js line 925 @@ -7935,7 +7935,7 @@
Parameters:
Source:
- src/loader/Loader.js line 604 + src/loader/Loader.js line 604 @@ -8241,7 +8241,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1422 + src/loader/Loader.js line 1422 @@ -8349,7 +8349,7 @@

Source:
- src/loader/Loader.js line 1895 + src/loader/Loader.js line 1895 @@ -8508,7 +8508,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1872 + src/loader/Loader.js line 1872 @@ -8714,7 +8714,7 @@
Parameters:
Source:
- src/loader/Loader.js line 589 + src/loader/Loader.js line 589 @@ -8910,7 +8910,7 @@
Parameters:
Source:
- src/loader/Loader.js line 459 + src/loader/Loader.js line 459 @@ -8995,7 +8995,7 @@

Source:
- src/loader/Loader.js line 371 + src/loader/Loader.js line 371 @@ -9272,7 +9272,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1004 + src/loader/Loader.js line 1004 @@ -9492,7 +9492,7 @@
Parameters:
Source:
- src/loader/Loader.js line 337 + src/loader/Loader.js line 337 @@ -9727,7 +9727,7 @@
Parameters:
Source:
- src/loader/Loader.js line 952 + src/loader/Loader.js line 952 @@ -10199,7 +10199,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1075 + src/loader/Loader.js line 1075 @@ -10307,7 +10307,7 @@

Source:
- src/loader/Loader.js line 1907 + src/loader/Loader.js line 1907 @@ -10542,7 +10542,7 @@
Parameters:
Source:
- src/loader/Loader.js line 899 + src/loader/Loader.js line 899 @@ -10815,7 +10815,7 @@
Parameters:
Source:
- src/loader/Loader.js line 782 + src/loader/Loader.js line 782 @@ -11122,7 +11122,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1310 + src/loader/Loader.js line 1310 @@ -11358,7 +11358,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1390 + src/loader/Loader.js line 1390 @@ -11604,7 +11604,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1406 + src/loader/Loader.js line 1406 @@ -11719,7 +11719,7 @@

Source:
- src/loader/Loader.js line 3096 + src/loader/Loader.js line 3096 @@ -11827,7 +11827,7 @@

Source:
- src/loader/Loader.js line 3120 + src/loader/Loader.js line 3120 @@ -11935,7 +11935,7 @@

Source:
- src/loader/Loader.js line 3108 + src/loader/Loader.js line 3108 @@ -12043,7 +12043,7 @@

Source:
- src/loader/Loader.js line 3132 + src/loader/Loader.js line 3132 @@ -12226,7 +12226,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2238 + src/loader/Loader.js line 2238 @@ -12536,7 +12536,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1257 + src/loader/Loader.js line 1257 @@ -12754,7 +12754,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1820 + src/loader/Loader.js line 1820 @@ -13013,7 +13013,7 @@
Parameters:
Source:
- src/loader/Loader.js line 978 + src/loader/Loader.js line 978 @@ -13080,9 +13080,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -13099,7 +13099,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -13128,7 +13128,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index bfac3cd76..f6cd6c822 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 350 + src/loader/LoaderParser.js line 350 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 124 + src/loader/LoaderParser.js line 124 @@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 458 + src/loader/LoaderParser.js line 458 @@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 563 + src/loader/LoaderParser.js line 563 @@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 243 + src/loader/LoaderParser.js line 243 @@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 31 + src/loader/LoaderParser.js line 31 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1996,7 +1996,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index 58f135a7e..c91d9eebc 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -237,7 +237,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 27 + src/input/MSPointer.js line 27 @@ -342,7 +342,7 @@
Type:
Source:
- src/input/MSPointer.js line 105 + src/input/MSPointer.js line 105 @@ -419,7 +419,7 @@
Type:
Source:
- src/input/MSPointer.js line 43 + src/input/MSPointer.js line 43 @@ -502,7 +502,7 @@
Type:
Source:
- src/input/MSPointer.js line 89 + src/input/MSPointer.js line 89 @@ -593,7 +593,7 @@
Type:
Source:
- src/input/MSPointer.js line 112 + src/input/MSPointer.js line 112 @@ -677,7 +677,7 @@
Type:
Source:
- src/input/MSPointer.js line 97 + src/input/MSPointer.js line 97 @@ -754,7 +754,7 @@
Type:
Source:
- src/input/MSPointer.js line 32 + src/input/MSPointer.js line 32 @@ -831,7 +831,7 @@
Type:
Source:
- src/input/MSPointer.js line 38 + src/input/MSPointer.js line 38 @@ -908,7 +908,7 @@
Type:
Source:
- src/input/MSPointer.js line 73 + src/input/MSPointer.js line 73 @@ -985,7 +985,7 @@
Type:
Source:
- src/input/MSPointer.js line 48 + src/input/MSPointer.js line 48 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/input/MSPointer.js line 53 + src/input/MSPointer.js line 53 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/input/MSPointer.js line 63 + src/input/MSPointer.js line 63 @@ -1216,7 +1216,7 @@
Type:
Source:
- src/input/MSPointer.js line 68 + src/input/MSPointer.js line 68 @@ -1293,7 +1293,7 @@
Type:
Source:
- src/input/MSPointer.js line 58 + src/input/MSPointer.js line 58 @@ -1370,7 +1370,7 @@
Type:
Source:
- src/input/MSPointer.js line 119 + src/input/MSPointer.js line 119 @@ -1498,7 +1498,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 464 + src/input/MSPointer.js line 464 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 247 + src/input/MSPointer.js line 247 @@ -1766,7 +1766,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 286 + src/input/MSPointer.js line 286 @@ -1900,7 +1900,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 385 + src/input/MSPointer.js line 385 @@ -2034,7 +2034,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 434 + src/input/MSPointer.js line 434 @@ -2168,7 +2168,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 322 + src/input/MSPointer.js line 322 @@ -2302,7 +2302,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 360 + src/input/MSPointer.js line 360 @@ -2386,7 +2386,7 @@

Source:
- src/input/MSPointer.js line 160 + src/input/MSPointer.js line 160 @@ -2470,7 +2470,7 @@

Source:
- src/input/MSPointer.js line 496 + src/input/MSPointer.js line 496 @@ -2513,9 +2513,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2532,7 +2532,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2561,7 +2561,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index 71351b715..57e0618b9 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 574 + src/math/Math.js line 574 @@ -1272,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 587 + src/math/Math.js line 587 @@ -1504,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 556 + src/math/Math.js line 556 @@ -1612,7 +1612,7 @@

Source:
- src/math/Math.js line 249 + src/math/Math.js line 249 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 962 + src/math/Math.js line 962 @@ -1969,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 139 + src/math/Math.js line 139 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 888 + src/math/Math.js line 888 @@ -2405,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 996 + src/math/Math.js line 996 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 909 + src/math/Math.js line 909 @@ -2838,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 424 + src/math/Math.js line 424 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1150 + src/math/Math.js line 1150 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1175 + src/math/Math.js line 1175 @@ -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 1018 + src/math/Math.js line 1018 @@ -3793,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1095 + src/math/Math.js line 1095 @@ -4115,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1132 + src/math/Math.js line 1132 @@ -4346,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1113 + src/math/Math.js line 1113 @@ -4500,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 974 + src/math/Math.js line 974 @@ -4751,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 404 + src/math/Math.js line 404 @@ -4965,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 219 + src/math/Math.js line 219 @@ -5215,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 171 + src/math/Math.js line 171 @@ -5429,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 234 + src/math/Math.js line 234 @@ -5679,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 203 + src/math/Math.js line 203 @@ -5929,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 187 + src/math/Math.js line 187 @@ -6088,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 69 + src/math/Math.js line 69 @@ -6276,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 512 + src/math/Math.js line 512 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1082 + src/math/Math.js line 1082 @@ -6616,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 715 + src/math/Math.js line 715 @@ -6774,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 702 + src/math/Math.js line 702 @@ -6956,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 97 + src/math/Math.js line 97 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 948 + src/math/Math.js line 948 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 861 + src/math/Math.js line 861 @@ -7594,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1204 + src/math/Math.js line 1204 @@ -7699,7 +7699,7 @@

Source:
- src/math/Math.js line 759 + src/math/Math.js line 759 @@ -7912,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 622 + src/math/Math.js line 622 @@ -8021,7 +8021,7 @@

Source:
- src/math/Math.js line 819 + src/math/Math.js line 819 @@ -8130,7 +8130,7 @@

Source:
- src/math/Math.js line 728 + src/math/Math.js line 728 @@ -8246,7 +8246,7 @@

Source:
- src/math/Math.js line 790 + src/math/Math.js line 790 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 636 + src/math/Math.js line 636 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 610 + src/math/Math.js line 610 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1268 + src/math/Math.js line 1268 @@ -9018,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 57 + src/math/Math.js line 57 @@ -9201,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 110 + src/math/Math.js line 110 @@ -9359,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 599 + src/math/Math.js line 599 @@ -9610,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 462 + src/math/Math.js line 462 @@ -9768,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1031 + src/math/Math.js line 1031 @@ -10047,7 +10047,7 @@
Parameters:
Source:
- src/math/Math.js line 359 + src/math/Math.js line 359 @@ -10201,7 +10201,7 @@
Parameters:
Source:
- src/math/Math.js line 269 + src/math/Math.js line 269 @@ -10360,7 +10360,7 @@
Parameters:
Source:
- src/math/Math.js line 1254 + src/math/Math.js line 1254 @@ -10593,7 +10593,7 @@
Parameters:
Source:
- src/math/Math.js line 1044 + src/math/Math.js line 1044 @@ -10799,7 +10799,7 @@
Parameters:
Source:
- src/math/Math.js line 1238 + src/math/Math.js line 1238 @@ -11005,7 +11005,7 @@
Parameters:
Source:
- src/math/Math.js line 1220 + src/math/Math.js line 1220 @@ -11256,7 +11256,7 @@
Parameters:
Source:
- src/math/Math.js line 279 + src/math/Math.js line 279 @@ -11508,7 +11508,7 @@
Parameters:
Source:
- src/math/Math.js line 332 + src/math/Math.js line 332 @@ -11760,7 +11760,7 @@
Parameters:
Source:
- src/math/Math.js line 305 + src/math/Math.js line 305 @@ -11919,7 +11919,7 @@
Parameters:
Source:
- src/math/Math.js line 444 + src/math/Math.js line 444 @@ -12125,7 +12125,7 @@
Parameters:
Source:
- src/math/Math.js line 1189 + src/math/Math.js line 1189 @@ -12339,7 +12339,7 @@
Parameters:
Source:
- src/math/Math.js line 650 + src/math/Math.js line 650 @@ -12553,7 +12553,7 @@
Parameters:
Source:
- src/math/Math.js line 848 + src/math/Math.js line 848 @@ -12760,7 +12760,7 @@
Parameters:
Source:
- src/math/Math.js line 680 + src/math/Math.js line 680 @@ -12827,9 +12827,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -12846,7 +12846,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -12875,7 +12875,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index 888a8799e..5f813193e 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 333 + src/geom/Matrix.js line 333 @@ -1370,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 226 + src/geom/Matrix.js line 226 @@ -1573,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 246 + src/geom/Matrix.js line 246 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 125 + src/geom/Matrix.js line 125 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 167 + src/geom/Matrix.js line 167 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 153 + src/geom/Matrix.js line 153 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 80 + src/geom/Matrix.js line 80 @@ -2334,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 358 + src/geom/Matrix.js line 358 @@ -2492,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 307 + src/geom/Matrix.js line 307 @@ -2674,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 287 + src/geom/Matrix.js line 287 @@ -2952,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 101 + src/geom/Matrix.js line 101 @@ -3168,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 186 + src/geom/Matrix.js line 186 @@ -3351,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 270 + src/geom/Matrix.js line 270 @@ -3418,9 +3418,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3437,7 +3437,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3466,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index 432c66c07..cb70e92a3 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 165 + src/input/Mouse.js line 165 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 171 + src/input/Mouse.js line 171 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 147 + src/input/Mouse.js line 147 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 153 + src/input/Mouse.js line 153 @@ -628,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 141 + src/input/Mouse.js line 141 @@ -701,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 159 + src/input/Mouse.js line 159 @@ -812,7 +812,7 @@
Properties:
Source:
- src/input/Mouse.js line 79 + src/input/Mouse.js line 79 @@ -898,7 +898,7 @@
Type:
Source:
- src/input/Mouse.js line 37 + src/input/Mouse.js line 37 @@ -975,7 +975,7 @@
Type:
Source:
- src/input/Mouse.js line 71 + src/input/Mouse.js line 71 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/input/Mouse.js line 88 + src/input/Mouse.js line 88 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/input/Mouse.js line 104 + src/input/Mouse.js line 104 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/input/Mouse.js line 26 + src/input/Mouse.js line 26 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/input/Mouse.js line 32 + src/input/Mouse.js line 32 @@ -1374,7 +1374,7 @@
Type:
Source:
- src/input/Mouse.js line 44 + src/input/Mouse.js line 44 @@ -1452,7 +1452,7 @@
Type:
Source:
- src/input/Mouse.js line 59 + src/input/Mouse.js line 59 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/input/Mouse.js line 66 + src/input/Mouse.js line 66 @@ -1608,7 +1608,7 @@
Type:
Source:
- src/input/Mouse.js line 51 + src/input/Mouse.js line 51 @@ -1686,7 +1686,7 @@
Type:
Source:
- src/input/Mouse.js line 96 + src/input/Mouse.js line 96 @@ -1814,7 +1814,7 @@
Parameters:
Source:
- src/input/Mouse.js line 252 + src/input/Mouse.js line 252 @@ -1948,7 +1948,7 @@
Parameters:
Source:
- src/input/Mouse.js line 281 + src/input/Mouse.js line 281 @@ -2082,7 +2082,7 @@
Parameters:
Source:
- src/input/Mouse.js line 398 + src/input/Mouse.js line 398 @@ -2216,7 +2216,7 @@
Parameters:
Source:
- src/input/Mouse.js line 360 + src/input/Mouse.js line 360 @@ -2350,7 +2350,7 @@
Parameters:
Source:
- src/input/Mouse.js line 437 + src/input/Mouse.js line 437 @@ -2484,7 +2484,7 @@
Parameters:
Source:
- src/input/Mouse.js line 310 + src/input/Mouse.js line 310 @@ -2618,7 +2618,7 @@
Parameters:
Source:
- src/input/Mouse.js line 339 + src/input/Mouse.js line 339 @@ -2702,7 +2702,7 @@

Source:
- src/input/Mouse.js line 175 + src/input/Mouse.js line 175 @@ -2812,7 +2812,7 @@

Source:
- src/input/Mouse.js line 467 + src/input/Mouse.js line 467 @@ -2855,9 +2855,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2874,7 +2874,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2903,7 +2903,7 @@

- + diff --git a/docs/Phaser.MouseWheel.html b/docs/Phaser.MouseWheel.html index e88c92d94..e87c6db5d 100644 --- a/docs/Phaser.MouseWheel.html +++ b/docs/Phaser.MouseWheel.html @@ -6,7 +6,7 @@ Phaser CE Class: MouseWheel - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/input/MouseWheel.js line 7 + src/input/MouseWheel.js line 7 @@ -331,7 +331,7 @@
Type:
Source:
- src/input/MouseWheel.js line 103 + src/input/MouseWheel.js line 103 @@ -404,7 +404,7 @@
Type:
Source:
- src/input/MouseWheel.js line 97 + src/input/MouseWheel.js line 97 @@ -481,7 +481,7 @@
Type:
Source:
- src/input/MouseWheel.js line 41 + src/input/MouseWheel.js line 41 @@ -568,7 +568,7 @@
Type:
Source:
- src/input/MouseWheel.js line 48 + src/input/MouseWheel.js line 48 @@ -646,7 +646,7 @@
Type:
Source:
- src/input/MouseWheel.js line 55 + src/input/MouseWheel.js line 55 @@ -724,7 +724,7 @@
Type:
Source:
- src/input/MouseWheel.js line 64 + src/input/MouseWheel.js line 64 @@ -801,7 +801,7 @@
Type:
Source:
- src/input/MouseWheel.js line 25 + src/input/MouseWheel.js line 25 @@ -878,7 +878,7 @@
Type:
Source:
- src/input/MouseWheel.js line 13 + src/input/MouseWheel.js line 13 @@ -955,7 +955,7 @@
Type:
Source:
- src/input/MouseWheel.js line 19 + src/input/MouseWheel.js line 19 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/input/MouseWheel.js line 32 + src/input/MouseWheel.js line 32 @@ -1117,7 +1117,7 @@

Source:
- src/input/MouseWheel.js line 105 + src/input/MouseWheel.js line 105 @@ -1227,7 +1227,7 @@

Source:
- src/input/MouseWheel.js line 133 + src/input/MouseWheel.js line 133 @@ -1270,9 +1270,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1289,7 +1289,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1318,7 +1318,7 @@

- + diff --git a/docs/Phaser.Net.html b/docs/Phaser.Net.html index 3cf976ebd..ea3311b36 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 37 + src/net/Net.js line 37 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/net/Net.js line 148 + src/net/Net.js line 148 @@ -652,7 +652,7 @@

Source:
- src/net/Net.js line 21 + src/net/Net.js line 21 @@ -827,7 +827,7 @@
Parameters:
Source:
- src/net/Net.js line 113 + src/net/Net.js line 113 @@ -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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1149,7 +1149,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1178,7 +1178,7 @@
Returns:
- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index f0020d943..1dc2cb899 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -2343,7 +2343,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -3147,7 +3147,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3238,7 +3238,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -3502,7 +3502,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3596,7 +3596,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3682,7 +3682,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3778,7 +3778,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3866,7 +3866,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3953,7 +3953,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4044,7 +4044,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4325,7 +4325,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -4412,7 +4412,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4502,7 +4502,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4591,7 +4591,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4685,7 +4685,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4772,7 +4772,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -5034,7 +5034,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -5121,7 +5121,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -5210,7 +5210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -5385,7 +5385,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5472,7 +5472,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5646,7 +5646,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -5732,7 +5732,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5819,7 +5819,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5906,7 +5906,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5993,7 +5993,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -6082,7 +6082,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6171,7 +6171,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6248,7 +6248,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 33 + src/gameobjects/Particle.js line 33 @@ -6336,7 +6336,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6424,7 +6424,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6518,7 +6518,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6606,7 +6606,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6692,7 +6692,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6785,7 +6785,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6878,7 +6878,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6965,7 +6965,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7051,7 +7051,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7137,7 +7137,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7223,7 +7223,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7322,7 +7322,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7408,7 +7408,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7496,7 +7496,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -7588,7 +7588,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7679,7 +7679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7770,7 +7770,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7861,7 +7861,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7952,7 +7952,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8125,7 +8125,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -8212,7 +8212,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8301,7 +8301,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -8438,7 +8438,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8629,7 +8629,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8972,7 +8972,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9436,7 +9436,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9603,7 +9603,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9973,7 +9973,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10092,7 +10092,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10337,7 +10337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10512,7 +10512,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10679,7 +10679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10846,7 +10846,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10963,7 +10963,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11130,7 +11130,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -11251,7 +11251,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11536,7 +11536,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11632,7 +11632,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11752,7 +11752,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11860,7 +11860,7 @@

Source:
- src/gameobjects/Particle.js line 100 + src/gameobjects/Particle.js line 100 @@ -12019,7 +12019,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12325,7 +12325,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12442,7 +12442,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -12535,7 +12535,7 @@

Source:
- src/gameobjects/Sprite.js line 106 + src/gameobjects/Sprite.js line 106 @@ -12652,7 +12652,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -12795,7 +12795,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12962,7 +12962,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13153,7 +13153,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -13386,7 +13386,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 138 + src/gameobjects/Particle.js line 138 @@ -13503,7 +13503,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13696,7 +13696,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13861,7 +13861,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13981,7 +13981,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -14089,7 +14089,7 @@

Source:
- src/gameobjects/Particle.js line 110 + src/gameobjects/Particle.js line 110 @@ -14256,7 +14256,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -14400,7 +14400,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14544,7 +14544,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14652,7 +14652,7 @@

Source:
- src/gameobjects/Particle.js line 124 + src/gameobjects/Particle.js line 124 @@ -14889,7 +14889,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -15089,7 +15089,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -15256,7 +15256,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -15399,7 +15399,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15612,7 +15612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15727,7 +15727,7 @@

Source:
- src/gameobjects/Particle.js line 63 + src/gameobjects/Particle.js line 63 @@ -15820,7 +15820,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15940,7 +15940,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -16103,7 +16103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -16172,9 +16172,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -16191,7 +16191,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -16220,7 +16220,7 @@
Returns:
- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index 7d8aab876..52b5c4b0d 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 91 + src/core/Group.js line 91 @@ -591,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -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 2825 + src/core/Group.js line 2825 @@ -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 1159 + src/particles/arcade/Emitter.js line 1159 @@ -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 791 + src/pixi/display/DisplayObject.js line 791 @@ -1481,7 +1481,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1569,7 +1569,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -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 1215 + src/particles/arcade/Emitter.js line 1215 @@ -2242,7 +2242,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -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 213 + src/core/Group.js line 213 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -2673,7 +2673,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 1008 + src/particles/arcade/Emitter.js line 1008 @@ -3275,7 +3275,7 @@
Type:
Source:
- src/core/Group.js line 290 + src/core/Group.js line 290 @@ -3357,7 +3357,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1063 + src/particles/arcade/Emitter.js line 1063 @@ -3453,7 +3453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3530,7 +3530,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1034 + src/particles/arcade/Emitter.js line 1034 @@ -3618,7 +3618,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3704,7 +3704,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -3792,7 +3792,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -3874,7 +3874,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1117 + src/particles/arcade/Emitter.js line 1117 @@ -3960,7 +3960,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -4044,7 +4044,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 168 + src/particles/arcade/Emitter.js line 168 @@ -4121,7 +4121,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1187 + src/particles/arcade/Emitter.js line 1187 @@ -4210,7 +4210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4287,7 +4287,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 69 + src/particles/arcade/Emitter.js line 69 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 134 + src/particles/arcade/Emitter.js line 134 @@ -4448,7 +4448,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 26 + src/particles/arcade/Emitter.js line 26 @@ -4532,7 +4532,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 105 + src/particles/arcade/Emitter.js line 105 @@ -4609,7 +4609,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 93 + src/particles/arcade/Emitter.js line 93 @@ -4693,7 +4693,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 122 + src/particles/arcade/Emitter.js line 122 @@ -4777,7 +4777,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 81 + src/particles/arcade/Emitter.js line 81 @@ -4854,7 +4854,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 63 + src/particles/arcade/Emitter.js line 63 @@ -4938,7 +4938,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 128 + src/particles/arcade/Emitter.js line 128 @@ -5022,7 +5022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 99 + src/particles/arcade/Emitter.js line 99 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 87 + src/particles/arcade/Emitter.js line 87 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 116 + src/particles/arcade/Emitter.js line 116 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 75 + src/particles/arcade/Emitter.js line 75 @@ -5335,7 +5335,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 39 + src/particles/arcade/Emitter.js line 39 @@ -5412,7 +5412,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 179 + src/particles/arcade/Emitter.js line 179 @@ -5502,7 +5502,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -5592,7 +5592,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -5682,7 +5682,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -5859,7 +5859,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -5936,7 +5936,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1173 + src/particles/arcade/Emitter.js line 1173 @@ -6025,7 +6025,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -6102,7 +6102,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 185 + src/particles/arcade/Emitter.js line 185 @@ -6179,7 +6179,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 223 + src/particles/arcade/Emitter.js line 223 @@ -6256,7 +6256,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 145 + src/particles/arcade/Emitter.js line 145 @@ -6333,7 +6333,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 150 + src/particles/arcade/Emitter.js line 150 @@ -6410,7 +6410,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 229 + src/particles/arcade/Emitter.js line 229 @@ -6500,7 +6500,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -6587,7 +6587,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -6680,7 +6680,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -6762,7 +6762,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 51 + src/particles/arcade/Emitter.js line 51 @@ -6849,7 +6849,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6937,7 +6937,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7014,7 +7014,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1201 + src/particles/arcade/Emitter.js line 1201 @@ -7101,7 +7101,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -7183,7 +7183,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1131 + src/particles/arcade/Emitter.js line 1131 @@ -7271,7 +7271,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -7360,7 +7360,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -7437,7 +7437,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 110 + src/particles/arcade/Emitter.js line 110 @@ -7519,7 +7519,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1145 + src/particles/arcade/Emitter.js line 1145 @@ -7605,7 +7605,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -7687,7 +7687,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 45 + src/particles/arcade/Emitter.js line 45 @@ -7773,7 +7773,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -7864,7 +7864,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -7946,7 +7946,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1045 + src/particles/arcade/Emitter.js line 1045 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8402,7 +8402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8488,7 +8488,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -8570,7 +8570,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1081 + src/particles/arcade/Emitter.js line 1081 @@ -8652,7 +8652,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1099 + src/particles/arcade/Emitter.js line 1099 @@ -8739,7 +8739,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -8977,7 +8977,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -9255,7 +9255,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -9497,7 +9497,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -9664,7 +9664,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -9855,7 +9855,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -10086,7 +10086,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -10257,7 +10257,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -10652,7 +10652,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -10995,7 +10995,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -11339,7 +11339,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -11530,7 +11530,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -11680,7 +11680,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 984 + src/particles/arcade/Emitter.js line 984 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -12110,7 +12110,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -12330,7 +12330,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -12521,7 +12521,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -12837,7 +12837,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -13139,7 +13139,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -13436,7 +13436,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -13603,7 +13603,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -13790,7 +13790,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -13907,7 +13907,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -14024,7 +14024,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -14418,7 +14418,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -14825,7 +14825,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -15038,7 +15038,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -15205,7 +15205,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -15294,7 +15294,7 @@

Source:
- src/particles/arcade/Emitter.js line 785 + src/particles/arcade/Emitter.js line 785 @@ -15510,7 +15510,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -15776,7 +15776,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 607 + src/particles/arcade/Emitter.js line 607 @@ -15994,7 +15994,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 468 + src/particles/arcade/Emitter.js line 468 @@ -16224,7 +16224,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -16568,7 +16568,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 490 + src/particles/arcade/Emitter.js line 490 @@ -16874,7 +16874,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -17112,7 +17112,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -17350,7 +17350,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -17588,7 +17588,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -17833,7 +17833,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -18141,7 +18141,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -18310,7 +18310,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -18431,7 +18431,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -18613,7 +18613,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -18782,7 +18782,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -18949,7 +18949,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -19116,7 +19116,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -19367,7 +19367,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -19558,7 +19558,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -19917,7 +19917,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -20276,7 +20276,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -20674,7 +20674,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -20925,7 +20925,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -21092,7 +21092,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -21209,7 +21209,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -21436,7 +21436,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -21664,7 +21664,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -21782,7 +21782,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -21974,7 +21974,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -22361,7 +22361,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -22474,7 +22474,7 @@

Source:
- src/particles/arcade/Emitter.js line 439 + src/particles/arcade/Emitter.js line 439 @@ -22591,7 +22591,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -22946,7 +22946,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 375 + src/particles/arcade/Emitter.js line 375 @@ -23169,7 +23169,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -23336,7 +23336,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -23503,7 +23503,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -23743,7 +23743,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -23832,7 +23832,7 @@

Source:
- src/particles/arcade/Emitter.js line 1226 + src/particles/arcade/Emitter.js line 1226 @@ -23949,7 +23949,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -24042,7 +24042,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -24131,7 +24131,7 @@

Source:
- src/particles/arcade/Emitter.js line 1235 + src/particles/arcade/Emitter.js line 1235 @@ -24396,7 +24396,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -24666,7 +24666,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -24943,7 +24943,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -25086,7 +25086,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -25253,7 +25253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -25444,7 +25444,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -25588,7 +25588,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -25781,7 +25781,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -26135,7 +26135,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -26441,7 +26441,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -26629,7 +26629,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -26747,7 +26747,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -26836,7 +26836,7 @@

Source:
- src/particles/arcade/Emitter.js line 454 + src/particles/arcade/Emitter.js line 454 @@ -26953,7 +26953,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -27156,7 +27156,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -27299,7 +27299,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -27715,7 +27715,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -28097,7 +28097,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -28455,7 +28455,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -28771,7 +28771,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 868 + src/particles/arcade/Emitter.js line 868 @@ -29045,7 +29045,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 959 + src/particles/arcade/Emitter.js line 959 @@ -29236,7 +29236,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -29555,7 +29555,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -29773,7 +29773,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 849 + src/particles/arcade/Emitter.js line 849 @@ -30193,7 +30193,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 909 + src/particles/arcade/Emitter.js line 909 @@ -30375,7 +30375,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 797 + src/particles/arcade/Emitter.js line 797 @@ -30593,7 +30593,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 813 + src/particles/arcade/Emitter.js line 813 @@ -30811,7 +30811,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 831 + src/particles/arcade/Emitter.js line 831 @@ -30929,7 +30929,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -31136,7 +31136,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -31461,7 +31461,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 540 + src/particles/arcade/Emitter.js line 540 @@ -31701,7 +31701,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -31869,7 +31869,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -32036,7 +32036,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -32179,7 +32179,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -32392,7 +32392,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -32507,7 +32507,7 @@

Source:
- src/particles/arcade/Emitter.js line 309 + src/particles/arcade/Emitter.js line 309 @@ -32600,7 +32600,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -32789,7 +32789,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -32909,7 +32909,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -33100,7 +33100,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -33143,9 +33143,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -33162,7 +33162,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -33191,7 +33191,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index 9a4783666..f3402a7f9 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -263,7 +263,7 @@

Classes

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index 54c2d45ad..c9942b456 100644 --- a/docs/Phaser.Particles.html +++ b/docs/Phaser.Particles.html @@ -6,7 +6,7 @@ Phaser CE Class: Particles - + @@ -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 @@ -498,7 +498,7 @@
Type:
Source:
- src/particles/Particles.js line 30 + src/particles/Particles.js line 30 @@ -626,7 +626,7 @@
Parameters:
Source:
- src/particles/Particles.js line 35 + src/particles/Particles.js line 35 @@ -784,7 +784,7 @@
Parameters:
Source:
- src/particles/Particles.js line 47 + src/particles/Particles.js line 47 @@ -827,9 +827,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -846,7 +846,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -875,7 +875,7 @@
Parameters:
- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index 8951db6fe..a25747b3e 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 42 + src/plugins/path/Path.js line 42 @@ -509,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 32 + src/plugins/path/Path.js line 32 @@ -586,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 27 + src/plugins/path/Path.js line 27 @@ -663,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 47 + src/plugins/path/Path.js line 47 @@ -740,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 37 + src/plugins/path/Path.js line 37 @@ -1128,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 209 + src/plugins/path/Path.js line 209 @@ -1286,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 531 + src/plugins/path/Path.js line 531 @@ -1394,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 187 + src/plugins/path/Path.js line 187 @@ -1611,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 149 + src/plugins/path/Path.js line 149 @@ -1825,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 712 + src/plugins/path/Path.js line 712 @@ -1983,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 354 + src/plugins/path/Path.js line 354 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 444 + src/plugins/path/Path.js line 444 @@ -2346,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 373 + src/plugins/path/Path.js line 373 @@ -2505,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 419 + src/plugins/path/Path.js line 419 @@ -2719,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 329 + src/plugins/path/Path.js line 329 @@ -2827,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -2987,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 497 + src/plugins/path/Path.js line 497 @@ -3194,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 569 + src/plugins/path/Path.js line 569 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 245 + src/plugins/path/Path.js line 245 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 311 + src/plugins/path/Path.js line 311 @@ -3846,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 266 + src/plugins/path/Path.js line 266 @@ -3955,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 646 + src/plugins/path/Path.js line 646 @@ -4063,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 821 + src/plugins/path/Path.js line 821 @@ -4224,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 291 + src/plugins/path/Path.js line 291 @@ -4291,9 +4291,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -4310,7 +4310,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -4339,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index d1520e408..918df97f3 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -523,7 +523,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index 87f5d8423..bb7c3c440 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 119 + src/plugins/path/PathPoint.js line 119 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 101 + src/plugins/path/PathPoint.js line 101 @@ -755,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 107 + src/plugins/path/PathPoint.js line 107 @@ -828,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 113 + src/plugins/path/PathPoint.js line 113 @@ -905,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 85 + src/plugins/path/PathPoint.js line 85 @@ -982,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 63 + src/plugins/path/PathPoint.js line 63 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 68 + src/plugins/path/PathPoint.js line 68 @@ -1136,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 73 + src/plugins/path/PathPoint.js line 73 @@ -1213,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 91 + src/plugins/path/PathPoint.js line 91 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 79 + src/plugins/path/PathPoint.js line 79 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 58 + src/plugins/path/PathPoint.js line 58 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 53 + src/plugins/path/PathPoint.js line 53 @@ -1521,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 43 + src/plugins/path/PathPoint.js line 43 @@ -1598,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 48 + src/plugins/path/PathPoint.js line 48 @@ -1675,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 33 + src/plugins/path/PathPoint.js line 33 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 38 + src/plugins/path/PathPoint.js line 38 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 177 + src/plugins/path/PathPoint.js line 177 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 193 + src/plugins/path/PathPoint.js line 193 @@ -2307,7 +2307,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 219 + src/plugins/path/PathPoint.js line 219 @@ -2489,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 156 + src/plugins/path/PathPoint.js line 156 @@ -2757,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 123 + src/plugins/path/PathPoint.js line 123 @@ -2865,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 242 + src/plugins/path/PathPoint.js line 242 @@ -2932,9 +2932,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2951,7 +2951,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2980,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index b6c5cff82..2bd1de7c6 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 1359 + src/physics/arcade/Body.js line 1359 @@ -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 1319 + src/physics/arcade/Body.js line 1319 @@ -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 1332 + src/physics/arcade/Body.js line 1332 @@ -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 1346 + src/physics/arcade/Body.js line 1346 @@ -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 1373 + src/physics/arcade/Body.js line 1373 @@ -5744,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1391 + src/physics/arcade/Body.js line 1391 @@ -5822,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 824 + src/physics/arcade/Body.js line 824 @@ -5930,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1243 + src/physics/arcade/Body.js line 1243 @@ -6038,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1254 + src/physics/arcade/Body.js line 1254 @@ -6146,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1265 + src/physics/arcade/Body.js line 1265 @@ -6254,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1276 + src/physics/arcade/Body.js line 1276 @@ -6362,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1287 + src/physics/arcade/Body.js line 1287 @@ -6472,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1298 + src/physics/arcade/Body.js line 1298 @@ -6607,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1178 + src/physics/arcade/Body.js line 1178 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1197 + src/physics/arcade/Body.js line 1197 @@ -7040,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 873 + src/physics/arcade/Body.js line 873 @@ -7288,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 946 + src/physics/arcade/Body.js line 946 @@ -7396,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1221 + src/physics/arcade/Body.js line 1221 @@ -7504,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1210 + src/physics/arcade/Body.js line 1210 @@ -7612,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1232 + src/physics/arcade/Body.js line 1232 @@ -7720,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 739 + src/physics/arcade/Body.js line 739 @@ -7804,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 573 + src/physics/arcade/Body.js line 573 @@ -8110,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1409 + src/physics/arcade/Body.js line 1409 @@ -8372,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1454 + src/physics/arcade/Body.js line 1454 @@ -8530,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1136 + src/physics/arcade/Body.js line 1136 @@ -8749,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1091 + src/physics/arcade/Body.js line 1091 @@ -9016,7 +9016,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1032 + src/physics/arcade/Body.js line 1032 @@ -9100,7 +9100,7 @@

Source:
- src/physics/arcade/Body.js line 1164 + src/physics/arcade/Body.js line 1164 @@ -9249,7 +9249,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 710 + src/physics/arcade/Body.js line 710 @@ -9333,7 +9333,7 @@

Source:
- src/physics/arcade/Body.js line 519 + src/physics/arcade/Body.js line 519 @@ -9417,7 +9417,7 @@

Source:
- src/physics/arcade/Body.js line 562 + src/physics/arcade/Body.js line 562 @@ -9501,7 +9501,7 @@

Source:
- src/physics/arcade/Body.js line 670 + src/physics/arcade/Body.js line 670 @@ -9544,9 +9544,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -9563,7 +9563,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -9592,7 +9592,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 6efa2b2f2..257bff96a 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -181,7 +181,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 15 + src/physics/arcade/TilemapCollision.js line 15 @@ -286,7 +286,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 22 + src/physics/arcade/TilemapCollision.js line 22 @@ -319,9 +319,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -338,7 +338,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -367,7 +367,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index eaf4a2d5e..2e1279e1d 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 130 @@ -424,7 +424,7 @@
Type:
Source:
- src/physics/arcade/World.js line 106 + src/physics/arcade/World.js line 106 @@ -502,7 +502,7 @@
Type:
Source:
- src/physics/arcade/World.js line 114 + src/physics/arcade/World.js line 114 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/arcade/World.js line 98 + src/physics/arcade/World.js line 98 @@ -658,7 +658,7 @@
Type:
Source:
- src/physics/arcade/World.js line 122 + src/physics/arcade/World.js line 122 @@ -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 57 + 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 73 + 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 @@ -1359,7 +1359,7 @@
Type:
Source:
- src/physics/arcade/World.js line 52 + src/physics/arcade/World.js line 52 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/physics/arcade/World.js line 78 + src/physics/arcade/World.js line 78 @@ -1513,7 +1513,7 @@
Type:
Source:
- src/physics/arcade/World.js line 68 + src/physics/arcade/World.js line 68 @@ -1590,7 +1590,7 @@
Type:
Source:
- src/physics/arcade/World.js line 63 + src/physics/arcade/World.js line 63 @@ -1893,7 +1893,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1828 + src/physics/arcade/World.js line 1828 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1856 + src/physics/arcade/World.js line 1856 @@ -2597,7 +2597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1885 + src/physics/arcade/World.js line 1885 @@ -2853,7 +2853,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1810 + src/physics/arcade/World.js line 1810 @@ -3108,7 +3108,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2073 + src/physics/arcade/World.js line 2073 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2100 + src/physics/arcade/World.js line 2100 @@ -3545,7 +3545,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2144 + src/physics/arcade/World.js line 2144 @@ -3834,7 +3834,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2116 + src/physics/arcade/World.js line 2116 @@ -4016,7 +4016,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1137 + src/physics/arcade/World.js line 1137 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2013 + src/physics/arcade/World.js line 2013 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 353 + src/physics/arcade/World.js line 353 @@ -5043,7 +5043,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 253 + src/physics/arcade/World.js line 253 @@ -5340,7 +5340,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1914 + src/physics/arcade/World.js line 1914 @@ -5597,7 +5597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1986 + src/physics/arcade/World.js line 1986 @@ -5888,7 +5888,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1960 + src/physics/arcade/World.js line 1960 @@ -6109,7 +6109,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 158 + src/physics/arcade/World.js line 158 @@ -6245,7 +6245,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 211 + src/physics/arcade/World.js line 211 @@ -6511,7 +6511,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2043 + src/physics/arcade/World.js line 2043 @@ -6849,7 +6849,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1631 + src/physics/arcade/World.js line 1631 @@ -7119,7 +7119,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1609 + src/physics/arcade/World.js line 1609 @@ -7326,7 +7326,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1345 + src/physics/arcade/World.js line 1345 @@ -7533,7 +7533,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1408 + src/physics/arcade/World.js line 1408 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1076 + src/physics/arcade/World.js line 1076 @@ -8010,7 +8010,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1674 + src/physics/arcade/World.js line 1674 @@ -8306,7 +8306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1707 + src/physics/arcade/World.js line 1707 @@ -8637,7 +8637,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1740 + src/physics/arcade/World.js line 1740 @@ -8992,7 +8992,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 313 + src/physics/arcade/World.js line 313 @@ -9222,7 +9222,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 134 + src/physics/arcade/World.js line 134 @@ -9306,7 +9306,7 @@

Source:
- src/physics/arcade/World.js line 148 + src/physics/arcade/World.js line 148 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 495 + src/physics/arcade/World.js line 495 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 475 + src/physics/arcade/World.js line 475 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 415 + src/physics/arcade/World.js line 415 @@ -10012,7 +10012,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 435 + src/physics/arcade/World.js line 435 @@ -10195,7 +10195,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 455 + src/physics/arcade/World.js line 455 @@ -10353,7 +10353,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 234 + src/physics/arcade/World.js line 234 @@ -10585,7 +10585,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1774 + src/physics/arcade/World.js line 1774 @@ -10843,7 +10843,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1792 + src/physics/arcade/World.js line 1792 @@ -11048,7 +11048,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2172 + src/physics/arcade/World.js line 2172 @@ -11115,9 +11115,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -11134,7 +11134,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -11163,7 +11163,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index 4df9facae..af54a490c 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 87 + src/physics/ninja/AABB.js line 87 @@ -547,7 +547,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 26 + src/physics/ninja/AABB.js line 26 @@ -624,7 +624,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 65 + src/physics/ninja/AABB.js line 65 @@ -701,7 +701,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 41 + src/physics/ninja/AABB.js line 41 @@ -778,7 +778,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 36 + src/physics/ninja/AABB.js line 36 @@ -855,7 +855,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 31 + src/physics/ninja/AABB.js line 31 @@ -932,7 +932,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 82 + src/physics/ninja/AABB.js line 82 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 59 + src/physics/ninja/AABB.js line 59 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 47 + src/physics/ninja/AABB.js line 47 @@ -1201,7 +1201,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 53 + src/physics/ninja/AABB.js line 53 @@ -1329,7 +1329,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 347 + src/physics/ninja/AABB.js line 347 @@ -1463,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 420 + src/physics/ninja/AABB.js line 420 @@ -1547,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 305 + src/physics/ninja/AABB.js line 305 @@ -1631,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 1012 + src/physics/ninja/AABB.js line 1012 @@ -1715,7 +1715,7 @@

Source:
- src/physics/ninja/AABB.js line 109 + src/physics/ninja/AABB.js line 109 @@ -1921,7 +1921,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 718 + src/physics/ninja/AABB.js line 718 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 639 + src/physics/ninja/AABB.js line 639 @@ -2381,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 585 + src/physics/ninja/AABB.js line 585 @@ -2611,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 850 + src/physics/ninja/AABB.js line 850 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 772 + src/physics/ninja/AABB.js line 772 @@ -3071,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 953 + src/physics/ninja/AABB.js line 953 @@ -3301,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 902 + src/physics/ninja/AABB.js line 902 @@ -3531,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 505 + src/physics/ninja/AABB.js line 505 @@ -3761,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 525 + src/physics/ninja/AABB.js line 525 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1023 + src/physics/ninja/AABB.js line 1023 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 130 + src/physics/ninja/AABB.js line 130 @@ -4451,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 257 + src/physics/ninja/AABB.js line 257 @@ -4657,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 205 + src/physics/ninja/AABB.js line 205 @@ -4863,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 480 + src/physics/ninja/AABB.js line 480 @@ -4967,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 220 + src/physics/ninja/AABB.js line 220 @@ -5010,9 +5010,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -5029,7 +5029,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -5058,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index 85ab06f42..1b76455e7 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 55 + src/physics/ninja/Body.js line 55 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 560 + src/physics/ninja/Body.js line 560 @@ -822,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 518 + src/physics/ninja/Body.js line 518 @@ -906,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 96 + src/physics/ninja/Body.js line 96 @@ -984,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 126 + src/physics/ninja/Body.js line 126 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 65 + src/physics/ninja/Body.js line 65 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 119 + src/physics/ninja/Body.js line 119 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 78 + src/physics/ninja/Body.js line 78 @@ -1299,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 107 + src/physics/ninja/Body.js line 107 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 84 + src/physics/ninja/Body.js line 84 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 40 + src/physics/ninja/Body.js line 40 @@ -1544,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 90 + src/physics/ninja/Body.js line 90 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 504 + src/physics/ninja/Body.js line 504 @@ -1698,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 113 + src/physics/ninja/Body.js line 113 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 145 + src/physics/ninja/Body.js line 145 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 532 + src/physics/ninja/Body.js line 532 @@ -1936,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 70 + src/physics/ninja/Body.js line 70 @@ -2013,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 546 + src/physics/ninja/Body.js line 546 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 35 + src/physics/ninja/Body.js line 35 @@ -2167,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 50 + src/physics/ninja/Body.js line 50 @@ -2244,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 60 + src/physics/ninja/Body.js line 60 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 133 + src/physics/ninja/Body.js line 133 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 45 + src/physics/ninja/Body.js line 45 @@ -2476,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 101 + src/physics/ninja/Body.js line 101 @@ -2553,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 139 + src/physics/ninja/Body.js line 139 @@ -2630,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 490 + src/physics/ninja/Body.js line 490 @@ -2707,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2784,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 472 + src/physics/ninja/Body.js line 472 @@ -2862,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 392 + src/physics/ninja/Body.js line 392 @@ -2970,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 403 + src/physics/ninja/Body.js line 403 @@ -3078,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 414 + src/physics/ninja/Body.js line 414 @@ -3186,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 425 + src/physics/ninja/Body.js line 425 @@ -3294,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 436 + src/physics/ninja/Body.js line 436 @@ -3378,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 216 + src/physics/ninja/Body.js line 216 @@ -3462,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 185 + src/physics/ninja/Body.js line 185 @@ -3728,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 574 + src/physics/ninja/Body.js line 574 @@ -3812,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 375 + src/physics/ninja/Body.js line 375 @@ -3896,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 260 + src/physics/ninja/Body.js line 260 @@ -3939,9 +3939,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3958,7 +3958,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3987,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index 278f28640..ca31e03b9 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 25 + src/physics/ninja/Circle.js line 25 @@ -523,7 +523,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 91 + src/physics/ninja/Circle.js line 91 @@ -600,7 +600,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 69 + src/physics/ninja/Circle.js line 69 @@ -677,7 +677,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 40 + src/physics/ninja/Circle.js line 40 @@ -754,7 +754,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 35 + src/physics/ninja/Circle.js line 35 @@ -831,7 +831,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 45 + src/physics/ninja/Circle.js line 45 @@ -908,7 +908,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 30 + src/physics/ninja/Circle.js line 30 @@ -985,7 +985,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 86 + src/physics/ninja/Circle.js line 86 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 63 + src/physics/ninja/Circle.js line 63 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 51 + src/physics/ninja/Circle.js line 51 @@ -1254,7 +1254,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 57 + src/physics/ninja/Circle.js line 57 @@ -1382,7 +1382,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 252 + src/physics/ninja/Circle.js line 252 @@ -1490,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 210 + src/physics/ninja/Circle.js line 210 @@ -1574,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2635 + src/physics/ninja/Circle.js line 2635 @@ -1658,7 +1658,7 @@

Source:
- src/physics/ninja/Circle.js line 113 + src/physics/ninja/Circle.js line 113 @@ -1912,7 +1912,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1733 + src/physics/ninja/Circle.js line 1733 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1438 + src/physics/ninja/Circle.js line 1438 @@ -2468,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 454 + src/physics/ninja/Circle.js line 454 @@ -2746,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2327 + src/physics/ninja/Circle.js line 2327 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2039 + src/physics/ninja/Circle.js line 2039 @@ -3302,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 725 + src/physics/ninja/Circle.js line 725 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 960 + src/physics/ninja/Circle.js line 960 @@ -3858,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 341 + src/physics/ninja/Circle.js line 341 @@ -4136,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1203 + src/physics/ninja/Circle.js line 1203 @@ -4390,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2646 + src/physics/ninja/Circle.js line 2646 @@ -4620,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 134 + src/physics/ninja/Circle.js line 134 @@ -4874,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 315 + src/physics/ninja/Circle.js line 315 @@ -4941,9 +4941,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -4960,7 +4960,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -4989,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index ec8f9040d..d942d62ac 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 33 + src/physics/ninja/Tile.js line 33 @@ -654,7 +654,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 713 + src/physics/ninja/Tile.js line 713 @@ -731,7 +731,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 90 + src/physics/ninja/Tile.js line 90 @@ -808,7 +808,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 44 + src/physics/ninja/Tile.js line 44 @@ -885,7 +885,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 60 + src/physics/ninja/Tile.js line 60 @@ -962,7 +962,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 55 + src/physics/ninja/Tile.js line 55 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 727 + src/physics/ninja/Tile.js line 727 @@ -1116,7 +1116,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 38 + src/physics/ninja/Tile.js line 38 @@ -1193,7 +1193,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 50 + src/physics/ninja/Tile.js line 50 @@ -1270,7 +1270,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 95 + src/physics/ninja/Tile.js line 95 @@ -1347,7 +1347,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 84 + src/physics/ninja/Tile.js line 84 @@ -1424,7 +1424,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 677 + src/physics/ninja/Tile.js line 677 @@ -1501,7 +1501,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 72 + src/physics/ninja/Tile.js line 72 @@ -1578,7 +1578,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 695 + src/physics/ninja/Tile.js line 695 @@ -1693,7 +1693,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 78 + src/physics/ninja/Tile.js line 78 @@ -1771,7 +1771,7 @@

Source:
- src/physics/ninja/Tile.js line 295 + src/physics/ninja/Tile.js line 295 @@ -1855,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 155 + src/physics/ninja/Tile.js line 155 @@ -1939,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 308 + src/physics/ninja/Tile.js line 308 @@ -2023,7 +2023,7 @@

Source:
- src/physics/ninja/Tile.js line 136 + src/physics/ninja/Tile.js line 136 @@ -2253,7 +2253,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 197 + src/physics/ninja/Tile.js line 197 @@ -2387,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 272 + src/physics/ninja/Tile.js line 272 @@ -2430,9 +2430,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2449,7 +2449,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2478,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index 9c3004926..b1846ab00 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 50 + src/physics/ninja/World.js line 50 @@ -441,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 35 + src/physics/ninja/World.js line 35 @@ -518,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 45 + src/physics/ninja/World.js line 45 @@ -595,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 60 + src/physics/ninja/World.js line 60 @@ -672,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 55 + src/physics/ninja/World.js line 55 @@ -749,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 65 + src/physics/ninja/World.js line 65 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 40 + src/physics/ninja/World.js line 40 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 230 + src/physics/ninja/World.js line 230 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 339 + src/physics/ninja/World.js line 339 @@ -1555,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 253 + src/physics/ninja/World.js line 253 @@ -1896,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 125 + src/physics/ninja/World.js line 125 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 76 + src/physics/ninja/World.js line 76 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 184 + src/physics/ninja/World.js line 184 @@ -2461,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 91 + src/physics/ninja/World.js line 91 @@ -2700,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 107 + src/physics/ninja/World.js line 107 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 299 + src/physics/ninja/World.js line 299 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 585 + src/physics/ninja/World.js line 585 @@ -3434,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 202 + src/physics/ninja/World.js line 202 @@ -3518,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 218 + src/physics/ninja/World.js line 218 @@ -3561,9 +3561,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3580,7 +3580,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3609,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index 2fdc95c26..e0f385a54 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 1563 + src/physics/p2/Body.js line 1563 @@ -591,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1579 + src/physics/p2/Body.js line 1579 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1571 + src/physics/p2/Body.js line 1571 @@ -747,7 +747,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1674 + src/physics/p2/Body.js line 1674 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1699 + src/physics/p2/Body.js line 1699 @@ -903,7 +903,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1725 + src/physics/p2/Body.js line 1725 @@ -980,7 +980,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1748 + src/physics/p2/Body.js line 1748 @@ -1057,7 +1057,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1770 + src/physics/p2/Body.js line 1770 @@ -1134,7 +1134,7 @@
Type:
Source:
- src/physics/p2/Body.js line 113 + src/physics/p2/Body.js line 113 @@ -1221,7 +1221,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2051 + src/physics/p2/Body.js line 2051 @@ -1298,7 +1298,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1792 + src/physics/p2/Body.js line 1792 @@ -1375,7 +1375,7 @@
Type:
Source:
- src/physics/p2/Body.js line 60 + src/physics/p2/Body.js line 60 @@ -1452,7 +1452,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2020 + src/physics/p2/Body.js line 2020 @@ -1529,7 +1529,7 @@
Type:
Source:
- src/physics/p2/Body.js line 123 + src/physics/p2/Body.js line 123 @@ -1606,7 +1606,7 @@
Type:
Source:
- src/physics/p2/Body.js line 128 + src/physics/p2/Body.js line 128 @@ -1683,7 +1683,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1612 + src/physics/p2/Body.js line 1612 @@ -1762,7 +1762,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1815 + src/physics/p2/Body.js line 1815 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/physics/p2/Body.js line 72 + src/physics/p2/Body.js line 72 @@ -1916,7 +1916,7 @@
Type:
Source:
- src/physics/p2/Body.js line 34 + src/physics/p2/Body.js line 34 @@ -1993,7 +1993,7 @@
Type:
Source:
- src/physics/p2/Body.js line 77 + src/physics/p2/Body.js line 77 @@ -2070,7 +2070,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2004 + src/physics/p2/Body.js line 2004 @@ -2147,7 +2147,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1840 + src/physics/p2/Body.js line 1840 @@ -2224,7 +2224,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1643 + src/physics/p2/Body.js line 1643 @@ -2301,7 +2301,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1862 + src/physics/p2/Body.js line 1862 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1888 + src/physics/p2/Body.js line 1888 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/physics/p2/Body.js line 54 + src/physics/p2/Body.js line 54 @@ -2539,7 +2539,7 @@
Type:
Source:
- src/physics/p2/Body.js line 93 + src/physics/p2/Body.js line 93 @@ -2622,7 +2622,7 @@
Type:
Source:
- src/physics/p2/Body.js line 108 + src/physics/p2/Body.js line 108 @@ -2699,7 +2699,7 @@
Type:
Source:
- src/physics/p2/Body.js line 118 + src/physics/p2/Body.js line 118 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1913 + src/physics/p2/Body.js line 1913 @@ -2854,7 +2854,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1938 + src/physics/p2/Body.js line 1938 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/physics/p2/Body.js line 44 + src/physics/p2/Body.js line 44 @@ -3008,7 +3008,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1581 + src/physics/p2/Body.js line 1581 @@ -3085,7 +3085,7 @@
Type:
Source:
- src/physics/p2/Body.js line 49 + src/physics/p2/Body.js line 49 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/physics/p2/Body.js line 67 + src/physics/p2/Body.js line 67 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/physics/p2/Body.js line 39 + src/physics/p2/Body.js line 39 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1960 + src/physics/p2/Body.js line 1960 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1982 + src/physics/p2/Body.js line 1982 @@ -3694,7 +3694,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1153 + src/physics/p2/Body.js line 1153 @@ -3988,7 +3988,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1057 + src/physics/p2/Body.js line 1057 @@ -4146,7 +4146,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1404 + src/physics/p2/Body.js line 1404 @@ -4442,7 +4442,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1132 + src/physics/p2/Body.js line 1132 @@ -4700,7 +4700,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1114 + src/physics/p2/Body.js line 1114 @@ -4885,7 +4885,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1363 + src/physics/p2/Body.js line 1363 @@ -5143,7 +5143,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1096 + src/physics/p2/Body.js line 1096 @@ -5484,7 +5484,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1174 + src/physics/p2/Body.js line 1174 @@ -5814,7 +5814,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1076 + src/physics/p2/Body.js line 1076 @@ -6110,7 +6110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1030 + src/physics/p2/Body.js line 1030 @@ -6218,7 +6218,7 @@

Source:
- src/physics/p2/Body.js line 938 + src/physics/p2/Body.js line 938 @@ -6302,7 +6302,7 @@

Source:
- src/physics/p2/Body.js line 497 + src/physics/p2/Body.js line 497 @@ -6436,7 +6436,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 525 + src/physics/p2/Body.js line 525 @@ -6623,7 +6623,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 573 + src/physics/p2/Body.js line 573 @@ -6810,7 +6810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 538 + src/physics/p2/Body.js line 538 @@ -6997,7 +6997,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 555 + src/physics/p2/Body.js line 555 @@ -7229,7 +7229,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 329 + src/physics/p2/Body.js line 329 @@ -7313,7 +7313,7 @@

Source:
- src/physics/p2/Body.js line 1011 + src/physics/p2/Body.js line 1011 @@ -7562,7 +7562,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 443 + src/physics/p2/Body.js line 443 @@ -7756,7 +7756,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 181 + src/physics/p2/Body.js line 181 @@ -7942,7 +7942,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 222 + src/physics/p2/Body.js line 222 @@ -8026,7 +8026,7 @@

Source:
- src/physics/p2/Body.js line 979 + src/physics/p2/Body.js line 979 @@ -8110,7 +8110,7 @@

Source:
- src/physics/p2/Body.js line 250 + src/physics/p2/Body.js line 250 @@ -8292,7 +8292,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 510 + src/physics/p2/Body.js line 510 @@ -8550,7 +8550,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1477 + src/physics/p2/Body.js line 1477 @@ -8709,7 +8709,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 713 + src/physics/p2/Body.js line 713 @@ -8844,7 +8844,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 845 + src/physics/p2/Body.js line 845 @@ -8979,7 +8979,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 695 + src/physics/p2/Body.js line 695 @@ -9114,7 +9114,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 803 + src/physics/p2/Body.js line 803 @@ -9249,7 +9249,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 817 + src/physics/p2/Body.js line 817 @@ -9384,7 +9384,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 831 + src/physics/p2/Body.js line 831 @@ -9468,7 +9468,7 @@

Source:
- src/physics/p2/Body.js line 878 + src/physics/p2/Body.js line 878 @@ -9552,7 +9552,7 @@

Source:
- src/physics/p2/Body.js line 859 + src/physics/p2/Body.js line 859 @@ -9783,7 +9783,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 378 + src/physics/p2/Body.js line 378 @@ -9867,7 +9867,7 @@

Source:
- src/physics/p2/Body.js line 964 + src/physics/p2/Body.js line 964 @@ -10013,7 +10013,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1241 + src/physics/p2/Body.js line 1241 @@ -10303,7 +10303,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -10438,7 +10438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 785 + src/physics/p2/Body.js line 785 @@ -10572,7 +10572,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 669 + src/physics/p2/Body.js line 669 @@ -10706,7 +10706,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 682 + src/physics/p2/Body.js line 682 @@ -10977,7 +10977,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1258 + src/physics/p2/Body.js line 1258 @@ -11156,7 +11156,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 300 + src/physics/p2/Body.js line 300 @@ -11335,7 +11335,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1323 + src/physics/p2/Body.js line 1323 @@ -11651,7 +11651,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1277 + src/physics/p2/Body.js line 1277 @@ -11827,7 +11827,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1302 + src/physics/p2/Body.js line 1302 @@ -11935,7 +11935,7 @@

Source:
- src/physics/p2/Body.js line 628 + src/physics/p2/Body.js line 628 @@ -12019,7 +12019,7 @@

Source:
- src/physics/p2/Body.js line 591 + src/physics/p2/Body.js line 591 @@ -12103,7 +12103,7 @@

Source:
- src/physics/p2/Body.js line 603 + src/physics/p2/Body.js line 603 @@ -12187,7 +12187,7 @@

Source:
- src/physics/p2/Body.js line 615 + src/physics/p2/Body.js line 615 @@ -12271,7 +12271,7 @@

Source:
- src/physics/p2/Body.js line 1348 + src/physics/p2/Body.js line 1348 @@ -12406,7 +12406,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 731 + src/physics/p2/Body.js line 731 @@ -12541,7 +12541,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 749 + src/physics/p2/Body.js line 749 @@ -12676,7 +12676,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 767 + src/physics/p2/Body.js line 767 @@ -12840,7 +12840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 641 + src/physics/p2/Body.js line 641 @@ -12998,7 +12998,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 655 + src/physics/p2/Body.js line 655 @@ -13144,7 +13144,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 275 + src/physics/p2/Body.js line 275 @@ -13187,9 +13187,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -13206,7 +13206,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -13235,7 +13235,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index 5fcf9b1b9..7bacaf9bd 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 91 + src/core/Group.js line 91 @@ -501,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -667,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 51 + src/physics/p2/BodyDebug.js line 51 @@ -755,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -848,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 56 + src/physics/p2/BodyDebug.js line 56 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1986,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2336,7 +2336,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -2782,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -2957,7 +2957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3043,7 +3043,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3133,7 +3133,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3223,7 +3223,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3313,7 +3313,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3490,7 +3490,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3669,7 +3669,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -3849,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -3935,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4022,7 +4022,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4110,7 +4110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4187,7 +4187,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 45 + src/physics/p2/BodyDebug.js line 45 @@ -4274,7 +4274,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4539,7 +4539,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -4713,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4799,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -4885,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -4971,7 +4971,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5057,7 +5057,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5240,7 +5240,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5422,7 +5422,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5513,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5687,7 +5687,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -5775,7 +5775,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5862,7 +5862,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6100,7 +6100,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6378,7 +6378,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6620,7 +6620,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -6787,7 +6787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -6978,7 +6978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7209,7 +7209,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7380,7 +7380,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -7775,7 +7775,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8118,7 +8118,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8796,7 +8796,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9059,7 +9059,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9279,7 +9279,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -9786,7 +9786,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10088,7 +10088,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10385,7 +10385,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10552,7 +10552,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10739,7 +10739,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10856,7 +10856,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -10973,7 +10973,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11367,7 +11367,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -11774,7 +11774,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -11987,7 +11987,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12154,7 +12154,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12574,7 +12574,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -12658,7 +12658,7 @@

Source:
- src/physics/p2/BodyDebug.js line 87 + src/physics/p2/BodyDebug.js line 87 @@ -12864,7 +12864,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -13170,7 +13170,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13408,7 +13408,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13646,7 +13646,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -13884,7 +13884,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -14129,7 +14129,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14437,7 +14437,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14606,7 +14606,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -14727,7 +14727,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -14909,7 +14909,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -15078,7 +15078,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15245,7 +15245,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15412,7 +15412,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15663,7 +15663,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -15854,7 +15854,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -16213,7 +16213,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16572,7 +16572,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -16970,7 +16970,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -17221,7 +17221,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17388,7 +17388,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17505,7 +17505,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -17732,7 +17732,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -17960,7 +17960,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -18078,7 +18078,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18270,7 +18270,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18657,7 +18657,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -18774,7 +18774,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -18867,7 +18867,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -19066,7 +19066,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19233,7 +19233,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19400,7 +19400,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19640,7 +19640,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -19734,7 +19734,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -19851,7 +19851,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -19944,7 +19944,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -20038,7 +20038,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20303,7 +20303,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20573,7 +20573,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -20850,7 +20850,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -20993,7 +20993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -21160,7 +21160,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21351,7 +21351,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -21495,7 +21495,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -21688,7 +21688,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -22042,7 +22042,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22348,7 +22348,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -22536,7 +22536,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -22654,7 +22654,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -22747,7 +22747,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -22840,7 +22840,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -23043,7 +23043,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -23186,7 +23186,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -23602,7 +23602,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -23984,7 +23984,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24342,7 +24342,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -24509,7 +24509,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -24828,7 +24828,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -24946,7 +24946,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -25153,7 +25153,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -25369,7 +25369,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -25537,7 +25537,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -25704,7 +25704,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -25847,7 +25847,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26060,7 +26060,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -26180,7 +26180,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -26273,7 +26273,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -26383,7 +26383,7 @@

Source:
- src/physics/p2/BodyDebug.js line 73 + src/physics/p2/BodyDebug.js line 73 @@ -26546,7 +26546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -26666,7 +26666,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -26857,7 +26857,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -26900,9 +26900,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -26919,7 +26919,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -26948,7 +26948,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 86a0fa003..cd7521b69 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 20 + src/physics/p2/CollisionGroup.js line 20 @@ -368,9 +368,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -387,7 +387,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -416,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index df5803af4..7fc89043e 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -382,7 +382,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index a2a5599d0..75e4015d1 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 31 + src/physics/p2/DistanceConstraint.js line 31 @@ -652,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 36 + src/physics/p2/DistanceConstraint.js line 36 @@ -685,9 +685,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -733,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index 014873765..be096bb92 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 227 + src/physics/p2/FixtureList.js line 227 @@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 170 + src/physics/p2/FixtureList.js line 170 @@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 133 + src/physics/p2/FixtureList.js line 133 @@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 183 + src/physics/p2/FixtureList.js line 183 @@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 39 + src/physics/p2/FixtureList.js line 39 @@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 196 + src/physics/p2/FixtureList.js line 196 @@ -1107,7 +1107,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 65 + src/physics/p2/FixtureList.js line 65 @@ -1261,7 +1261,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 82 + src/physics/p2/FixtureList.js line 82 @@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 116 + src/physics/p2/FixtureList.js line 116 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 99 + src/physics/p2/FixtureList.js line 99 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1631,7 +1631,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index 83031a83d..bc31f1ff5 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 27 + src/physics/p2/GearConstraint.js line 27 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 32 + src/physics/p2/GearConstraint.js line 32 @@ -613,9 +613,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -632,7 +632,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -661,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index 0315f1904..8d5872858 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 69 + src/physics/p2/InversePointProxy.js line 69 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 91 + src/physics/p2/InversePointProxy.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 25 + src/physics/p2/InversePointProxy.js line 25 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 47 + src/physics/p2/InversePointProxy.js line 47 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index a18c0e757..08f875647 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 29 + src/physics/p2/LockConstraint.js line 29 @@ -616,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 34 + src/physics/p2/LockConstraint.js line 34 @@ -649,9 +649,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -668,7 +668,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -697,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index 3a4d3d8c8..3f05e177c 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 23 + src/physics/p2/Material.js line 23 @@ -369,9 +369,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -388,7 +388,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -417,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index b1546c28d..5ba41dd0c 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 69 + src/physics/p2/PointProxy.js line 69 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 91 + src/physics/p2/PointProxy.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 25 + src/physics/p2/PointProxy.js line 25 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 47 + src/physics/p2/PointProxy.js line 47 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index ee7fdcc44..7763e2b38 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 33 + src/physics/p2/PrismaticConstraint.js line 33 @@ -692,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 38 + src/physics/p2/PrismaticConstraint.js line 38 @@ -725,9 +725,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -744,7 +744,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -773,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index d05b31566..297a6fb6d 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 30 + src/physics/p2/RevoluteConstraint.js line 30 @@ -653,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 35 + src/physics/p2/RevoluteConstraint.js line 35 @@ -686,9 +686,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -705,7 +705,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -734,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index 8d82bab2f..21adab025 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 50 + src/physics/p2/RotationalSpring.js line 50 @@ -618,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 25 + src/physics/p2/RotationalSpring.js line 25 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 30 + src/physics/p2/RotationalSpring.js line 30 @@ -728,9 +728,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -747,7 +747,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -776,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index a30608957..d66877f7f 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 71 + src/physics/p2/Spring.js line 71 @@ -772,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 29 + src/physics/p2/Spring.js line 29 @@ -849,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 34 + src/physics/p2/Spring.js line 34 @@ -882,9 +882,9 @@
Type:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -901,7 +901,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -930,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index 5baa599fd..9aeb98813 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 1997 + src/physics/p2/World.js line 1997 @@ -506,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 2019 + src/physics/p2/World.js line 2019 @@ -583,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1975 + src/physics/p2/World.js line 1975 @@ -660,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 233 + src/physics/p2/World.js line 233 @@ -737,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 223 + src/physics/p2/World.js line 223 @@ -814,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 171 + src/physics/p2/World.js line 171 @@ -891,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 213 + src/physics/p2/World.js line 213 @@ -968,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 49 + src/physics/p2/World.js line 49 @@ -1045,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1953 + src/physics/p2/World.js line 1953 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 2079 + src/physics/p2/World.js line 2079 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 228 + src/physics/p2/World.js line 228 @@ -1276,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 61 + src/physics/p2/World.js line 61 @@ -1353,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1909 + src/physics/p2/World.js line 1909 @@ -1430,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 26 + src/physics/p2/World.js line 26 @@ -1507,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 84 + src/physics/p2/World.js line 84 @@ -1584,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 79 + src/physics/p2/World.js line 79 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 218 + src/physics/p2/World.js line 218 @@ -1741,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 183 + src/physics/p2/World.js line 183 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 98 + src/physics/p2/World.js line 98 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 107 + src/physics/p2/World.js line 107 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 134 + src/physics/p2/World.js line 134 @@ -2053,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 143 + src/physics/p2/World.js line 143 @@ -2131,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 152 + src/physics/p2/World.js line 152 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 161 + src/physics/p2/World.js line 161 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 195 + src/physics/p2/World.js line 195 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 116 + src/physics/p2/World.js line 116 @@ -2445,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 125 + src/physics/p2/World.js line 125 @@ -2522,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 73 + src/physics/p2/World.js line 73 @@ -2599,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 166 + src/physics/p2/World.js line 166 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1931 + src/physics/p2/World.js line 1931 @@ -2754,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2101 + src/physics/p2/World.js line 2101 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 2041 + src/physics/p2/World.js line 2041 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 2063 + src/physics/p2/World.js line 2063 @@ -2985,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2125 + src/physics/p2/World.js line 2125 @@ -3062,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 67 + src/physics/p2/World.js line 67 @@ -3139,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 89 + src/physics/p2/World.js line 89 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 55 + src/physics/p2/World.js line 55 @@ -3344,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 906 + src/physics/p2/World.js line 906 @@ -3502,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1147 + src/physics/p2/World.js line 1147 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1183 + src/physics/p2/World.js line 1183 @@ -3824,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 952 + src/physics/p2/World.js line 952 @@ -3982,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 510 + src/physics/p2/World.js line 510 @@ -4075,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 817 + src/physics/p2/World.js line 817 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1730 + src/physics/p2/World.js line 1730 @@ -4494,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1673 + src/physics/p2/World.js line 1673 @@ -4795,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1753 + src/physics/p2/World.js line 1753 @@ -5311,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1588 + src/physics/p2/World.js line 1588 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1453 + src/physics/p2/World.js line 1453 @@ -5699,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1281 + src/physics/p2/World.js line 1281 @@ -6045,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1002 + src/physics/p2/World.js line 1002 @@ -6347,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1031 + src/physics/p2/World.js line 1031 @@ -6685,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1088 + src/physics/p2/World.js line 1088 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1253 + src/physics/p2/World.js line 1253 @@ -7407,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1631 + src/physics/p2/World.js line 1631 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1116 + src/physics/p2/World.js line 1116 @@ -8173,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1058 + src/physics/p2/World.js line 1058 @@ -8513,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1560 + src/physics/p2/World.js line 1560 @@ -9007,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1528 + src/physics/p2/World.js line 1528 @@ -9115,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 892 + src/physics/p2/World.js line 892 @@ -9353,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 316 + src/physics/p2/World.js line 316 @@ -9512,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 374 + src/physics/p2/World.js line 374 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 536 + src/physics/p2/World.js line 536 @@ -9730,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1302 + src/physics/p2/World.js line 1302 @@ -9888,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1323 + src/physics/p2/World.js line 1323 @@ -9998,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1374 + src/physics/p2/World.js line 1374 @@ -10180,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -10291,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1353 + src/physics/p2/World.js line 1353 @@ -10584,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1397 + src/physics/p2/World.js line 1397 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1843 + src/physics/p2/World.js line 1843 @@ -10904,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1875 + src/physics/p2/World.js line 1875 @@ -11012,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 746 + src/physics/p2/World.js line 746 @@ -11096,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 297 + src/physics/p2/World.js line 297 @@ -11232,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1859 + src/physics/p2/World.js line 1859 @@ -11392,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1891 + src/physics/p2/World.js line 1891 @@ -11550,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -11708,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 284 + src/physics/p2/World.js line 284 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1165 + src/physics/p2/World.js line 1165 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 977 + src/physics/p2/World.js line 977 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 795 + src/physics/p2/World.js line 795 @@ -12351,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 758 + src/physics/p2/World.js line 758 @@ -12814,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 659 + src/physics/p2/World.js line 659 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 397 + src/physics/p2/World.js line 397 @@ -13107,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1234 + src/physics/p2/World.js line 1234 @@ -13268,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 418 + src/physics/p2/World.js line 418 @@ -13352,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1440 + src/physics/p2/World.js line 1440 @@ -13460,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 770 + src/physics/p2/World.js line 770 @@ -13616,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 620 + src/physics/p2/World.js line 620 @@ -13659,9 +13659,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -13678,7 +13678,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -13707,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index 89b91ebc1..826a2bc8d 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 72 + src/physics/Physics.js line 72 @@ -477,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 90 + src/physics/Physics.js line 90 @@ -550,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 96 + src/physics/Physics.js line 96 @@ -623,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 102 + src/physics/Physics.js line 102 @@ -696,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 84 + src/physics/Physics.js line 84 @@ -769,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 78 + src/physics/Physics.js line 78 @@ -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 342 + src/physics/Physics.js line 342 @@ -1547,7 +1547,7 @@

Source:
- src/physics/Physics.js line 390 + src/physics/Physics.js line 390 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 205 + src/physics/Physics.js line 205 @@ -1874,7 +1874,7 @@

Source:
- src/physics/Physics.js line 106 + src/physics/Physics.js line 106 @@ -1958,7 +1958,7 @@

Source:
- src/physics/Physics.js line 256 + src/physics/Physics.js line 256 @@ -2042,7 +2042,7 @@

Source:
- src/physics/Physics.js line 366 + src/physics/Physics.js line 366 @@ -2126,7 +2126,7 @@

Source:
- src/physics/Physics.js line 308 + src/physics/Physics.js line 308 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 562 + src/physics/p2/World.js line 562 @@ -2751,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 580 + src/physics/p2/World.js line 580 @@ -2895,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 140 + src/physics/Physics.js line 140 @@ -2979,7 +2979,7 @@

Source:
- src/physics/Physics.js line 282 + src/physics/Physics.js line 282 @@ -3022,9 +3022,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3070,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index b56a3b476..a42227172 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 48 + src/plugins/path/PathManagerPlugin.js line 48 @@ -403,9 +403,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -422,7 +422,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index 9c46ad6f0..51f3ee4eb 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -279,7 +279,7 @@

Parameters:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 27 @@ -391,7 +391,7 @@
Type:
Source:
- src/core/Plugin.js line 45 + src/core/Plugin.js line 45 @@ -468,7 +468,7 @@
Type:
Source:
- src/core/Plugin.js line 34 + src/core/Plugin.js line 34 @@ -545,7 +545,7 @@
Type:
Source:
- src/core/Plugin.js line 81 + src/core/Plugin.js line 81 @@ -622,7 +622,7 @@
Type:
Source:
- src/core/Plugin.js line 69 + src/core/Plugin.js line 69 @@ -699,7 +699,7 @@
Type:
Source:
- src/core/Plugin.js line 57 + src/core/Plugin.js line 57 @@ -776,7 +776,7 @@
Type:
Source:
- src/core/Plugin.js line 75 + src/core/Plugin.js line 75 @@ -853,7 +853,7 @@
Type:
Source:
- src/core/Plugin.js line 63 + src/core/Plugin.js line 63 @@ -930,7 +930,7 @@
Type:
Source:
- src/core/Plugin.js line 39 + src/core/Plugin.js line 39 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/core/Plugin.js line 51 + src/core/Plugin.js line 51 @@ -1085,7 +1085,7 @@

Source:
- src/core/Plugin.js line 122 + src/core/Plugin.js line 122 @@ -1170,7 +1170,7 @@

Source:
- src/core/Plugin.js line 113 + src/core/Plugin.js line 113 @@ -1255,7 +1255,7 @@

Source:
- src/core/Plugin.js line 86 + src/core/Plugin.js line 86 @@ -1340,7 +1340,7 @@

Source:
- src/core/Plugin.js line 104 + src/core/Plugin.js line 104 @@ -1425,7 +1425,7 @@

Source:
- src/core/Plugin.js line 95 + src/core/Plugin.js line 95 @@ -1468,9 +1468,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1487,7 +1487,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1516,7 +1516,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index ee2ebf318..625954a3f 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 43 + src/core/PluginManager.js line 43 @@ -696,7 +696,7 @@

Source:
- src/core/PluginManager.js line 271 + src/core/PluginManager.js line 271 @@ -781,7 +781,7 @@

Source:
- src/core/PluginManager.js line 252 + src/core/PluginManager.js line 252 @@ -867,7 +867,7 @@

Source:
- src/core/PluginManager.js line 213 + src/core/PluginManager.js line 213 @@ -952,7 +952,7 @@

Source:
- src/core/PluginManager.js line 175 + src/core/PluginManager.js line 175 @@ -1142,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 128 + src/core/PluginManager.js line 128 @@ -1226,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 157 + src/core/PluginManager.js line 157 @@ -1311,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 233 + src/core/PluginManager.js line 233 @@ -1396,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 194 + src/core/PluginManager.js line 194 @@ -1439,9 +1439,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1458,7 +1458,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1487,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index dedb5a174..b0ac1e610 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 602 + src/geom/Point.js line 602 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 708 + src/geom/Point.js line 708 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 942 + src/geom/Point.js line 942 @@ -1390,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 800 + src/geom/Point.js line 800 @@ -1624,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 659 + src/geom/Point.js line 659 @@ -1806,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 678 + src/geom/Point.js line 678 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 753 + src/geom/Point.js line 753 @@ -2230,7 +2230,7 @@
Parameters:
Source:
- src/geom/Point.js line 1029 + src/geom/Point.js line 1029 @@ -2466,7 +2466,7 @@
Parameters:
Source:
- src/geom/Point.js line 640 + src/geom/Point.js line 640 @@ -2732,7 +2732,7 @@
Parameters:
Source:
- src/geom/Point.js line 736 + src/geom/Point.js line 736 @@ -2934,7 +2934,7 @@
Parameters:
Source:
- src/geom/Point.js line 721 + src/geom/Point.js line 721 @@ -3136,7 +3136,7 @@
Parameters:
Source:
- src/geom/Point.js line 876 + src/geom/Point.js line 876 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/geom/Point.js line 861 + src/geom/Point.js line 861 @@ -3593,7 +3593,7 @@
Parameters:
Source:
- src/geom/Point.js line 982 + src/geom/Point.js line 982 @@ -3795,7 +3795,7 @@
Parameters:
Source:
- src/geom/Point.js line 770 + src/geom/Point.js line 770 @@ -4029,7 +4029,7 @@
Parameters:
Source:
- src/geom/Point.js line 815 + src/geom/Point.js line 815 @@ -4263,7 +4263,7 @@
Parameters:
Source:
- src/geom/Point.js line 838 + src/geom/Point.js line 838 @@ -4627,7 +4627,7 @@
Parameters:
Source:
- src/geom/Point.js line 898 + src/geom/Point.js line 898 @@ -4829,7 +4829,7 @@
Parameters:
Source:
- src/geom/Point.js line 785 + src/geom/Point.js line 785 @@ -5063,7 +5063,7 @@
Parameters:
Source:
- src/geom/Point.js line 621 + src/geom/Point.js line 621 @@ -5221,7 +5221,7 @@
Parameters:
Source:
- src/geom/Point.js line 1013 + src/geom/Point.js line 1013 @@ -5403,7 +5403,7 @@
Parameters:
Source:
- src/geom/Point.js line 116 + src/geom/Point.js line 116 @@ -5620,7 +5620,7 @@
Parameters:
Source:
- src/geom/Point.js line 325 + src/geom/Point.js line 325 @@ -5870,7 +5870,7 @@
Parameters:
Source:
- src/geom/Point.js line 338 + src/geom/Point.js line 338 @@ -6048,7 +6048,7 @@
Parameters:
Source:
- src/geom/Point.js line 361 + src/geom/Point.js line 361 @@ -6156,7 +6156,7 @@

Source:
- src/geom/Point.js line 565 + src/geom/Point.js line 565 @@ -6338,7 +6338,7 @@
Parameters:
Source:
- src/geom/Point.js line 204 + src/geom/Point.js line 204 @@ -6520,7 +6520,7 @@
Parameters:
Source:
- src/geom/Point.js line 176 + src/geom/Point.js line 176 @@ -6702,7 +6702,7 @@
Parameters:
Source:
- src/geom/Point.js line 190 + src/geom/Point.js line 190 @@ -6860,7 +6860,7 @@
Parameters:
Source:
- src/geom/Point.js line 219 + src/geom/Point.js line 219 @@ -7030,7 +7030,7 @@
Parameters:
Source:
- src/geom/Point.js line 241 + src/geom/Point.js line 241 @@ -7188,7 +7188,7 @@
Parameters:
Source:
- src/geom/Point.js line 42 + src/geom/Point.js line 42 @@ -7346,7 +7346,7 @@
Parameters:
Source:
- src/geom/Point.js line 262 + src/geom/Point.js line 262 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/geom/Point.js line 509 + src/geom/Point.js line 509 @@ -7706,7 +7706,7 @@
Parameters:
Source:
- src/geom/Point.js line 277 + src/geom/Point.js line 277 @@ -7888,7 +7888,7 @@
Parameters:
Source:
- src/geom/Point.js line 161 + src/geom/Point.js line 161 @@ -8046,7 +8046,7 @@
Parameters:
Source:
- src/geom/Point.js line 497 + src/geom/Point.js line 497 @@ -8207,7 +8207,7 @@
Parameters:
Source:
- src/geom/Point.js line 290 + src/geom/Point.js line 290 @@ -8389,7 +8389,7 @@
Parameters:
Source:
- src/geom/Point.js line 302 + src/geom/Point.js line 302 @@ -8547,7 +8547,7 @@
Parameters:
Source:
- src/geom/Point.js line 468 + src/geom/Point.js line 468 @@ -8662,7 +8662,7 @@

Source:
- src/geom/Point.js line 554 + src/geom/Point.js line 554 @@ -8770,7 +8770,7 @@

Source:
- src/geom/Point.js line 398 + src/geom/Point.js line 398 @@ -8878,7 +8878,7 @@

Source:
- src/geom/Point.js line 409 + src/geom/Point.js line 409 @@ -8986,7 +8986,7 @@

Source:
- src/geom/Point.js line 54 + src/geom/Point.js line 54 @@ -9094,7 +9094,7 @@

Source:
- src/geom/Point.js line 486 + src/geom/Point.js line 486 @@ -9252,7 +9252,7 @@
Parameters:
Source:
- src/geom/Point.js line 450 + src/geom/Point.js line 450 @@ -9441,7 +9441,7 @@
Parameters:
Source:
- src/geom/Point.js line 146 + src/geom/Point.js line 146 @@ -9549,7 +9549,7 @@

Source:
- src/geom/Point.js line 432 + src/geom/Point.js line 432 @@ -9657,7 +9657,7 @@

Source:
- src/geom/Point.js line 543 + src/geom/Point.js line 543 @@ -9765,7 +9765,7 @@

Source:
- src/geom/Point.js line 521 + src/geom/Point.js line 521 @@ -10089,7 +10089,7 @@
Parameters:
Source:
- src/geom/Point.js line 382 + src/geom/Point.js line 382 @@ -10197,7 +10197,7 @@

Source:
- src/geom/Point.js line 576 + src/geom/Point.js line 576 @@ -10305,7 +10305,7 @@

Source:
- src/geom/Point.js line 532 + src/geom/Point.js line 532 @@ -10359,7 +10359,7 @@
Returns:

- set(x [, y]) + set(obj, x [, y])

@@ -10368,10 +10368,7 @@

-

Sets the x and y values of this Point object to the given values. -If you omit the y value then the x value will be applied to both, for example: -Point.set(2) is the same as Point.set(2, 2)

-

Identical to setTo.

+

Sets the x and y values of an object and returns the object.

@@ -10406,6 +10403,38 @@

Parameters:

+ + + + + + + + + + + + + + + + + + @@ -10433,7 +10462,7 @@
Parameters:
- + @@ -10467,7 +10496,7 @@
Parameters:
- + @@ -10510,7 +10539,7 @@
Parameters:
Source:
- src/geom/Point.js line 82 + src/geom/Point.js line 1042 @@ -10536,7 +10565,7 @@
Returns:
-

This Point object. Useful for chaining method calls.

+

The object. Useful for chaining method calls.

@@ -10547,7 +10576,7 @@
Returns:
-Phaser.Point +object @@ -10564,7 +10593,7 @@
Returns:

- set(obj, x [, y]) + set(x [, y])

@@ -10573,7 +10602,10 @@

-

Sets the x and y values of an object and returns the object.

+

Sets the x and y values of this Point object to the given values. +If you omit the y value then the x value will be applied to both, for example: +Point.set(2) is the same as Point.set(2, 2)

+

Identical to setTo.

@@ -10608,38 +10640,6 @@

Parameters:
- - - - - - - - - - - - - - - - - - @@ -10667,7 +10667,7 @@
Parameters:
- + @@ -10701,7 +10701,7 @@
Parameters:
- + @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/geom/Point.js line 1042 + src/geom/Point.js line 82 @@ -10770,7 +10770,7 @@
Returns:
-

The object. Useful for chaining method calls.

+

This Point object. Useful for chaining method calls.

@@ -10781,7 +10781,7 @@
Returns:
-object +Phaser.Point @@ -10902,7 +10902,7 @@
Parameters:
Source:
- src/geom/Point.js line 420 + src/geom/Point.js line 420 @@ -11107,7 +11107,7 @@
Parameters:
Source:
- src/geom/Point.js line 65 + src/geom/Point.js line 65 @@ -11361,7 +11361,7 @@
Parameters:
Source:
- src/geom/Point.js line 99 + src/geom/Point.js line 99 @@ -11569,7 +11569,7 @@
Parameters:
Source:
- src/geom/Point.js line 1060 + src/geom/Point.js line 1060 @@ -11751,7 +11751,7 @@
Parameters:
Source:
- src/geom/Point.js line 131 + src/geom/Point.js line 131 @@ -11859,7 +11859,7 @@

Source:
- src/geom/Point.js line 587 + src/geom/Point.js line 587 @@ -11926,9 +11926,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -11945,7 +11945,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -11974,7 +11974,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index cfa9dc58d..0474f1075 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 398 + src/input/Pointer.js line 398 @@ -477,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 413 + src/input/Pointer.js line 413 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 406 + src/input/Pointer.js line 406 @@ -632,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 376 + src/input/Pointer.js line 376 @@ -709,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 390 + src/input/Pointer.js line 390 @@ -786,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 369 + src/input/Pointer.js line 369 @@ -863,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 383 + src/input/Pointer.js line 383 @@ -940,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 318 + src/input/Pointer.js line 318 @@ -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 346 + src/input/Pointer.js line 346 @@ -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 324 + src/input/Pointer.js line 324 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1185 + src/input/Pointer.js line 1185 @@ -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 312 + src/input/Pointer.js line 312 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 257 + src/input/Pointer.js line 257 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 249 + src/input/Pointer.js line 249 @@ -2290,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 265 + src/input/Pointer.js line 265 @@ -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 226 + src/input/Pointer.js line 226 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 232 + src/input/Pointer.js line 232 @@ -2680,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 295 + src/input/Pointer.js line 295 @@ -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 329 + src/input/Pointer.js line 329 @@ -3142,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 334 + src/input/Pointer.js line 334 @@ -3219,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 339 + src/input/Pointer.js line 339 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 283 + src/input/Pointer.js line 283 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 213 + src/input/Pointer.js line 213 @@ -3457,7 +3457,7 @@
Type:
Source:
- src/input/Pointer.js line 220 + src/input/Pointer.js line 220 @@ -3544,7 +3544,7 @@
Type:
Source:
- src/input/Pointer.js line 107 + src/input/Pointer.js line 107 @@ -3621,7 +3621,7 @@
Type:
Source:
- src/input/Pointer.js line 201 + src/input/Pointer.js line 201 @@ -3698,7 +3698,7 @@
Type:
Source:
- src/input/Pointer.js line 206 + src/input/Pointer.js line 206 @@ -3775,7 +3775,7 @@
Type:
Source:
- src/input/Pointer.js line 61 + src/input/Pointer.js line 61 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/input/Pointer.js line 301 + src/input/Pointer.js line 301 @@ -3929,7 +3929,7 @@
Type:
Source:
- src/input/Pointer.js line 271 + src/input/Pointer.js line 271 @@ -4006,7 +4006,7 @@
Type:
Source:
- src/input/Pointer.js line 277 + src/input/Pointer.js line 277 @@ -4083,7 +4083,7 @@
Type:
Source:
- src/input/Pointer.js line 289 + src/input/Pointer.js line 289 @@ -4160,7 +4160,7 @@
Type:
Source:
- src/input/Pointer.js line 32 + src/input/Pointer.js line 32 @@ -4237,7 +4237,7 @@
Type:
Source:
- src/input/Pointer.js line 176 + src/input/Pointer.js line 176 @@ -4314,7 +4314,7 @@
Type:
Source:
- src/input/Pointer.js line 1208 + src/input/Pointer.js line 1208 @@ -4391,7 +4391,7 @@
Type:
Source:
- src/input/Pointer.js line 1223 + src/input/Pointer.js line 1223 @@ -4468,7 +4468,7 @@
Type:
Source:
- src/input/Pointer.js line 238 + src/input/Pointer.js line 238 @@ -4545,7 +4545,7 @@
Type:
Source:
- src/input/Pointer.js line 244 + src/input/Pointer.js line 244 @@ -4753,7 +4753,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1070 + src/input/Pointer.js line 1070 @@ -4901,7 +4901,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1040 + src/input/Pointer.js line 1040 @@ -5073,7 +5073,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1055 + src/input/Pointer.js line 1055 @@ -5237,7 +5237,7 @@
Parameters:
Source:
- src/input/Pointer.js line 953 + src/input/Pointer.js line 953 @@ -5433,7 +5433,7 @@
Parameters:
Source:
- src/input/Pointer.js line 724 + src/input/Pointer.js line 724 @@ -5587,7 +5587,7 @@
Parameters:
Source:
- src/input/Pointer.js line 814 + src/input/Pointer.js line 814 @@ -5695,7 +5695,7 @@

Source:
- src/input/Pointer.js line 1142 + src/input/Pointer.js line 1142 @@ -5779,7 +5779,7 @@

Source:
- src/input/Pointer.js line 417 + src/input/Pointer.js line 417 @@ -5863,7 +5863,7 @@

Source:
- src/input/Pointer.js line 1171 + src/input/Pointer.js line 1171 @@ -5997,7 +5997,7 @@
Parameters:
Source:
- src/input/Pointer.js line 604 + src/input/Pointer.js line 604 @@ -6137,7 +6137,7 @@
Parameters:
Source:
- src/input/Pointer.js line 965 + src/input/Pointer.js line 965 @@ -6330,7 +6330,7 @@
Parameters:
Source:
- src/input/Pointer.js line 897 + src/input/Pointer.js line 897 @@ -6414,7 +6414,7 @@

Source:
- src/input/Pointer.js line 673 + src/input/Pointer.js line 673 @@ -6549,7 +6549,7 @@
Parameters:
Source:
- src/input/Pointer.js line 581 + src/input/Pointer.js line 581 @@ -6592,9 +6592,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6611,7 +6611,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6640,7 +6640,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerLock.html b/docs/Phaser.PointerLock.html index 2b35a6e2b..81ac5ca12 100644 --- a/docs/Phaser.PointerLock.html +++ b/docs/Phaser.PointerLock.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerLock - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/PointerLock.js line 7 + src/input/PointerLock.js line 7 @@ -335,7 +335,7 @@
Type:
Source:
- src/input/PointerLock.js line 32 + src/input/PointerLock.js line 32 @@ -412,7 +412,7 @@
Type:
Source:
- src/input/PointerLock.js line 25 + src/input/PointerLock.js line 25 @@ -489,7 +489,7 @@
Type:
Source:
- src/input/PointerLock.js line 13 + src/input/PointerLock.js line 13 @@ -566,7 +566,7 @@
Type:
Source:
- src/input/PointerLock.js line 19 + src/input/PointerLock.js line 19 @@ -643,7 +643,7 @@
Type:
Source:
- src/input/PointerLock.js line 38 + src/input/PointerLock.js line 38 @@ -721,7 +721,7 @@
Type:
Source:
- src/input/PointerLock.js line 45 + src/input/PointerLock.js line 45 @@ -799,7 +799,7 @@
Type:
Source:
- src/input/PointerLock.js line 52 + src/input/PointerLock.js line 52 @@ -878,7 +878,7 @@

Source:
- src/input/PointerLock.js line 152 + src/input/PointerLock.js line 152 @@ -963,7 +963,7 @@

Source:
- src/input/PointerLock.js line 137 + src/input/PointerLock.js line 137 @@ -1047,7 +1047,7 @@

Source:
- src/input/PointerLock.js line 92 + src/input/PointerLock.js line 92 @@ -1157,7 +1157,7 @@

Source:
- src/input/PointerLock.js line 122 + src/input/PointerLock.js line 122 @@ -1200,9 +1200,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

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

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1248,7 +1248,7 @@

- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index 7fe673573..0ac37b511 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 1248 + src/input/Pointer.js line 1248 @@ -278,7 +278,7 @@

Source:
- src/input/Pointer.js line 1263 + src/input/Pointer.js line 1263 @@ -346,7 +346,7 @@

Source:
- src/input/Pointer.js line 1257 + src/input/Pointer.js line 1257 @@ -379,9 +379,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -398,7 +398,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -427,7 +427,7 @@

- + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index 8e30eed7a..41e305340 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 @@ -585,7 +585,7 @@
Type:
Source:
- src/geom/Polygon.js line 286 + src/geom/Polygon.js line 286 @@ -662,7 +662,7 @@
Type:
Source:
- src/geom/Polygon.js line 55 + src/geom/Polygon.js line 55 @@ -811,7 +811,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 106 + src/geom/Polygon.js line 106 @@ -993,7 +993,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 130 + src/geom/Polygon.js line 130 @@ -1103,7 +1103,7 @@

Source:
- src/geom/Polygon.js line 89 + src/geom/Polygon.js line 89 @@ -1281,7 +1281,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 180 + src/geom/Polygon.js line 180 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 60 + src/geom/Polygon.js line 60 @@ -1518,9 +1518,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1537,7 +1537,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1566,7 +1566,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index 321809e5d..77a940956 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 287 + src/math/QuadTree.js line 287 @@ -1195,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 197 + src/math/QuadTree.js line 197 @@ -1356,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 146 + src/math/QuadTree.js line 146 @@ -1490,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 101 + src/math/QuadTree.js line 101 @@ -1627,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 112 + src/math/QuadTree.js line 112 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 68 + src/math/QuadTree.js line 68 @@ -2142,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 240 + src/math/QuadTree.js line 240 @@ -2252,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 126 + src/math/QuadTree.js line 126 @@ -2295,9 +2295,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2314,7 +2314,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2343,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index 08a149aa9..2dddcb097 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 295 + src/math/RandomDataGenerator.js line 295 @@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 192 + src/math/RandomDataGenerator.js line 192 @@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 157 + src/math/RandomDataGenerator.js line 157 @@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 146 + src/math/RandomDataGenerator.js line 146 @@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 179 + src/math/RandomDataGenerator.js line 179 @@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 219 + src/math/RandomDataGenerator.js line 219 @@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 247 + src/math/RandomDataGenerator.js line 247 @@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 168 + src/math/RandomDataGenerator.js line 168 @@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 206 + src/math/RandomDataGenerator.js line 206 @@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 259 + src/math/RandomDataGenerator.js line 259 @@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 82 + src/math/RandomDataGenerator.js line 82 @@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 306 + src/math/RandomDataGenerator.js line 306 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 282 + src/math/RandomDataGenerator.js line 282 @@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 230 + src/math/RandomDataGenerator.js line 230 @@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 270 + src/math/RandomDataGenerator.js line 270 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2445,7 +2445,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index 9e0b78d40..ced37bd16 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 503 + src/geom/Rectangle.js line 503 @@ -485,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 529 + src/geom/Rectangle.js line 529 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 549 + src/geom/Rectangle.js line 549 @@ -639,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 652 + src/geom/Rectangle.js line 652 @@ -716,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 671 + src/geom/Rectangle.js line 671 @@ -794,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 788 + src/geom/Rectangle.js line 788 @@ -871,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 489 + src/geom/Rectangle.js line 489 @@ -948,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 475 + src/geom/Rectangle.js line 475 @@ -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 569 + src/geom/Rectangle.js line 569 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 637 + src/geom/Rectangle.js line 637 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 690 + src/geom/Rectangle.js line 690 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 705 + src/geom/Rectangle.js line 705 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 596 + src/geom/Rectangle.js line 596 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 720 + src/geom/Rectangle.js line 720 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 748 + src/geom/Rectangle.js line 748 @@ -1642,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 768 + src/geom/Rectangle.js line 768 @@ -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 622 + src/geom/Rectangle.js line 622 @@ -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 1071 + src/geom/Rectangle.js line 1071 @@ -2401,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 864 + src/geom/Rectangle.js line 864 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 902 + src/geom/Rectangle.js line 902 @@ -2785,7 +2785,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 936 + src/geom/Rectangle.js line 936 @@ -3063,7 +3063,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 920 + src/geom/Rectangle.js line 920 @@ -3246,7 +3246,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 948 + src/geom/Rectangle.js line 948 @@ -3448,7 +3448,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 885 + src/geom/Rectangle.js line 885 @@ -3627,7 +3627,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 967 + src/geom/Rectangle.js line 967 @@ -3833,7 +3833,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 813 + src/geom/Rectangle.js line 813 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 831 + src/geom/Rectangle.js line 831 @@ -4249,7 +4249,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 992 + src/geom/Rectangle.js line 992 @@ -4432,7 +4432,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1018 + src/geom/Rectangle.js line 1018 @@ -4686,7 +4686,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1036 + src/geom/Rectangle.js line 1036 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 980 + src/geom/Rectangle.js line 980 @@ -5070,7 +5070,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 843 + src/geom/Rectangle.js line 843 @@ -5304,7 +5304,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1053 + src/geom/Rectangle.js line 1053 @@ -5412,7 +5412,7 @@

Source:
- src/geom/Rectangle.js line 155 + src/geom/Rectangle.js line 155 @@ -5496,7 +5496,7 @@

Source:
- src/geom/Rectangle.js line 165 + src/geom/Rectangle.js line 165 @@ -5654,7 +5654,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 117 + src/geom/Rectangle.js line 117 @@ -5824,7 +5824,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 255 + src/geom/Rectangle.js line 255 @@ -6002,7 +6002,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 266 + src/geom/Rectangle.js line 266 @@ -6161,7 +6161,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 278 + src/geom/Rectangle.js line 278 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 177 + src/geom/Rectangle.js line 177 @@ -6477,7 +6477,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 188 + src/geom/Rectangle.js line 188 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 199 + src/geom/Rectangle.js line 199 @@ -6794,7 +6794,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 290 + src/geom/Rectangle.js line 290 @@ -6902,7 +6902,7 @@

Source:
- src/geom/Rectangle.js line 133 + src/geom/Rectangle.js line 133 @@ -6986,7 +6986,7 @@

Source:
- src/geom/Rectangle.js line 143 + src/geom/Rectangle.js line 143 @@ -7172,7 +7172,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 373 + src/geom/Rectangle.js line 373 @@ -7354,7 +7354,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 215 + src/geom/Rectangle.js line 215 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 302 + src/geom/Rectangle.js line 302 @@ -7695,7 +7695,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 314 + src/geom/Rectangle.js line 314 @@ -7949,7 +7949,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 327 + src/geom/Rectangle.js line 327 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 54 + src/geom/Rectangle.js line 54 @@ -8289,7 +8289,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 69 + src/geom/Rectangle.js line 69 @@ -8463,7 +8463,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 355 + src/geom/Rectangle.js line 355 @@ -8646,7 +8646,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 238 + src/geom/Rectangle.js line 238 @@ -8848,7 +8848,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 99 + src/geom/Rectangle.js line 99 @@ -9078,7 +9078,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 80 + src/geom/Rectangle.js line 80 @@ -9350,7 +9350,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 425 + src/geom/Rectangle.js line 425 @@ -9520,7 +9520,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 227 + src/geom/Rectangle.js line 227 @@ -9628,7 +9628,7 @@

Source:
- src/geom/Rectangle.js line 463 + src/geom/Rectangle.js line 463 @@ -9830,7 +9830,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 343 + src/geom/Rectangle.js line 343 @@ -9897,9 +9897,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -9916,7 +9916,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -9945,7 +9945,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index be8220bc0..26b4ad5c2 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 253 + src/gameobjects/RenderTexture.js line 253 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 173 + src/pixi/textures/Texture.js line 173 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 283 + src/pixi/textures/Texture.js line 283 @@ -2428,7 +2428,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 407 + src/gameobjects/RenderTexture.js line 407 @@ -2543,7 +2543,7 @@

Source:
- src/gameobjects/RenderTexture.js line 422 + src/gameobjects/RenderTexture.js line 422 @@ -2817,7 +2817,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 380 + src/gameobjects/RenderTexture.js line 380 @@ -3089,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 175 + src/gameobjects/RenderTexture.js line 175 @@ -3365,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 148 + src/gameobjects/RenderTexture.js line 148 @@ -3641,7 +3641,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 117 + src/gameobjects/RenderTexture.js line 117 @@ -3823,7 +3823,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 211 + src/gameobjects/RenderTexture.js line 211 @@ -3966,7 +3966,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 186 + src/pixi/textures/Texture.js line 186 @@ -4009,9 +4009,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -4028,7 +4028,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -4057,7 +4057,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index b383133a3..301dea5da 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 160 + src/utils/RequestAnimationFrame.js line 160 @@ -727,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 150 + src/utils/RequestAnimationFrame.js line 150 @@ -831,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 69 + src/utils/RequestAnimationFrame.js line 69 @@ -915,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 132 + src/utils/RequestAnimationFrame.js line 132 @@ -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 118 + src/utils/RequestAnimationFrame.js line 118 @@ -1126,9 +1126,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1145,7 +1145,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1174,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index f95ecc5d4..b7d3ccf8f 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 195 + src/gameobjects/RetroFont.js line 195 @@ -782,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 181 + src/gameobjects/RetroFont.js line 181 @@ -859,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 188 + src/gameobjects/RetroFont.js line 188 @@ -936,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 202 + src/gameobjects/RetroFont.js line 202 @@ -1013,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 209 + src/gameobjects/RetroFont.js line 209 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 216 + src/gameobjects/RetroFont.js line 216 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 223 + src/gameobjects/RetroFont.js line 223 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 230 + src/gameobjects/RetroFont.js line 230 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 237 + src/gameobjects/RetroFont.js line 237 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 244 + src/gameobjects/RetroFont.js line 244 @@ -1475,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 251 + src/gameobjects/RetroFont.js line 251 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 258 + src/gameobjects/RetroFont.js line 258 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 265 + src/gameobjects/RetroFont.js line 265 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 272 + src/gameobjects/RetroFont.js line 272 @@ -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 577 + src/gameobjects/RetroFont.js line 577 @@ -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 541 + src/gameobjects/RetroFont.js line 541 @@ -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 325 + src/gameobjects/RetroFont.js line 325 @@ -4650,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 253 + src/gameobjects/RenderTexture.js line 253 @@ -4793,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 173 + src/pixi/textures/Texture.js line 173 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 283 + src/pixi/textures/Texture.js line 283 @@ -5169,7 +5169,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 407 + src/gameobjects/RenderTexture.js line 407 @@ -5293,7 +5293,7 @@

Source:
- src/gameobjects/RenderTexture.js line 422 + src/gameobjects/RenderTexture.js line 422 @@ -5576,7 +5576,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 380 + src/gameobjects/RenderTexture.js line 380 @@ -5687,7 +5687,7 @@

Source:
- src/gameobjects/RetroFont.js line 455 + src/gameobjects/RetroFont.js line 455 @@ -5918,7 +5918,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 416 + src/gameobjects/RetroFont.js line 416 @@ -6072,7 +6072,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 482 + src/gameobjects/RetroFont.js line 482 @@ -6350,7 +6350,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 175 + src/gameobjects/RenderTexture.js line 175 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 148 + src/gameobjects/RenderTexture.js line 148 @@ -6920,7 +6920,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 117 + src/gameobjects/RenderTexture.js line 117 @@ -7111,7 +7111,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 211 + src/gameobjects/RenderTexture.js line 211 @@ -7302,7 +7302,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 274 + src/gameobjects/RetroFont.js line 274 @@ -7445,7 +7445,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 186 + src/pixi/textures/Texture.js line 186 @@ -7795,7 +7795,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 291 + src/gameobjects/RetroFont.js line 291 @@ -7991,7 +7991,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 509 + src/gameobjects/RetroFont.js line 509 @@ -8034,9 +8034,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -8053,7 +8053,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -8082,7 +8082,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index 055fa24e7..5da56ac72 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1097,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -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 56 + src/gameobjects/components/Bounds.js line 56 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -2062,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 276 + src/gameobjects/components/Core.js line 277 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2848,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2941,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3032,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3382,7 +3382,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3478,7 +3478,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3566,7 +3566,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3653,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3739,7 +3739,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -3841,7 +3841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -3928,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4018,7 +4018,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4107,7 +4107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4194,7 +4194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4370,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4456,7 +4456,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4543,7 +4543,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4632,7 +4632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -4721,7 +4721,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -4808,7 +4808,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4896,7 +4896,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -5068,7 +5068,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5155,7 +5155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5242,7 +5242,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5418,7 +5418,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5507,7 +5507,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5595,7 +5595,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5683,7 +5683,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5802,7 +5802,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 755 + src/gameobjects/Rope.js line 755 @@ -5890,7 +5890,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 58 + src/gameobjects/Rope.js line 58 @@ -6303,7 +6303,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 726 + src/gameobjects/Rope.js line 726 @@ -6402,7 +6402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -6488,7 +6488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -6576,7 +6576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -6668,7 +6668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -6850,7 +6850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7032,7 +7032,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7118,7 +7118,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7210,7 +7210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7302,7 +7302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7391,7 +7391,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7719,7 +7719,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8062,7 +8062,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -8526,7 +8526,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8693,7 +8693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -8919,7 +8919,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9019,7 +9019,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -9264,7 +9264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -9429,7 +9429,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 666 + src/gameobjects/Rope.js line 666 @@ -9596,7 +9596,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -9763,7 +9763,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -9880,7 +9880,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -10001,7 +10001,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -10286,7 +10286,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10382,7 +10382,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -10502,7 +10502,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -10685,7 +10685,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10991,7 +10991,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11108,7 +11108,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -11197,7 +11197,7 @@

Source:
- src/gameobjects/Rope.js line 141 + src/gameobjects/Rope.js line 141 @@ -11290,7 +11290,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -11374,7 +11374,7 @@

Source:
- src/gameobjects/Rope.js line 189 + src/gameobjects/Rope.js line 189 @@ -11517,7 +11517,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -11684,7 +11684,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -11875,7 +11875,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -11959,7 +11959,7 @@

Source:
- src/gameobjects/Rope.js line 627 + src/gameobjects/Rope.js line 627 @@ -12124,7 +12124,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 171 + src/gameobjects/Rope.js line 171 @@ -12241,7 +12241,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -12434,7 +12434,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12599,7 +12599,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -12719,7 +12719,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -12910,7 +12910,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -13054,7 +13054,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -13291,7 +13291,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -13425,7 +13425,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 302 + src/gameobjects/Rope.js line 302 @@ -13592,7 +13592,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -13735,7 +13735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13948,7 +13948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -14063,7 +14063,7 @@

Source:
- src/gameobjects/Rope.js line 157 + src/gameobjects/Rope.js line 157 @@ -14156,7 +14156,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -14276,7 +14276,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -14365,7 +14365,7 @@

Source:
- src/gameobjects/Rope.js line 237 + src/gameobjects/Rope.js line 237 @@ -14408,9 +14408,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -14427,7 +14427,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -14456,7 +14456,7 @@

- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index 4873fb8ff..8257ce400 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 74 + src/geom/RoundedRectangle.js line 74 @@ -1225,9 +1225,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1244,7 +1244,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1273,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index 75b4223cf..a66bc25bb 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -337,7 +337,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 68 + src/core/ScaleManager.js line 68 @@ -442,7 +442,7 @@
Type:
Source:
- src/core/ScaleManager.js line 634 + src/core/ScaleManager.js line 634 @@ -519,7 +519,7 @@
Type:
Source:
- src/core/ScaleManager.js line 674 + src/core/ScaleManager.js line 674 @@ -596,7 +596,7 @@
Type:
Source:
- src/core/ScaleManager.js line 642 + src/core/ScaleManager.js line 642 @@ -673,7 +673,7 @@
Type:
Source:
- src/core/ScaleManager.js line 658 + src/core/ScaleManager.js line 658 @@ -750,7 +750,7 @@
Type:
Source:
- src/core/ScaleManager.js line 650 + src/core/ScaleManager.js line 650 @@ -827,7 +827,7 @@
Type:
Source:
- src/core/ScaleManager.js line 666 + src/core/ScaleManager.js line 666 @@ -904,7 +904,7 @@
Type:
Source:
- src/core/ScaleManager.js line 371 + src/core/ScaleManager.js line 371 @@ -983,7 +983,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2172 + src/core/ScaleManager.js line 2172 @@ -1060,7 +1060,7 @@
Type:
Source:
- src/core/ScaleManager.js line 364 + src/core/ScaleManager.js line 364 @@ -1433,7 +1433,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 432 + src/core/ScaleManager.js line 432 @@ -1511,7 +1511,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2300 + src/core/ScaleManager.js line 2300 @@ -1588,7 +1588,7 @@
Type:
Source:
- src/core/ScaleManager.js line 84 + src/core/ScaleManager.js line 84 @@ -1666,7 +1666,7 @@
Type:
Source:
- src/core/ScaleManager.js line 233 + src/core/ScaleManager.js line 233 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/ScaleManager.js line 162 + src/core/ScaleManager.js line 162 @@ -1822,7 +1822,7 @@
Type:
Source:
- src/core/ScaleManager.js line 172 + src/core/ScaleManager.js line 172 @@ -1900,7 +1900,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2261 + src/core/ScaleManager.js line 2261 @@ -1982,7 +1982,7 @@
Type:
Source:
- src/core/ScaleManager.js line 270 + src/core/ScaleManager.js line 270 @@ -2059,7 +2059,7 @@
Type:
Source:
- src/core/ScaleManager.js line 76 + src/core/ScaleManager.js line 76 @@ -2136,7 +2136,7 @@
Type:
Source:
- src/core/ScaleManager.js line 91 + src/core/ScaleManager.js line 91 @@ -2216,7 +2216,7 @@
Type:
Source:
- src/core/ScaleManager.js line 255 + src/core/ScaleManager.js line 255 @@ -2293,7 +2293,7 @@
Type:
Source:
- src/core/ScaleManager.js line 105 + src/core/ScaleManager.js line 105 @@ -2371,7 +2371,7 @@
Type:
Source:
- src/core/ScaleManager.js line 183 + src/core/ScaleManager.js line 183 @@ -2448,7 +2448,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2386 + src/core/ScaleManager.js line 2386 @@ -2528,7 +2528,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2455 + src/core/ScaleManager.js line 2455 @@ -2608,7 +2608,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2436 + src/core/ScaleManager.js line 2436 @@ -2685,7 +2685,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2420 + src/core/ScaleManager.js line 2420 @@ -2762,7 +2762,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2404 + src/core/ScaleManager.js line 2404 @@ -2840,7 +2840,7 @@
Type:
Source:
- src/core/ScaleManager.js line 243 + src/core/ScaleManager.js line 243 @@ -2917,7 +2917,7 @@
Type:
Source:
- src/core/ScaleManager.js line 357 + src/core/ScaleManager.js line 357 @@ -2996,7 +2996,7 @@
Type:
Source:
- src/core/ScaleManager.js line 143 + src/core/ScaleManager.js line 143 @@ -3075,7 +3075,7 @@
Type:
Source:
- src/core/ScaleManager.js line 124 + src/core/ScaleManager.js line 124 @@ -3153,7 +3153,7 @@
Type:
Source:
- src/core/ScaleManager.js line 133 + src/core/ScaleManager.js line 133 @@ -3231,7 +3231,7 @@
Type:
Source:
- src/core/ScaleManager.js line 114 + src/core/ScaleManager.js line 114 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/core/ScaleManager.js line 152 + src/core/ScaleManager.js line 152 @@ -3388,7 +3388,7 @@
Type:
Source:
- src/core/ScaleManager.js line 312 + src/core/ScaleManager.js line 312 @@ -3467,7 +3467,7 @@
Type:
Source:
- src/core/ScaleManager.js line 323 + src/core/ScaleManager.js line 323 @@ -3556,7 +3556,7 @@
Type:
Source:
- src/core/ScaleManager.js line 301 + src/core/ScaleManager.js line 301 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/core/ScaleManager.js line 223 + src/core/ScaleManager.js line 223 @@ -3733,7 +3733,7 @@
Type:
Source:
- src/core/ScaleManager.js line 513 + src/core/ScaleManager.js line 513 @@ -3820,7 +3820,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2319 + src/core/ScaleManager.js line 2319 @@ -3912,7 +3912,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2349 + src/core/ScaleManager.js line 2349 @@ -3991,7 +3991,7 @@
Type:
Source:
- src/core/ScaleManager.js line 465 + src/core/ScaleManager.js line 465 @@ -4071,7 +4071,7 @@
Type:
Source:
- src/core/ScaleManager.js line 477 + src/core/ScaleManager.js line 477 @@ -4148,7 +4148,7 @@
Type:
Source:
- src/core/ScaleManager.js line 484 + src/core/ScaleManager.js line 484 @@ -4225,7 +4225,7 @@
Type:
Source:
- src/core/ScaleManager.js line 340 + src/core/ScaleManager.js line 340 @@ -4302,7 +4302,7 @@
Type:
Source:
- src/core/ScaleManager.js line 348 + src/core/ScaleManager.js line 348 @@ -4409,7 +4409,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2199 + src/core/ScaleManager.js line 2199 @@ -4487,7 +4487,7 @@
Type:
Source:
- src/core/ScaleManager.js line 333 + src/core/ScaleManager.js line 333 @@ -4564,7 +4564,7 @@
Type:
Source:
- src/core/ScaleManager.js line 378 + src/core/ScaleManager.js line 378 @@ -4649,7 +4649,7 @@
Type:
Source:
- src/core/ScaleManager.js line 495 + src/core/ScaleManager.js line 495 @@ -4733,7 +4733,7 @@
Type:
Source:
- src/core/ScaleManager.js line 98 + src/core/ScaleManager.js line 98 @@ -4889,7 +4889,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 401 + src/core/ScaleManager.js line 401 @@ -5063,7 +5063,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1522 + src/core/ScaleManager.js line 1522 @@ -5147,7 +5147,7 @@

Source:
- src/core/ScaleManager.js line 684 + src/core/ScaleManager.js line 684 @@ -5233,7 +5233,7 @@

Source:
- src/core/ScaleManager.js line 1795 + src/core/ScaleManager.js line 1795 @@ -5318,7 +5318,7 @@

Source:
- src/core/ScaleManager.js line 2140 + src/core/ScaleManager.js line 2140 @@ -5512,7 +5512,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1218 + src/core/ScaleManager.js line 1218 @@ -5709,7 +5709,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1463 + src/core/ScaleManager.js line 1463 @@ -5867,7 +5867,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 790 + src/core/ScaleManager.js line 790 @@ -5951,7 +5951,7 @@

Source:
- src/core/ScaleManager.js line 1087 + src/core/ScaleManager.js line 1087 @@ -6047,7 +6047,7 @@

Source:
- src/core/ScaleManager.js line 1356 + src/core/ScaleManager.js line 1356 @@ -6320,7 +6320,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 2069 + src/core/ScaleManager.js line 2069 @@ -6513,7 +6513,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 928 + src/core/ScaleManager.js line 928 @@ -6762,7 +6762,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1056 + src/core/ScaleManager.js line 1056 @@ -6942,7 +6942,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 987 + src/core/ScaleManager.js line 987 @@ -7107,7 +7107,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 830 + src/core/ScaleManager.js line 830 @@ -7458,7 +7458,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 955 + src/core/ScaleManager.js line 955 @@ -7700,7 +7700,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1815 + src/core/ScaleManager.js line 1815 @@ -7815,7 +7815,7 @@

Source:
- src/core/ScaleManager.js line 1926 + src/core/ScaleManager.js line 1926 @@ -7882,9 +7882,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -7901,7 +7901,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -7930,7 +7930,7 @@
Returns:
- + diff --git a/docs/Phaser.Signal.html b/docs/Phaser.Signal.html index 1a6b1f882..6a07a0e12 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 232 + src/core/Signal.js line 232 @@ -967,7 +967,7 @@
Parameters:
Source:
- src/core/Signal.js line 275 + src/core/Signal.js line 275 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/core/Signal.js line 391 + src/core/Signal.js line 391 @@ -1224,7 +1224,7 @@

Source:
- src/core/Signal.js line 448 + src/core/Signal.js line 448 @@ -1308,7 +1308,7 @@

Source:
- src/core/Signal.js line 435 + src/core/Signal.js line 435 @@ -1392,7 +1392,7 @@

Source:
- src/core/Signal.js line 367 + src/core/Signal.js line 367 @@ -1502,7 +1502,7 @@

Source:
- src/core/Signal.js line 378 + src/core/Signal.js line 378 @@ -1680,7 +1680,7 @@
Parameters:
Source:
- src/core/Signal.js line 219 + src/core/Signal.js line 219 @@ -1894,7 +1894,7 @@
Parameters:
Source:
- src/core/Signal.js line 305 + src/core/Signal.js line 305 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/core/Signal.js line 328 + src/core/Signal.js line 328 @@ -2156,7 +2156,7 @@

Source:
- src/core/Signal.js line 467 + src/core/Signal.js line 467 @@ -2223,9 +2223,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2242,7 +2242,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2271,7 +2271,7 @@
Returns:
- + diff --git a/docs/Phaser.SignalBinding.html b/docs/Phaser.SignalBinding.html index 3eabd562f..a2d4d24b6 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 92 + src/core/SignalBinding.js line 92 @@ -629,7 +629,7 @@
Type:
Source:
- src/core/SignalBinding.js line 85 + src/core/SignalBinding.js line 85 @@ -706,7 +706,7 @@
Type:
Source:
- src/core/SignalBinding.js line 62 + src/core/SignalBinding.js line 62 @@ -786,7 +786,7 @@
Type:
Source:
- src/core/SignalBinding.js line 99 + src/core/SignalBinding.js line 99 @@ -865,7 +865,7 @@

Source:
- src/core/SignalBinding.js line 134 + src/core/SignalBinding.js line 134 @@ -1039,7 +1039,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 101 + src/core/SignalBinding.js line 101 @@ -1143,7 +1143,7 @@

Source:
- src/core/SignalBinding.js line 163 + src/core/SignalBinding.js line 163 @@ -1247,7 +1247,7 @@

Source:
- src/core/SignalBinding.js line 172 + src/core/SignalBinding.js line 172 @@ -1351,7 +1351,7 @@

Source:
- src/core/SignalBinding.js line 145 + src/core/SignalBinding.js line 145 @@ -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 193 + src/core/SignalBinding.js line 193 @@ -1626,9 +1626,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1645,7 +1645,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1674,7 +1674,7 @@
Returns:
- + diff --git a/docs/Phaser.SinglePad.html b/docs/Phaser.SinglePad.html index a35dab2de..9954c69be 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 120 + src/input/SinglePad.js line 120 @@ -1416,7 +1416,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 422 + src/input/SinglePad.js line 422 @@ -1575,7 +1575,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 505 + src/input/SinglePad.js line 505 @@ -1733,7 +1733,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 213 + src/input/SinglePad.js line 213 @@ -1817,7 +1817,7 @@

Source:
- src/input/SinglePad.js line 293 + src/input/SinglePad.js line 293 @@ -1901,7 +1901,7 @@

Source:
- src/input/SinglePad.js line 256 + src/input/SinglePad.js line 256 @@ -2036,7 +2036,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 143 + src/input/SinglePad.js line 143 @@ -2194,7 +2194,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 439 + src/input/SinglePad.js line 439 @@ -2352,7 +2352,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 456 + src/input/SinglePad.js line 456 @@ -2566,7 +2566,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 489 + src/input/SinglePad.js line 489 @@ -2780,7 +2780,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 473 + src/input/SinglePad.js line 473 @@ -2888,7 +2888,7 @@

Source:
- src/input/SinglePad.js line 163 + src/input/SinglePad.js line 163 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 321 + src/input/SinglePad.js line 321 @@ -3180,7 +3180,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 347 + src/input/SinglePad.js line 347 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 397 + src/input/SinglePad.js line 397 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 372 + src/input/SinglePad.js line 372 @@ -3580,7 +3580,7 @@

Source:
- src/input/SinglePad.js line 523 + src/input/SinglePad.js line 523 @@ -3623,9 +3623,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3671,7 +3671,7 @@

- + diff --git a/docs/Phaser.Sound.html b/docs/Phaser.Sound.html index 3ae3387af..dbf9ec921 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 167 + src/sound/Sound.js line 167 @@ -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 177 + src/sound/Sound.js line 177 @@ -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 1158 + src/sound/Sound.js line 1158 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/sound/Sound.js line 1144 + src/sound/Sound.js line 1144 @@ -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 172 + src/sound/Sound.js line 172 @@ -1853,7 +1853,7 @@
Type:
Source:
- src/sound/Sound.js line 1172 + src/sound/Sound.js line 1172 @@ -1930,7 +1930,7 @@
Type:
Source:
- src/sound/Sound.js line 32 + src/sound/Sound.js line 32 @@ -2007,7 +2007,7 @@
Type:
Source:
- src/sound/Sound.js line 257 + src/sound/Sound.js line 257 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/sound/Sound.js line 297 + src/sound/Sound.js line 297 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/sound/Sound.js line 277 + src/sound/Sound.js line 277 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/sound/Sound.js line 292 + src/sound/Sound.js line 292 @@ -2315,7 +2315,7 @@
Type:
Source:
- src/sound/Sound.js line 287 + src/sound/Sound.js line 287 @@ -2392,7 +2392,7 @@
Type:
Source:
- src/sound/Sound.js line 267 + src/sound/Sound.js line 267 @@ -2469,7 +2469,7 @@
Type:
Source:
- src/sound/Sound.js line 262 + src/sound/Sound.js line 262 @@ -2546,7 +2546,7 @@
Type:
Source:
- src/sound/Sound.js line 272 + src/sound/Sound.js line 272 @@ -2623,7 +2623,7 @@
Type:
Source:
- src/sound/Sound.js line 282 + src/sound/Sound.js line 282 @@ -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 150 + src/sound/Sound.js line 150 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/sound/Sound.js line 88 + src/sound/Sound.js line 88 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/sound/Sound.js line 68 + src/sound/Sound.js line 68 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/sound/Sound.js line 93 + src/sound/Sound.js line 93 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/sound/Sound.js line 62 + src/sound/Sound.js line 62 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/sound/Sound.js line 162 + src/sound/Sound.js line 162 @@ -3547,7 +3547,7 @@
Type:
Source:
- src/sound/Sound.js line 156 + src/sound/Sound.js line 156 @@ -3624,7 +3624,7 @@
Type:
Source:
- src/sound/Sound.js line 1225 + src/sound/Sound.js line 1225 @@ -3925,7 +3925,7 @@
Parameters:
Source:
- src/sound/Sound.js line 383 + src/sound/Sound.js line 383 @@ -4079,7 +4079,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1047 + src/sound/Sound.js line 1047 @@ -4316,7 +4316,7 @@
Parameters:
Source:
- src/sound/Sound.js line 940 + src/sound/Sound.js line 940 @@ -4472,7 +4472,7 @@
Parameters:
Source:
- src/sound/Sound.js line 967 + src/sound/Sound.js line 967 @@ -4666,7 +4666,7 @@
Parameters:
Source:
- src/sound/Sound.js line 980 + src/sound/Sound.js line 980 @@ -4820,7 +4820,7 @@
Parameters:
Source:
- src/sound/Sound.js line 573 + src/sound/Sound.js line 573 @@ -4929,7 +4929,7 @@

Source:
- src/sound/Sound.js line 421 + src/sound/Sound.js line 421 @@ -5013,7 +5013,7 @@

Source:
- src/sound/Sound.js line 826 + src/sound/Sound.js line 826 @@ -5367,7 +5367,7 @@
Parameters:
Source:
- src/sound/Sound.js line 585 + src/sound/Sound.js line 585 @@ -5525,7 +5525,7 @@
Parameters:
Source:
- src/sound/Sound.js line 411 + src/sound/Sound.js line 411 @@ -5799,7 +5799,7 @@
Parameters:
Source:
- src/sound/Sound.js line 807 + src/sound/Sound.js line 807 @@ -5883,7 +5883,7 @@

Source:
- src/sound/Sound.js line 844 + src/sound/Sound.js line 844 @@ -6017,7 +6017,7 @@
Parameters:
Source:
- src/sound/Sound.js line 368 + src/sound/Sound.js line 368 @@ -6101,7 +6101,7 @@

Source:
- src/sound/Sound.js line 897 + src/sound/Sound.js line 897 @@ -6185,7 +6185,7 @@

Source:
- src/sound/Sound.js line 468 + src/sound/Sound.js line 468 @@ -6321,7 +6321,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1025 + src/sound/Sound.js line 1025 @@ -6364,9 +6364,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6383,7 +6383,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6412,7 +6412,7 @@
Parameters:
- + diff --git a/docs/Phaser.SoundManager.html b/docs/Phaser.SoundManager.html index 6a51fa4b1..30f46812a 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 @@ -347,7 +347,7 @@
Type:
Source:
- src/sound/SoundManager.js line 77 + src/sound/SoundManager.js line 83 @@ -438,7 +438,7 @@
Type:
Source:
- src/sound/SoundManager.js line 113 + src/sound/SoundManager.js line 119 @@ -522,7 +522,7 @@
Type:
Source:
- src/sound/SoundManager.js line 101 + src/sound/SoundManager.js line 107 @@ -599,7 +599,7 @@
Type:
Source:
- src/sound/SoundManager.js line 67 + src/sound/SoundManager.js line 73 @@ -676,7 +676,7 @@
Type:
Source:
- src/sound/SoundManager.js line 31 + src/sound/SoundManager.js line 31 @@ -753,7 +753,7 @@
Type:
Source:
- src/sound/SoundManager.js line 833 + src/sound/SoundManager.js line 904 @@ -839,7 +839,7 @@
Type:
Source:
- src/sound/SoundManager.js line 122 + src/sound/SoundManager.js line 128 @@ -916,7 +916,7 @@
Type:
Source:
- src/sound/SoundManager.js line 95 + src/sound/SoundManager.js line 101 @@ -993,7 +993,7 @@
Type:
Source:
- src/sound/SoundManager.js line 48 + src/sound/SoundManager.js line 48 @@ -1070,7 +1070,84 @@
Type:
Source:
- src/sound/SoundManager.js line 36 + src/sound/SoundManager.js line 36 + + + + + + + + + + + +
+ + + +
+

+ onStateChange : Phaser.Signal + +

+ +
+
+ +
+

This signal is dispatched when the AudioContext state changes, only if using Web Audio.

+
+ + + +
Type:
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/sound/SoundManager.js line 67 @@ -1148,7 +1225,7 @@
Type:
Source:
- src/sound/SoundManager.js line 61 + src/sound/SoundManager.js line 61 @@ -1225,7 +1302,7 @@
Type:
Source:
- src/sound/SoundManager.js line 54 + src/sound/SoundManager.js line 54 @@ -1302,7 +1379,7 @@
Type:
Source:
- src/sound/SoundManager.js line 42 + src/sound/SoundManager.js line 42 @@ -1379,7 +1456,7 @@
Type:
Source:
- src/sound/SoundManager.js line 107 + src/sound/SoundManager.js line 113 @@ -1456,7 +1533,7 @@
Type:
Source:
- src/sound/SoundManager.js line 89 + src/sound/SoundManager.js line 95 @@ -1533,7 +1610,7 @@
Type:
Source:
- src/sound/SoundManager.js line 83 + src/sound/SoundManager.js line 89 @@ -1610,7 +1687,7 @@
Type:
Source:
- src/sound/SoundManager.js line 872 + src/sound/SoundManager.js line 943 @@ -1874,7 +1951,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 598 + src/sound/SoundManager.js line 621 @@ -2032,7 +2109,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 621 + src/sound/SoundManager.js line 644 @@ -2140,7 +2217,7 @@

Source:
- src/sound/SoundManager.js line 192 + src/sound/SoundManager.js line 204 @@ -2318,7 +2395,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 472 + src/sound/SoundManager.js line 495 @@ -2402,7 +2479,7 @@

Source:
- src/sound/SoundManager.js line 794 + src/sound/SoundManager.js line 843 @@ -2486,7 +2563,7 @@

Source:
- src/sound/SoundManager.js line 430 + src/sound/SoundManager.js line 453 @@ -2716,7 +2793,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 706 + src/sound/SoundManager.js line 729 @@ -2874,7 +2951,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 635 + src/sound/SoundManager.js line 658 @@ -2983,7 +3060,7 @@

Source:
- src/sound/SoundManager.js line 659 + src/sound/SoundManager.js line 682 @@ -3118,7 +3195,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 680 + src/sound/SoundManager.js line 703 @@ -3226,7 +3303,7 @@

Source:
- src/sound/SoundManager.js line 451 + src/sound/SoundManager.js line 474 @@ -3265,8 +3342,117 @@

-

Try to resume a suspended WebAudio context.

-

If the context isn't suspended, or if WebAudio isn't in use, nothing is done.

+

Try to resume the Web Audio context, if using Web Audio.

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/sound/SoundManager.js line 356 + + + + + + + +
+ + + + + + + + + + + + + +

Returns:
+ + + + + + +
+
+ Type +
+
+ +Promise + + + +
+
+ + + + + +
+ + + +
+

+ resumeWebAudioIfSuspended() + +

+ +
+
+ + +
+

Try to resume a suspended Web Audio context, if using Web Audio and the context is suspended.

@@ -3311,7 +3497,7 @@

Source:
- src/sound/SoundManager.js line 346 + src/sound/SoundManager.js line 369 @@ -3525,7 +3711,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 509 + src/sound/SoundManager.js line 532 @@ -3610,7 +3796,7 @@

Source:
- src/sound/SoundManager.js line 308 + src/sound/SoundManager.js line 320 @@ -3694,7 +3880,7 @@

Source:
- src/sound/SoundManager.js line 409 + src/sound/SoundManager.js line 432 @@ -3778,7 +3964,7 @@

Source:
- src/sound/SoundManager.js line 354 + src/sound/SoundManager.js line 377 @@ -3886,7 +4072,7 @@

Source:
- src/sound/SoundManager.js line 558 + src/sound/SoundManager.js line 581 @@ -3929,9 +4115,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3948,7 +4134,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3977,7 +4163,7 @@

- + diff --git a/docs/Phaser.Sprite.html b/docs/Phaser.Sprite.html index 2514a8c5c..04faf2c62 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1264,7 +1264,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -1531,7 +1531,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -1618,7 +1618,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -2152,7 +2152,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2412,7 +2412,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2961,7 +2961,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3052,7 +3052,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3496,7 +3496,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3680,7 +3680,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3772,7 +3772,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3863,7 +3863,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3956,7 +3956,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4042,7 +4042,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4144,7 +4144,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -4231,7 +4231,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4321,7 +4321,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4410,7 +4410,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4504,7 +4504,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4591,7 +4591,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4679,7 +4679,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4767,7 +4767,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4853,7 +4853,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4940,7 +4940,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -5029,7 +5029,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5118,7 +5118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -5195,7 +5195,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5282,7 +5282,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5370,7 +5370,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -5542,7 +5542,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5629,7 +5629,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5716,7 +5716,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5803,7 +5803,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5892,7 +5892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5981,7 +5981,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6069,7 +6069,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6157,7 +6157,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6251,7 +6251,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6339,7 +6339,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6425,7 +6425,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6518,7 +6518,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6698,7 +6698,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6870,7 +6870,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6947,7 +6947,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7046,7 +7046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7132,7 +7132,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7220,7 +7220,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -7312,7 +7312,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7403,7 +7403,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7494,7 +7494,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7585,7 +7585,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7676,7 +7676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7762,7 +7762,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7854,7 +7854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -7946,7 +7946,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8035,7 +8035,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -8172,7 +8172,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8363,7 +8363,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8706,7 +8706,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9050,7 +9050,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9170,7 +9170,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9337,7 +9337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9563,7 +9563,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9707,7 +9707,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9831,7 +9831,7 @@

Source:
- src/pixi/display/DisplayObject.js line 254 + src/pixi/display/DisplayObject.js line 254 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10251,7 +10251,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -10418,7 +10418,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10585,7 +10585,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10702,7 +10702,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -10869,7 +10869,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -10990,7 +10990,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11275,7 +11275,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11371,7 +11371,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11491,7 +11491,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11674,7 +11674,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11980,7 +11980,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12097,7 +12097,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -12186,7 +12186,7 @@

Source:
- src/gameobjects/Sprite.js line 106 + src/gameobjects/Sprite.js line 106 @@ -12303,7 +12303,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -12446,7 +12446,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12613,7 +12613,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -12804,7 +12804,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -13043,7 +13043,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13160,7 +13160,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13353,7 +13353,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13518,7 +13518,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13638,7 +13638,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -13829,7 +13829,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -13973,7 +13973,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14117,7 +14117,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14378,7 +14378,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -14578,7 +14578,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -14745,7 +14745,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14888,7 +14888,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15101,7 +15101,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15222,7 +15222,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -15315,7 +15315,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15435,7 +15435,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -15598,7 +15598,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15667,9 +15667,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -15686,7 +15686,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -15715,7 +15715,7 @@
Returns:
- + diff --git a/docs/Phaser.SpriteBatch.html b/docs/Phaser.SpriteBatch.html index 86b9dec53..0114cfbdb 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 91 + src/core/Group.js line 91 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -679,7 +679,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -767,7 +767,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -947,7 +947,7 @@
Type:
Source:
- src/core/Group.js line 277 + src/core/Group.js line 277 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/core/Group.js line 2850 + src/core/Group.js line 2850 @@ -1123,7 +1123,7 @@
Type:
Source:
- src/core/Group.js line 2876 + src/core/Group.js line 2876 @@ -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 127 + src/core/Group.js line 127 @@ -1390,7 +1390,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -1830,7 +1830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -1921,7 +1921,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2271,7 +2271,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2541,7 +2541,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2629,7 +2629,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -2717,7 +2717,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -2803,7 +2803,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -2892,7 +2892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -2978,7 +2978,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3068,7 +3068,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3158,7 +3158,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3248,7 +3248,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3339,7 +3339,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3425,7 +3425,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3514,7 +3514,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3604,7 +3604,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -3691,7 +3691,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -3784,7 +3784,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -3957,7 +3957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4045,7 +4045,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4132,7 +4132,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4220,7 +4220,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4308,7 +4308,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4485,7 +4485,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -4571,7 +4571,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -4653,7 +4653,7 @@
Type:
Source:
- src/gameobjects/SpriteBatch.js line 33 + src/gameobjects/SpriteBatch.js line 33 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -4825,7 +4825,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -4911,7 +4911,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -5003,7 +5003,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5094,7 +5094,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5185,7 +5185,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5276,7 +5276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5367,7 +5367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5453,7 +5453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -5541,7 +5541,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -5629,7 +5629,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5716,7 +5716,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5954,7 +5954,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6232,7 +6232,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6474,7 +6474,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -6641,7 +6641,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7063,7 +7063,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7234,7 +7234,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -7629,7 +7629,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -7972,7 +7972,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8316,7 +8316,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8507,7 +8507,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -8650,7 +8650,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -8913,7 +8913,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9133,7 +9133,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9324,7 +9324,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -9640,7 +9640,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -9942,7 +9942,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10239,7 +10239,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10406,7 +10406,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10593,7 +10593,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -10710,7 +10710,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -10827,7 +10827,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11221,7 +11221,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -11628,7 +11628,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -11841,7 +11841,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12008,7 +12008,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12212,7 +12212,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12428,7 +12428,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -12634,7 +12634,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -12940,7 +12940,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13178,7 +13178,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13416,7 +13416,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -13654,7 +13654,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -13899,7 +13899,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14207,7 +14207,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14376,7 +14376,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -14497,7 +14497,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -14679,7 +14679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -14848,7 +14848,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15015,7 +15015,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15182,7 +15182,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15433,7 +15433,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -15624,7 +15624,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -15983,7 +15983,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16342,7 +16342,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -16740,7 +16740,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -16991,7 +16991,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17158,7 +17158,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17275,7 +17275,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -17502,7 +17502,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -17730,7 +17730,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -17848,7 +17848,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18040,7 +18040,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18427,7 +18427,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -18544,7 +18544,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -18637,7 +18637,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -18836,7 +18836,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19003,7 +19003,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19170,7 +19170,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19410,7 +19410,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -19504,7 +19504,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -19621,7 +19621,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -19714,7 +19714,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -19808,7 +19808,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20073,7 +20073,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20343,7 +20343,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -20620,7 +20620,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -20763,7 +20763,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -20930,7 +20930,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21121,7 +21121,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -21265,7 +21265,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -21458,7 +21458,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -21812,7 +21812,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22118,7 +22118,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -22306,7 +22306,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -22424,7 +22424,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -22517,7 +22517,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -22610,7 +22610,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -22813,7 +22813,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -22956,7 +22956,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -23372,7 +23372,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -23754,7 +23754,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24112,7 +24112,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -24279,7 +24279,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -24598,7 +24598,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -24716,7 +24716,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -24923,7 +24923,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -25139,7 +25139,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -25307,7 +25307,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -25474,7 +25474,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -25617,7 +25617,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25830,7 +25830,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -25950,7 +25950,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -26043,7 +26043,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -26232,7 +26232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -26352,7 +26352,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -26543,7 +26543,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -26586,9 +26586,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -26605,7 +26605,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -26634,7 +26634,7 @@
Parameters:
- + diff --git a/docs/Phaser.Stage.html b/docs/Phaser.Stage.html index 63428c076..b3b937ff1 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 442 + src/core/Stage.js line 442 @@ -546,7 +546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/Stage.js line 21 + src/core/Stage.js line 21 @@ -1214,7 +1214,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -1310,7 +1310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/core/Stage.js line 29 + src/core/Stage.js line 29 @@ -1660,7 +1660,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1922,7 +1922,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -2011,7 +2011,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -2100,7 +2100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2177,7 +2177,7 @@
Type:
Source:
- src/core/Stage.js line 461 + src/core/Stage.js line 461 @@ -2276,7 +2276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -2362,7 +2362,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -2459,7 +2459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -2550,7 +2550,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -2641,7 +2641,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -2732,7 +2732,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -2818,7 +2818,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -2905,7 +2905,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -2992,7 +2992,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -3202,7 +3202,7 @@
Parameters:
Source:
- src/core/Stage.js line 403 + src/core/Stage.js line 403 @@ -3369,7 +3369,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -3560,7 +3560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -3669,7 +3669,7 @@

Source:
- src/core/Stage.js line 223 + src/core/Stage.js line 223 @@ -3812,7 +3812,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -3921,7 +3921,7 @@

Source:
- src/core/Stage.js line 382 + src/core/Stage.js line 382 @@ -4166,7 +4166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -4350,7 +4350,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -4517,7 +4517,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -4801,7 +4801,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -4959,7 +4959,7 @@
Parameters:
Source:
- src/core/Stage.js line 100 + src/core/Stage.js line 100 @@ -5045,7 +5045,7 @@

Source:
- src/core/Stage.js line 177 + src/core/Stage.js line 177 @@ -5135,7 +5135,7 @@

Source:
- src/core/Stage.js line 135 + src/core/Stage.js line 135 @@ -5278,7 +5278,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -5445,7 +5445,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -5636,7 +5636,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -5777,7 +5777,7 @@
Parameters:
Source:
- src/core/Stage.js line 354 + src/core/Stage.js line 354 @@ -5944,7 +5944,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -6111,7 +6111,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -6254,7 +6254,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6467,7 +6467,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -6577,7 +6577,7 @@

Source:
- src/core/Stage.js line 161 + src/core/Stage.js line 161 @@ -6670,7 +6670,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -6786,7 +6786,7 @@

Source:
- src/core/Stage.js line 207 + src/core/Stage.js line 207 @@ -6926,7 +6926,7 @@
Parameters:
Source:
- src/core/Stage.js line 311 + src/core/Stage.js line 311 @@ -6969,9 +6969,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6988,7 +6988,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -7017,7 +7017,7 @@
Parameters:
- + diff --git a/docs/Phaser.State.html b/docs/Phaser.State.html index 90b5e1263..ac86d5b89 100644 --- a/docs/Phaser.State.html +++ b/docs/Phaser.State.html @@ -6,7 +6,7 @@ Phaser CE Class: State - + @@ -253,7 +253,7 @@

Callbacks

Source:
- src/core/State.js line 31 + src/core/State.js line 31 @@ -358,7 +358,7 @@
Type:
Source:
- src/core/State.js line 46 + src/core/State.js line 46 @@ -435,7 +435,7 @@
Type:
Source:
- src/core/State.js line 61 + src/core/State.js line 61 @@ -512,7 +512,7 @@
Type:
Source:
- src/core/State.js line 56 + src/core/State.js line 56 @@ -589,7 +589,7 @@
Type:
Source:
- src/core/State.js line 36 + src/core/State.js line 36 @@ -666,7 +666,7 @@
Type:
Source:
- src/core/State.js line 66 + src/core/State.js line 66 @@ -743,7 +743,7 @@
Type:
Source:
- src/core/State.js line 41 + src/core/State.js line 41 @@ -820,7 +820,7 @@
Type:
Source:
- src/core/State.js line 71 + src/core/State.js line 71 @@ -897,7 +897,7 @@
Type:
Source:
- src/core/State.js line 51 + src/core/State.js line 51 @@ -974,7 +974,7 @@
Type:
Source:
- src/core/State.js line 76 + src/core/State.js line 76 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/core/State.js line 116 + src/core/State.js line 116 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/State.js line 121 + src/core/State.js line 121 @@ -1205,7 +1205,7 @@
Type:
Source:
- src/core/State.js line 126 + src/core/State.js line 126 @@ -1282,7 +1282,7 @@
Type:
Source:
- src/core/State.js line 86 + src/core/State.js line 86 @@ -1359,7 +1359,7 @@
Type:
Source:
- src/core/State.js line 81 + src/core/State.js line 81 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/core/State.js line 91 + src/core/State.js line 91 @@ -1513,7 +1513,7 @@
Type:
Source:
- src/core/State.js line 96 + src/core/State.js line 96 @@ -1590,7 +1590,7 @@
Type:
Source:
- src/core/State.js line 101 + src/core/State.js line 101 @@ -1667,7 +1667,7 @@
Type:
Source:
- src/core/State.js line 106 + src/core/State.js line 106 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/State.js line 111 + src/core/State.js line 111 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/core/State.js line 176 + src/core/State.js line 176 @@ -2021,7 +2021,7 @@
Parameters:
Source:
- src/core/State.js line 131 + src/core/State.js line 131 @@ -2156,7 +2156,7 @@
Parameters:
Source:
- src/core/State.js line 165 + src/core/State.js line 165 @@ -2290,7 +2290,7 @@
Parameters:
Source:
- src/core/State.js line 155 + src/core/State.js line 155 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/core/State.js line 246 + src/core/State.js line 246 @@ -2558,7 +2558,7 @@
Parameters:
Source:
- src/core/State.js line 266 + src/core/State.js line 266 @@ -2695,7 +2695,7 @@
Parameters:
Source:
- src/core/State.js line 199 + src/core/State.js line 199 @@ -2831,7 +2831,7 @@
Parameters:
Source:
- src/core/State.js line 143 + src/core/State.js line 143 @@ -2989,7 +2989,7 @@
Parameters:
Source:
- src/core/State.js line 212 + src/core/State.js line 212 @@ -3125,7 +3125,7 @@
Parameters:
Source:
- src/core/State.js line 223 + src/core/State.js line 223 @@ -3283,7 +3283,7 @@
Parameters:
Source:
- src/core/State.js line 235 + src/core/State.js line 235 @@ -3417,7 +3417,7 @@
Parameters:
Source:
- src/core/State.js line 256 + src/core/State.js line 256 @@ -3551,7 +3551,7 @@
Parameters:
Source:
- src/core/State.js line 276 + src/core/State.js line 276 @@ -3687,7 +3687,7 @@
Parameters:
Source:
- src/core/State.js line 187 + src/core/State.js line 187 @@ -3730,9 +3730,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3749,7 +3749,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3778,7 +3778,7 @@
Parameters:
- + diff --git a/docs/Phaser.StateManager.html b/docs/Phaser.StateManager.html index b0744041a..cdeb8e779 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 784 + src/core/StateManager.js line 783 @@ -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 @@ -1501,7 +1501,7 @@

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.

+methods (init, preload, create, etc.) are called, and after the previous state's shutdown method has been run.

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 181 + src/core/StateManager.js line 181 @@ -2076,7 +2076,7 @@
Parameters:
Source:
- src/core/StateManager.js line 425 + src/core/StateManager.js line 421 @@ -2185,7 +2185,7 @@

Source:
- src/core/StateManager.js line 381 + src/core/StateManager.js line 377 @@ -2270,7 +2270,7 @@

Source:
- src/core/StateManager.js line 746 + src/core/StateManager.js line 745 @@ -2354,7 +2354,7 @@

Source:
- src/core/StateManager.js line 576 + src/core/StateManager.js line 575 @@ -2508,7 +2508,7 @@
Parameters:
Source:
- src/core/StateManager.js line 455 + src/core/StateManager.js line 451 @@ -2588,7 +2588,7 @@

Source:
- src/core/StateManager.js line 588 + src/core/StateManager.js line 587 @@ -2675,7 +2675,7 @@

Source:
- src/core/StateManager.js line 606 + src/core/StateManager.js line 605 @@ -2762,7 +2762,7 @@

Source:
- src/core/StateManager.js line 619 + src/core/StateManager.js line 618 @@ -2842,7 +2842,7 @@

Source:
- src/core/StateManager.js line 671 + src/core/StateManager.js line 670 @@ -2972,7 +2972,7 @@
Parameters:
Source:
- src/core/StateManager.js line 691 + src/core/StateManager.js line 690 @@ -3056,7 +3056,7 @@

Source:
- src/core/StateManager.js line 326 + src/core/StateManager.js line 326 @@ -3190,7 +3190,7 @@
Parameters:
Source:
- src/core/StateManager.js line 235 + src/core/StateManager.js line 235 @@ -3270,7 +3270,7 @@

Source:
- src/core/StateManager.js line 716 + src/core/StateManager.js line 715 @@ -3350,7 +3350,7 @@

Source:
- src/core/StateManager.js line 704 + src/core/StateManager.js line 703 @@ -3582,7 +3582,7 @@
Parameters:
Source:
- src/core/StateManager.js line 293 + src/core/StateManager.js line 293 @@ -3662,7 +3662,7 @@

Source:
- src/core/StateManager.js line 631 + src/core/StateManager.js line 630 @@ -3930,7 +3930,7 @@
Parameters:
Source:
- src/core/StateManager.js line 265 + src/core/StateManager.js line 265 @@ -4064,7 +4064,7 @@
Parameters:
Source:
- src/core/StateManager.js line 487 + src/core/StateManager.js line 483 @@ -4144,7 +4144,7 @@

Source:
- src/core/StateManager.js line 643 + src/core/StateManager.js line 642 @@ -4187,9 +4187,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -4206,7 +4206,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -4235,7 +4235,7 @@

- + diff --git a/docs/Phaser.Text.html b/docs/Phaser.Text.html index e20ab6b04..2cfe50ffa 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 1910 + src/gameobjects/Text.js line 1910 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 119 + src/gameobjects/Text.js line 119 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1987 + src/gameobjects/Text.js line 1987 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2011 + src/gameobjects/Text.js line 2011 @@ -2331,7 +2331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -2418,7 +2418,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -2495,7 +2495,7 @@
Type:
Source:
- src/gameobjects/Text.js line 57 + src/gameobjects/Text.js line 57 @@ -2582,7 +2582,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 56 + src/gameobjects/components/Bounds.js line 56 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -2746,7 +2746,7 @@
Type:
Source:
- src/gameobjects/Text.js line 147 + src/gameobjects/Text.js line 147 @@ -2824,7 +2824,7 @@
Type:
Source:
- src/gameobjects/Text.js line 154 + src/gameobjects/Text.js line 154 @@ -2916,7 +2916,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 96 + src/gameobjects/Text.js line 96 @@ -3165,7 +3165,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 159 + src/gameobjects/components/Core.js line 160 @@ -3242,7 +3242,7 @@
Type:
Source:
- src/gameobjects/Text.js line 91 + src/gameobjects/Text.js line 91 @@ -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 1723 + src/gameobjects/Text.js line 1723 @@ -3506,7 +3506,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 152 + src/gameobjects/components/Core.js line 153 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 1888 + src/gameobjects/Text.js line 1888 @@ -4289,7 +4289,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -4380,7 +4380,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -4473,7 +4473,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -4553,7 +4553,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1750 + src/gameobjects/Text.js line 1750 @@ -4635,7 +4635,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1785 + src/gameobjects/Text.js line 1785 @@ -4712,7 +4712,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1846 + src/gameobjects/Text.js line 1846 @@ -4789,7 +4789,7 @@
Type:
Source:
- src/gameobjects/Text.js line 106 + src/gameobjects/Text.js line 106 @@ -4866,7 +4866,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1867 + src/gameobjects/Text.js line 1867 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1825 + src/gameobjects/Text.js line 1825 @@ -5020,7 +5020,7 @@
Type:
Source:
- src/gameobjects/Text.js line 111 + src/gameobjects/Text.js line 111 @@ -5111,7 +5111,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -5375,7 +5375,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -5469,7 +5469,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -5551,7 +5551,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2308 + src/gameobjects/Text.js line 2308 @@ -5647,7 +5647,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -5735,7 +5735,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -5822,7 +5822,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -5913,7 +5913,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -6006,7 +6006,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -6092,7 +6092,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -6194,7 +6194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -6281,7 +6281,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -6371,7 +6371,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -6448,7 +6448,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2123 + src/gameobjects/Text.js line 2123 @@ -6537,7 +6537,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -6631,7 +6631,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -6718,7 +6718,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -6806,7 +6806,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -6894,7 +6894,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -6980,7 +6980,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -7067,7 +7067,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -7145,7 +7145,7 @@
Type:
Source:
- src/gameobjects/Text.js line 78 + src/gameobjects/Text.js line 78 @@ -7234,7 +7234,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -7323,7 +7323,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -7405,7 +7405,7 @@
Type:
Source:
- src/gameobjects/Text.js line 71 + src/gameobjects/Text.js line 71 @@ -7492,7 +7492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -7580,7 +7580,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7666,7 +7666,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -7752,7 +7752,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -7844,7 +7844,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -7931,7 +7931,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -8009,7 +8009,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1936 + src/gameobjects/Text.js line 1936 @@ -8096,7 +8096,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -8185,7 +8185,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -8274,7 +8274,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -8362,7 +8362,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -8450,7 +8450,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -8544,7 +8544,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -8621,7 +8621,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2216 + src/gameobjects/Text.js line 2216 @@ -8698,7 +8698,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2194 + src/gameobjects/Text.js line 2194 @@ -8775,7 +8775,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2260 + src/gameobjects/Text.js line 2260 @@ -8852,7 +8852,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2150 + src/gameobjects/Text.js line 2150 @@ -8929,7 +8929,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2172 + src/gameobjects/Text.js line 2172 @@ -9006,7 +9006,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2238 + src/gameobjects/Text.js line 2238 @@ -9094,7 +9094,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -9173,7 +9173,7 @@
Type:
Source:
- src/gameobjects/Text.js line 140 + src/gameobjects/Text.js line 140 @@ -9250,7 +9250,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2035 + src/gameobjects/Text.js line 2035 @@ -9327,7 +9327,7 @@
Type:
Source:
- src/gameobjects/Text.js line 101 + src/gameobjects/Text.js line 101 @@ -9404,7 +9404,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2057 + src/gameobjects/Text.js line 2057 @@ -9487,7 +9487,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1960 + src/gameobjects/Text.js line 1960 @@ -9560,7 +9560,7 @@

Source:
- src/gameobjects/Text.js line 2334 + src/gameobjects/Text.js line 2334 @@ -9639,7 +9639,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1692 + src/gameobjects/Text.js line 1692 @@ -9717,7 +9717,7 @@
Type:
Source:
- src/gameobjects/Text.js line 86 + src/gameobjects/Text.js line 86 @@ -9803,7 +9803,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -9896,7 +9896,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -9989,7 +9989,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -10076,7 +10076,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -10162,7 +10162,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -10248,7 +10248,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -10330,7 +10330,7 @@
Type:
Source:
- src/gameobjects/Text.js line 65 + src/gameobjects/Text.js line 65 @@ -10411,7 +10411,7 @@
Type:
Source:
- src/gameobjects/Text.js line 132 + src/gameobjects/Text.js line 132 @@ -10510,7 +10510,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -10592,7 +10592,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2282 + src/gameobjects/Text.js line 2282 @@ -10669,7 +10669,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2079 + src/gameobjects/Text.js line 2079 @@ -10746,7 +10746,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2101 + src/gameobjects/Text.js line 2101 @@ -10834,7 +10834,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -10926,7 +10926,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -11017,7 +11017,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -11108,7 +11108,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -11199,7 +11199,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -11290,7 +11290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -11376,7 +11376,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -11463,7 +11463,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -11550,7 +11550,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -11639,7 +11639,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -11776,7 +11776,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -11967,7 +11967,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -12154,7 +12154,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 857 + src/gameobjects/Text.js line 857 @@ -12341,7 +12341,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 905 + src/gameobjects/Text.js line 905 @@ -12528,7 +12528,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 928 + src/gameobjects/Text.js line 928 @@ -12716,7 +12716,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 880 + src/gameobjects/Text.js line 880 @@ -13059,7 +13059,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -13403,7 +13403,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -13523,7 +13523,7 @@

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

Source:
- src/gameobjects/Text.js line 827 + src/gameobjects/Text.js line 827 @@ -13739,7 +13739,7 @@

Source:
- src/gameobjects/Text.js line 842 + src/gameobjects/Text.js line 842 @@ -13906,7 +13906,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -14132,7 +14132,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -14276,7 +14276,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -14459,7 +14459,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 249 + src/gameobjects/Text.js line 249 @@ -14704,7 +14704,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14870,7 +14870,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1657 + src/gameobjects/Text.js line 1657 @@ -15037,7 +15037,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15204,7 +15204,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15321,7 +15321,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -15488,7 +15488,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -15609,7 +15609,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -15894,7 +15894,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -15990,7 +15990,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -16110,7 +16110,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -16293,7 +16293,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -16457,7 +16457,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1316 + src/gameobjects/Text.js line 1316 @@ -16763,7 +16763,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -16880,7 +16880,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -17017,7 +17017,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 951 + src/gameobjects/Text.js line 951 @@ -17130,7 +17130,7 @@

Source:
- src/gameobjects/Text.js line 222 + src/gameobjects/Text.js line 222 @@ -17223,7 +17223,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -17366,7 +17366,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -17533,7 +17533,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -17724,7 +17724,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -17963,7 +17963,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -18080,7 +18080,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -18273,7 +18273,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -18438,7 +18438,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -18558,7 +18558,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -18763,7 +18763,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1676 + src/gameobjects/Text.js line 1676 @@ -18930,7 +18930,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -19074,7 +19074,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -19218,7 +19218,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -19479,7 +19479,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -19836,7 +19836,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 262 + src/gameobjects/Text.js line 262 @@ -20728,7 +20728,7 @@
Properties
Source:
- src/gameobjects/Text.js line 297 + src/gameobjects/Text.js line 297 @@ -20949,7 +20949,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1276 + src/gameobjects/Text.js line 1276 @@ -21236,7 +21236,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1376 + src/gameobjects/Text.js line 1376 @@ -21460,7 +21460,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -21627,7 +21627,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -21770,7 +21770,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -21983,7 +21983,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -22098,7 +22098,7 @@

Source:
- src/gameobjects/Text.js line 238 + src/gameobjects/Text.js line 238 @@ -22191,7 +22191,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -22311,7 +22311,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -22446,7 +22446,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 684 + src/gameobjects/Text.js line 684 @@ -22609,7 +22609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -22678,9 +22678,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -22697,7 +22697,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -22726,7 +22726,7 @@
Returns:
- + diff --git a/docs/Phaser.Tile.html b/docs/Phaser.Tile.html index c33376ba0..1bbaa9a97 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 398 + src/tilemap/Tile.js line 398 @@ -609,7 +609,7 @@
Type:
Source:
- src/tilemap/Tile.js line 342 + src/tilemap/Tile.js line 342 @@ -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 328 + src/tilemap/Tile.js line 328 @@ -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,7 @@
Type:
Source:
- src/tilemap/Tile.js line 150 + src/tilemap/Tile.js line 150 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/tilemap/Tile.js line 156 + src/tilemap/Tile.js line 156 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/tilemap/Tile.js line 104 + src/tilemap/Tile.js line 104 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/tilemap/Tile.js line 109 + src/tilemap/Tile.js line 109 @@ -1682,7 +1682,7 @@
Type:
Source:
- src/tilemap/Tile.js line 114 + src/tilemap/Tile.js line 114 @@ -1759,7 +1759,7 @@
Type:
Source:
- src/tilemap/Tile.js line 99 + src/tilemap/Tile.js line 99 @@ -1836,7 +1836,7 @@
Type:
Source:
- src/tilemap/Tile.js line 49 + src/tilemap/Tile.js line 49 @@ -1913,7 +1913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 69 + src/tilemap/Tile.js line 69 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 29 + src/tilemap/Tile.js line 29 @@ -2067,7 +2067,7 @@
Type:
Source:
- src/tilemap/Tile.js line 24 + src/tilemap/Tile.js line 24 @@ -2144,7 +2144,7 @@
Type:
Source:
- src/tilemap/Tile.js line 356 + src/tilemap/Tile.js line 356 @@ -2221,7 +2221,7 @@
Type:
Source:
- src/tilemap/Tile.js line 89 + src/tilemap/Tile.js line 89 @@ -2298,7 +2298,7 @@
Type:
Source:
- src/tilemap/Tile.js line 370 + src/tilemap/Tile.js line 370 @@ -2375,7 +2375,7 @@
Type:
Source:
- src/tilemap/Tile.js line 44 + src/tilemap/Tile.js line 44 @@ -2452,7 +2452,7 @@
Type:
Source:
- src/tilemap/Tile.js line 94 + src/tilemap/Tile.js line 94 @@ -2529,7 +2529,7 @@
Type:
Source:
- src/tilemap/Tile.js line 384 + src/tilemap/Tile.js line 384 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/tilemap/Tile.js line 64 + src/tilemap/Tile.js line 64 @@ -2721,7 +2721,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 54 + src/tilemap/Tile.js line 54 @@ -2836,7 +2836,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 59 + src/tilemap/Tile.js line 59 @@ -2913,7 +2913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 34 + src/tilemap/Tile.js line 34 @@ -2990,7 +2990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 39 + src/tilemap/Tile.js line 39 @@ -3142,7 +3142,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 161 + src/tilemap/Tile.js line 161 @@ -3300,7 +3300,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 303 + src/tilemap/Tile.js line 303 @@ -3384,7 +3384,7 @@

Source:
- src/tilemap/Tile.js line 222 + src/tilemap/Tile.js line 222 @@ -3590,7 +3590,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 174 + src/tilemap/Tile.js line 174 @@ -3748,7 +3748,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 274 + src/tilemap/Tile.js line 274 @@ -3856,7 +3856,7 @@

Source:
- src/tilemap/Tile.js line 256 + src/tilemap/Tile.js line 256 @@ -4062,7 +4062,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 234 + src/tilemap/Tile.js line 234 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 208 + src/tilemap/Tile.js line 208 @@ -4264,9 +4264,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -4283,7 +4283,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -4312,7 +4312,7 @@
Parameters:
- + diff --git a/docs/Phaser.TileSprite.html b/docs/Phaser.TileSprite.html index cc7d2c21b..b07666553 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1419,7 +1419,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1512,7 +1512,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1599,7 +1599,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -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 56 + src/gameobjects/components/Bounds.js line 56 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1942,7 +1942,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -2210,7 +2210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 152 + src/gameobjects/components/Core.js line 153 @@ -2296,7 +2296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 211 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -2936,7 +2936,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -3200,7 +3200,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3294,7 +3294,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3476,7 +3476,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -3564,7 +3564,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3656,7 +3656,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3747,7 +3747,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3840,7 +3840,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3926,7 +3926,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4028,7 +4028,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -4115,7 +4115,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4205,7 +4205,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4294,7 +4294,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -4388,7 +4388,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4475,7 +4475,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -4563,7 +4563,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4651,7 +4651,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -4913,7 +4913,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5002,7 +5002,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 80 + src/gameobjects/TileSprite.js line 80 @@ -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 217 + src/gameobjects/components/Core.js line 218 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -5504,7 +5504,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 138 + src/gameobjects/TileSprite.js line 138 @@ -5591,7 +5591,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -5678,7 +5678,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -5765,7 +5765,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -5854,7 +5854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5943,7 +5943,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6037,7 +6037,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6125,7 +6125,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6216,7 +6216,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6294,7 +6294,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 109 + src/gameobjects/TileSprite.js line 109 @@ -6371,7 +6371,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 130 + src/gameobjects/TileSprite.js line 130 @@ -6448,7 +6448,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 101 + src/gameobjects/TileSprite.js line 101 @@ -6525,7 +6525,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 91 + src/gameobjects/TileSprite.js line 91 @@ -6602,7 +6602,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 96 + src/gameobjects/TileSprite.js line 96 @@ -6679,7 +6679,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 123 + src/gameobjects/TileSprite.js line 123 @@ -6772,7 +6772,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6870,7 +6870,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6957,7 +6957,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7034,7 +7034,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 74 + src/gameobjects/TileSprite.js line 74 @@ -7133,7 +7133,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -7219,7 +7219,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -7307,7 +7307,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -7399,7 +7399,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -7490,7 +7490,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -7581,7 +7581,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -7672,7 +7672,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -7763,7 +7763,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -7849,7 +7849,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -7941,7 +7941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -8033,7 +8033,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8122,7 +8122,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -8259,7 +8259,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -8450,7 +8450,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -8793,7 +8793,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -9137,7 +9137,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -9322,7 +9322,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 204 + src/gameobjects/TileSprite.js line 204 @@ -9442,7 +9442,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -9773,7 +9773,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9957,7 +9957,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 237 + src/gameobjects/TileSprite.js line 237 @@ -10202,7 +10202,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -10362,7 +10362,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 517 + src/gameobjects/TileSprite.js line 517 @@ -10451,7 +10451,7 @@

Source:
- src/gameobjects/TileSprite.js line 605 + src/gameobjects/TileSprite.js line 605 @@ -10618,7 +10618,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -10785,7 +10785,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -10902,7 +10902,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11069,7 +11069,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -11190,7 +11190,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -11475,7 +11475,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11571,7 +11571,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -11691,7 +11691,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -11874,7 +11874,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12180,7 +12180,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12297,7 +12297,7 @@

Source:
- src/gameobjects/components/Core.js line 353 + src/gameobjects/components/Core.js line 354 @@ -12386,7 +12386,7 @@

Source:
- src/gameobjects/TileSprite.js line 177 + src/gameobjects/TileSprite.js line 177 @@ -12499,7 +12499,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -12642,7 +12642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -12809,7 +12809,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -13000,7 +13000,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -13165,7 +13165,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 268 + src/gameobjects/TileSprite.js line 268 @@ -13282,7 +13282,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -13475,7 +13475,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13640,7 +13640,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -13760,7 +13760,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -13951,7 +13951,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -14095,7 +14095,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -14239,7 +14239,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -14403,7 +14403,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 289 + src/gameobjects/TileSprite.js line 289 @@ -14511,7 +14511,7 @@

Source:
- src/gameobjects/TileSprite.js line 223 + src/gameobjects/TileSprite.js line 223 @@ -14702,7 +14702,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -14845,7 +14845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15058,7 +15058,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -15179,7 +15179,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -15272,7 +15272,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -15461,7 +15461,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -15530,9 +15530,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -15549,7 +15549,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -15578,7 +15578,7 @@
Returns:
- + diff --git a/docs/Phaser.Tilemap.html b/docs/Phaser.Tilemap.html index 112fe9f7f..948927084 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 175 + src/tilemap/Tilemap.js line 175 @@ -625,7 +625,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 193 + src/tilemap/Tilemap.js line 193 @@ -698,7 +698,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 187 + src/tilemap/Tilemap.js line 187 @@ -771,7 +771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 199 + src/tilemap/Tilemap.js line 199 @@ -844,7 +844,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 181 + src/tilemap/Tilemap.js line 181 @@ -917,7 +917,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 205 + src/tilemap/Tilemap.js line 205 @@ -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 1981 + src/tilemap/Tilemap.js line 1982 @@ -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 250 + src/tilemap/Tilemap.js line 250 @@ -3317,7 +3317,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1094 + src/tilemap/Tilemap.js line 1094 @@ -3631,7 +3631,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1584 + src/tilemap/Tilemap.js line 1585 @@ -3961,7 +3961,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 209 + src/tilemap/Tilemap.js line 209 @@ -4291,7 +4291,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 638 + src/tilemap/Tilemap.js line 638 @@ -4830,7 +4830,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 372 + src/tilemap/Tilemap.js line 372 @@ -5183,7 +5183,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 472 + src/tilemap/Tilemap.js line 472 @@ -5459,7 +5459,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 564 + src/tilemap/Tilemap.js line 564 @@ -5568,7 +5568,7 @@

Source:
- src/tilemap/Tilemap.js line 1964 + src/tilemap/Tilemap.js line 1965 @@ -5652,7 +5652,7 @@

Source:
- src/tilemap/Tilemap.js line 1924 + src/tilemap/Tilemap.js line 1925 @@ -5965,7 +5965,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1882 + src/tilemap/Tilemap.js line 1883 @@ -6309,7 +6309,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1732 + src/tilemap/Tilemap.js line 1733 @@ -6443,7 +6443,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 765 + src/tilemap/Tilemap.js line 765 @@ -6625,7 +6625,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 719 + src/tilemap/Tilemap.js line 719 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1033 + src/tilemap/Tilemap.js line 1033 @@ -6947,7 +6947,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 741 + src/tilemap/Tilemap.js line 741 @@ -7241,7 +7241,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1519 + src/tilemap/Tilemap.js line 1520 @@ -7448,7 +7448,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1163 + src/tilemap/Tilemap.js line 1163 @@ -7631,7 +7631,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1182 + src/tilemap/Tilemap.js line 1182 @@ -7814,7 +7814,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1201 + src/tilemap/Tilemap.js line 1201 @@ -7997,7 +7997,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1220 + src/tilemap/Tilemap.js line 1220 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 753 + src/tilemap/Tilemap.js line 753 @@ -8501,7 +8501,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1559 + src/tilemap/Tilemap.js line 1560 @@ -8713,7 +8713,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1255 + src/tilemap/Tilemap.js line 1255 @@ -8985,7 +8985,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1645 + src/tilemap/Tilemap.js line 1646 @@ -9240,7 +9240,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1327 + src/tilemap/Tilemap.js line 1327 @@ -9579,7 +9579,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1397 + src/tilemap/Tilemap.js line 1397 @@ -9884,7 +9884,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1795 + src/tilemap/Tilemap.js line 1796 @@ -9968,7 +9968,7 @@

Source:
- src/tilemap/Tilemap.js line 1913 + src/tilemap/Tilemap.js line 1914 @@ -10184,7 +10184,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1276 + src/tilemap/Tilemap.js line 1276 @@ -10488,7 +10488,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1306 + src/tilemap/Tilemap.js line 1306 @@ -10899,7 +10899,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1760 + src/tilemap/Tilemap.js line 1761 @@ -10938,8 +10938,9 @@

-

Searches the entire map layer for the first tile matching the given index, then returns that Phaser.Tile object. -If no match is found it returns null. +

Searches the entire map layer for the first tile or all tiles matching the given index. +When all is false (the default), it returns a Phaser.Tile object or null. +When all is true, it returns an array Phaser.Tile objects, or none (an empty array). The search starts from the top-left tile and continues horizontally until it hits the end of the row, then it drops down to the next column. If the reverse boolean is true, it scans starting from the bottom-right corner traveling up to the top-left.

@@ -11216,7 +11217,7 @@

Parameters:
Source:
- src/tilemap/Tilemap.js line 1419 + src/tilemap/Tilemap.js line 1419 @@ -11523,7 +11524,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 858 + src/tilemap/Tilemap.js line 858 @@ -11835,7 +11836,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 899 + src/tilemap/Tilemap.js line 899 @@ -12110,7 +12111,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 935 + src/tilemap/Tilemap.js line 935 @@ -12379,7 +12380,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 968 + src/tilemap/Tilemap.js line 968 @@ -12519,7 +12520,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1239 + src/tilemap/Tilemap.js line 1239 @@ -12654,7 +12655,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1066 + src/tilemap/Tilemap.js line 1066 @@ -12908,7 +12909,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 777 + src/tilemap/Tilemap.js line 777 @@ -13255,7 +13256,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 825 + src/tilemap/Tilemap.js line 825 @@ -13413,7 +13414,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 235 + src/tilemap/Tilemap.js line 235 @@ -13694,7 +13695,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1840 + src/tilemap/Tilemap.js line 1841 @@ -14039,7 +14040,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1679 + src/tilemap/Tilemap.js line 1680 @@ -14082,9 +14083,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -14101,7 +14102,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -14130,7 +14131,7 @@
Parameters:
- + diff --git a/docs/Phaser.TilemapLayer.html b/docs/Phaser.TilemapLayer.html index a8921eedd..9f0032561 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 55 + src/gameobjects/components/LifeSpan.js line 55 @@ -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 185 + src/gameobjects/components/Core.js line 186 @@ -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 97 + src/gameobjects/components/PhysicsBody.js line 97 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 791 + src/pixi/display/DisplayObject.js line 791 @@ -1389,7 +1389,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 82 + src/gameobjects/components/FixedToCamera.js line 82 @@ -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 56 + src/gameobjects/components/Bounds.js line 56 @@ -1640,7 +1640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 76 + src/gameobjects/components/Bounds.js line 76 @@ -1732,7 +1732,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 103 + src/gameobjects/components/InWorld.js line 103 @@ -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 159 + src/gameobjects/components/Core.js line 160 @@ -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 152 + src/gameobjects/components/Core.js line 153 @@ -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 41 + src/gameobjects/components/Delta.js line 41 @@ -2715,7 +2715,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 56 + src/gameobjects/components/Delta.js line 56 @@ -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 177 + src/gameobjects/components/Core.js line 178 @@ -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 205 + src/pixi/display/DisplayObject.js line 205 @@ -3232,7 +3232,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 54 + src/gameobjects/components/FixedToCamera.js line 54 @@ -3421,7 +3421,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 257 + src/gameobjects/components/LoadTexture.js line 257 @@ -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 240 + src/gameobjects/components/Core.js line 241 @@ -3685,7 +3685,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 134 + src/gameobjects/components/Core.js line 135 @@ -3779,7 +3779,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3865,7 +3865,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 606 + src/pixi/display/DisplayObjectContainer.js line 606 @@ -3961,7 +3961,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -4049,7 +4049,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -4136,7 +4136,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4213,7 +4213,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 44 + src/tilemap/TilemapLayer.js line 44 @@ -4304,7 +4304,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4483,7 +4483,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 134 + src/gameobjects/components/InWorld.js line 134 @@ -4585,7 +4585,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 195 + src/gameobjects/components/Core.js line 196 @@ -4662,7 +4662,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 52 + src/tilemap/TilemapLayer.js line 52 @@ -4749,7 +4749,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 96 + src/gameobjects/components/Bounds.js line 96 @@ -4839,7 +4839,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 70 + src/gameobjects/components/LifeSpan.js line 70 @@ -4916,7 +4916,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 36 + src/tilemap/TilemapLayer.js line 36 @@ -5005,7 +5005,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -5186,7 +5186,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 142 + src/gameobjects/components/Core.js line 143 @@ -5274,7 +5274,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -5362,7 +5362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 41 + src/gameobjects/components/Bounds.js line 41 @@ -5448,7 +5448,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 111 + src/gameobjects/components/InWorld.js line 111 @@ -5535,7 +5535,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 120 + src/gameobjects/components/InWorld.js line 120 @@ -5624,7 +5624,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -5713,7 +5713,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 251 + src/gameobjects/components/Core.js line 252 @@ -5795,7 +5795,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 83 + src/tilemap/TilemapLayer.js line 83 @@ -5882,7 +5882,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5970,7 +5970,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -6056,7 +6056,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 217 + src/gameobjects/components/Core.js line 218 @@ -6142,7 +6142,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 224 + src/gameobjects/components/Core.js line 225 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 174 + src/tilemap/TilemapLayer.js line 174 @@ -6313,7 +6313,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -6400,7 +6400,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 232 + src/gameobjects/components/Core.js line 233 @@ -6588,7 +6588,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 98 + src/tilemap/TilemapLayer.js line 98 @@ -6675,7 +6675,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 116 + src/gameobjects/components/Bounds.js line 116 @@ -6764,7 +6764,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6853,7 +6853,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -7029,7 +7029,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -7113,7 +7113,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 152 + src/tilemap/TilemapLayer.js line 152 @@ -7197,7 +7197,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 160 + src/tilemap/TilemapLayer.js line 160 @@ -7291,7 +7291,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -7379,7 +7379,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7465,7 +7465,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7580,7 +7580,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 230 + src/tilemap/TilemapLayer.js line 230 @@ -7673,7 +7673,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7766,7 +7766,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7853,7 +7853,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 136 + src/gameobjects/components/Bounds.js line 136 @@ -7939,7 +7939,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -8025,7 +8025,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -8114,7 +8114,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 77 + src/tilemap/TilemapLayer.js line 77 @@ -8213,7 +8213,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 90 + src/pixi/display/DisplayObject.js line 90 @@ -8299,7 +8299,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 576 + src/pixi/display/DisplayObjectContainer.js line 576 @@ -8387,7 +8387,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 203 + src/gameobjects/components/Core.js line 204 @@ -8479,7 +8479,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -8570,7 +8570,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -8661,7 +8661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -8752,7 +8752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -8843,7 +8843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -8929,7 +8929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -9016,7 +9016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 626 + src/pixi/display/DisplayObject.js line 626 @@ -9103,7 +9103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -9192,7 +9192,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 169 + src/gameobjects/components/Core.js line 170 @@ -9329,7 +9329,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -9520,7 +9520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -9863,7 +9863,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 209 + src/gameobjects/components/Bounds.js line 209 @@ -10207,7 +10207,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 306 + src/gameobjects/components/Bounds.js line 306 @@ -10327,7 +10327,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -10494,7 +10494,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -10720,7 +10720,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10864,7 +10864,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10977,7 +10977,7 @@

Source:
- src/tilemap/TilemapLayer.js line 353 + src/tilemap/TilemapLayer.js line 353 @@ -11062,7 +11062,7 @@

Source:
- src/tilemap/TilemapLayer.js line 260 + src/tilemap/TilemapLayer.js line 260 @@ -11307,7 +11307,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -11482,7 +11482,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 211 + src/pixi/display/Sprite.js line 211 @@ -11649,7 +11649,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -11816,7 +11816,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -11924,7 +11924,7 @@

Source:
- src/tilemap/TilemapLayer.js line 413 + src/tilemap/TilemapLayer.js line 413 @@ -12037,7 +12037,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -12331,7 +12331,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 567 + src/tilemap/TilemapLayer.js line 567 @@ -12439,7 +12439,7 @@

Source:
- src/tilemap/TilemapLayer.js line 425 + src/tilemap/TilemapLayer.js line 425 @@ -12797,7 +12797,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 613 + src/tilemap/TilemapLayer.js line 613 @@ -12955,7 +12955,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 521 + src/tilemap/TilemapLayer.js line 521 @@ -13164,7 +13164,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 549 + src/tilemap/TilemapLayer.js line 549 @@ -13325,7 +13325,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 535 + src/tilemap/TilemapLayer.js line 535 @@ -13492,7 +13492,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 88 + src/gameobjects/components/Health.js line 88 @@ -13613,7 +13613,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 117 + src/gameobjects/components/LifeSpan.js line 117 @@ -13898,7 +13898,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -13994,7 +13994,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 84 + src/gameobjects/components/BringToTop.js line 84 @@ -14114,7 +14114,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 64 + src/gameobjects/components/BringToTop.js line 64 @@ -14297,7 +14297,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -14603,7 +14603,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -14716,7 +14716,7 @@

Source:
- src/tilemap/TilemapLayer.js line 289 + src/tilemap/TilemapLayer.js line 289 @@ -14805,7 +14805,7 @@

Source:
- src/tilemap/TilemapLayer.js line 279 + src/tilemap/TilemapLayer.js line 279 @@ -14898,7 +14898,7 @@

Source:
- src/gameobjects/components/Core.js line 317 + src/gameobjects/components/Core.js line 318 @@ -15041,7 +15041,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -15208,7 +15208,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -15399,7 +15399,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -15483,7 +15483,7 @@

Source:
- src/tilemap/TilemapLayer.js line 1058 + src/tilemap/TilemapLayer.js line 1058 @@ -15722,7 +15722,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -15839,7 +15839,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 236 + src/gameobjects/components/LoadTexture.js line 236 @@ -15924,7 +15924,7 @@

Source:
- src/tilemap/TilemapLayer.js line 707 + src/tilemap/TilemapLayer.js line 707 @@ -16086,7 +16086,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 365 + src/tilemap/TilemapLayer.js line 365 @@ -16279,7 +16279,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -16363,7 +16363,7 @@

Source:
- src/tilemap/TilemapLayer.js line 402 + src/tilemap/TilemapLayer.js line 402 @@ -16528,7 +16528,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 83 + src/gameobjects/components/LifeSpan.js line 83 @@ -16648,7 +16648,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 44 + src/gameobjects/components/BringToTop.js line 44 @@ -16839,7 +16839,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -16983,7 +16983,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 156 + src/gameobjects/components/LoadTexture.js line 156 @@ -17127,7 +17127,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 69 + src/gameobjects/components/Health.js line 69 @@ -17343,7 +17343,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 725 + src/tilemap/TilemapLayer.js line 725 @@ -17580,7 +17580,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 109 + src/gameobjects/components/ScaleMinMax.js line 109 @@ -17780,7 +17780,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 175 + src/pixi/display/Sprite.js line 175 @@ -17947,7 +17947,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -18090,7 +18090,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -18303,7 +18303,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -18424,7 +18424,7 @@

Source:
- src/gameobjects/components/Core.js line 342 + src/gameobjects/components/Core.js line 343 @@ -18517,7 +18517,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -18637,7 +18637,7 @@

Source:
- src/gameobjects/components/Crop.js line 85 + src/gameobjects/components/Crop.js line 85 @@ -18800,7 +18800,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -18869,9 +18869,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -18888,7 +18888,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -18917,7 +18917,7 @@
Returns:
- + diff --git a/docs/Phaser.TilemapParser.html b/docs/Phaser.TilemapParser.html index 922d33a82..e552c0372 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 133 + src/tilemap/TilemapParser.js line 133 @@ -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 76 + src/tilemap/TilemapParser.js line 76 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 194 + src/tilemap/TilemapParser.js line 194 @@ -1512,7 +1512,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 329 + src/tilemap/TilemapParser.js line 329 @@ -1579,9 +1579,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1598,7 +1598,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1627,7 +1627,7 @@
Returns:
- + diff --git a/docs/Phaser.Tileset.html b/docs/Phaser.Tileset.html index 767a833af..4775608b9 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 153 + src/tilemap/Tileset.js line 153 @@ -1799,7 +1799,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 122 + src/tilemap/Tileset.js line 122 @@ -1933,7 +1933,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 169 + src/tilemap/Tileset.js line 169 @@ -2127,7 +2127,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 182 + src/tilemap/Tileset.js line 182 @@ -2170,9 +2170,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2189,7 +2189,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2218,7 +2218,7 @@
Parameters:
- + diff --git a/docs/Phaser.Time.html b/docs/Phaser.Time.html index 75ad40d53..1384e29b2 100644 --- a/docs/Phaser.Time.html +++ b/docs/Phaser.Time.html @@ -6,7 +6,7 @@ Phaser CE Class: Time - + @@ -251,7 +251,7 @@
Parameters:
Source:
- src/time/Time.js line 38 + src/time/Time.js line 38 @@ -356,7 +356,7 @@
Type:
Source:
- src/time/Time.js line 174 + src/time/Time.js line 174 @@ -442,7 +442,7 @@
Type:
Source:
- src/time/Time.js line 667 + src/time/Time.js line 667 @@ -519,7 +519,7 @@
Type:
Source:
- src/time/Time.js line 130 + src/time/Time.js line 130 @@ -600,7 +600,7 @@
Type:
Source:
- src/time/Time.js line 88 + src/time/Time.js line 88 @@ -688,7 +688,7 @@
Type:
Source:
- src/time/Time.js line 103 + src/time/Time.js line 103 @@ -765,7 +765,7 @@
Type:
Source:
- src/time/Time.js line 290 + src/time/Time.js line 290 @@ -843,7 +843,7 @@
Type:
Source:
- src/time/Time.js line 210 + src/time/Time.js line 210 @@ -922,7 +922,7 @@
Type:
Source:
- src/time/Time.js line 246 + src/time/Time.js line 246 @@ -1001,7 +1001,7 @@
Type:
Source:
- src/time/Time.js line 237 + src/time/Time.js line 237 @@ -1079,7 +1079,7 @@
Type:
Source:
- src/time/Time.js line 183 + src/time/Time.js line 183 @@ -1156,7 +1156,7 @@
Type:
Source:
- src/time/Time.js line 44 + src/time/Time.js line 44 @@ -1235,7 +1235,7 @@
Type:
Source:
- src/time/Time.js line 265 + src/time/Time.js line 265 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/time/Time.js line 256 + src/time/Time.js line 256 @@ -1402,7 +1402,7 @@
Type:
Source:
- src/time/Time.js line 72 + src/time/Time.js line 72 @@ -1480,7 +1480,7 @@
Type:
Source:
- src/time/Time.js line 272 + src/time/Time.js line 272 @@ -1561,7 +1561,7 @@
Type:
Source:
- src/time/Time.js line 116 + src/time/Time.js line 116 @@ -1638,7 +1638,7 @@
Type:
Source:
- src/time/Time.js line 123 + src/time/Time.js line 123 @@ -1715,7 +1715,7 @@
Type:
Source:
- src/time/Time.js line 58 + src/time/Time.js line 58 @@ -1793,7 +1793,7 @@
Type:
Source:
- src/time/Time.js line 201 + src/time/Time.js line 201 @@ -1871,7 +1871,7 @@
Type:
Source:
- src/time/Time.js line 228 + src/time/Time.js line 228 @@ -1961,7 +1961,7 @@
Type:
Source:
- src/time/Time.js line 167 + src/time/Time.js line 167 @@ -2041,7 +2041,7 @@
Type:
Source:
- src/time/Time.js line 153 + src/time/Time.js line 153 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/time/Time.js line 51 + src/time/Time.js line 51 @@ -2195,7 +2195,7 @@
Type:
Source:
- src/time/Time.js line 284 + src/time/Time.js line 284 @@ -2272,7 +2272,7 @@
Type:
Source:
- src/time/Time.js line 278 + src/time/Time.js line 278 @@ -2350,7 +2350,7 @@
Type:
Source:
- src/time/Time.js line 192 + src/time/Time.js line 192 @@ -2428,7 +2428,7 @@
Type:
Source:
- src/time/Time.js line 219 + src/time/Time.js line 219 @@ -2556,7 +2556,7 @@
Parameters:
Source:
- src/time/Time.js line 351 + src/time/Time.js line 351 @@ -2664,7 +2664,7 @@

Source:
- src/time/Time.js line 337 + src/time/Time.js line 337 @@ -2818,7 +2818,7 @@
Parameters:
Source:
- src/time/Time.js line 365 + src/time/Time.js line 365 @@ -2976,7 +2976,7 @@
Parameters:
Source:
- src/time/Time.js line 642 + src/time/Time.js line 642 @@ -3134,7 +3134,7 @@
Parameters:
Source:
- src/time/Time.js line 630 + src/time/Time.js line 630 @@ -3242,7 +3242,7 @@

Source:
- src/time/Time.js line 400 + src/time/Time.js line 400 @@ -3326,7 +3326,7 @@

Source:
- src/time/Time.js line 383 + src/time/Time.js line 383 @@ -3410,7 +3410,7 @@

Source:
- src/time/Time.js line 654 + src/time/Time.js line 654 @@ -3494,7 +3494,7 @@

Source:
- src/time/Time.js line 619 + src/time/Time.js line 619 @@ -3652,7 +3652,7 @@
Parameters:
Source:
- src/time/Time.js line 417 + src/time/Time.js line 417 @@ -3695,9 +3695,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3714,7 +3714,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3743,7 +3743,7 @@
Parameters:
- + diff --git a/docs/Phaser.Timer.html b/docs/Phaser.Timer.html index ec9f0170c..82ea750ee 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 174 + src/time/Timer.js line 174 @@ -472,7 +472,7 @@
Type:
Source:
- src/time/Timer.js line 160 + src/time/Timer.js line 160 @@ -549,7 +549,7 @@
Type:
Source:
- src/time/Timer.js line 181 + src/time/Timer.js line 181 @@ -626,7 +626,7 @@
Type:
Source:
- src/time/Timer.js line 167 + src/time/Timer.js line 167 @@ -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 664 + src/time/Timer.js line 664 @@ -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 685 + src/time/Timer.js line 685 @@ -1242,7 +1242,7 @@
Type:
Source:
- src/time/Timer.js line 699 + src/time/Timer.js line 699 @@ -1319,7 +1319,7 @@
Type:
Source:
- src/time/Timer.js line 650 + src/time/Timer.js line 650 @@ -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 720 + src/time/Timer.js line 720 @@ -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 226 + src/time/Timer.js line 226 @@ -2130,7 +2130,7 @@

Source:
- src/time/Timer.js line 542 + src/time/Timer.js line 542 @@ -2214,7 +2214,7 @@

Source:
- src/time/Timer.js line 382 + src/time/Timer.js line 382 @@ -2299,7 +2299,7 @@

Source:
- src/time/Timer.js line 632 + src/time/Timer.js line 632 @@ -2544,7 +2544,7 @@
Parameters:
Source:
- src/time/Timer.js line 268 + src/time/Timer.js line 268 @@ -2653,7 +2653,7 @@

Source:
- src/time/Timer.js line 346 + src/time/Timer.js line 346 @@ -2737,7 +2737,7 @@

Source:
- src/time/Timer.js line 502 + src/time/Timer.js line 502 @@ -2871,7 +2871,7 @@
Parameters:
Source:
- src/time/Timer.js line 327 + src/time/Timer.js line 327 @@ -2956,7 +2956,7 @@

Source:
- src/time/Timer.js line 618 + src/time/Timer.js line 618 @@ -3234,7 +3234,7 @@
Parameters:
Source:
- src/time/Timer.js line 246 + src/time/Timer.js line 246 @@ -3342,7 +3342,7 @@

Source:
- src/time/Timer.js line 579 + src/time/Timer.js line 579 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/time/Timer.js line 288 + src/time/Timer.js line 288 @@ -3650,7 +3650,7 @@
Parameters:
Source:
- src/time/Timer.js line 310 + src/time/Timer.js line 310 @@ -3784,7 +3784,7 @@
Parameters:
Source:
- src/time/Timer.js line 404 + src/time/Timer.js line 404 @@ -3851,9 +3851,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3870,7 +3870,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3899,7 +3899,7 @@
Returns:
- + diff --git a/docs/Phaser.TimerEvent.html b/docs/Phaser.TimerEvent.html index af768613e..24dba24ed 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.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1213,7 +1213,7 @@
Type:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1242,7 +1242,7 @@
Type:
- + diff --git a/docs/Phaser.Touch.html b/docs/Phaser.Touch.html index 805ed3b43..bf723ec15 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 28 + src/input/Touch.js line 28 @@ -413,7 +413,7 @@
Type:
Source:
- src/input/Touch.js line 40 + src/input/Touch.js line 40 @@ -497,7 +497,7 @@
Type:
Source:
- src/input/Touch.js line 35 + src/input/Touch.js line 35 @@ -574,7 +574,7 @@
Type:
Source:
- src/input/Touch.js line 82 + src/input/Touch.js line 82 @@ -651,7 +651,7 @@
Type:
Source:
- src/input/Touch.js line 21 + src/input/Touch.js line 21 @@ -735,7 +735,7 @@
Type:
Source:
- src/input/Touch.js line 76 + src/input/Touch.js line 76 @@ -812,7 +812,7 @@
Type:
Source:
- src/input/Touch.js line 70 + src/input/Touch.js line 70 @@ -889,7 +889,7 @@
Type:
Source:
- src/input/Touch.js line 55 + src/input/Touch.js line 55 @@ -966,7 +966,7 @@
Type:
Source:
- src/input/Touch.js line 60 + src/input/Touch.js line 60 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/input/Touch.js line 65 + src/input/Touch.js line 65 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/input/Touch.js line 50 + src/input/Touch.js line 50 @@ -1197,7 +1197,7 @@
Type:
Source:
- src/input/Touch.js line 45 + src/input/Touch.js line 45 @@ -1275,7 +1275,7 @@

Source:
- src/input/Touch.js line 194 + src/input/Touch.js line 194 @@ -1410,7 +1410,7 @@
Parameters:
Source:
- src/input/Touch.js line 245 + src/input/Touch.js line 245 @@ -1544,7 +1544,7 @@
Parameters:
Source:
- src/input/Touch.js line 352 + src/input/Touch.js line 352 @@ -1679,7 +1679,7 @@
Parameters:
Source:
- src/input/Touch.js line 280 + src/input/Touch.js line 280 @@ -1814,7 +1814,7 @@
Parameters:
Source:
- src/input/Touch.js line 306 + src/input/Touch.js line 306 @@ -1948,7 +1948,7 @@
Parameters:
Source:
- src/input/Touch.js line 327 + src/input/Touch.js line 327 @@ -2082,7 +2082,7 @@
Parameters:
Source:
- src/input/Touch.js line 208 + src/input/Touch.js line 208 @@ -2166,7 +2166,7 @@

Source:
- src/input/Touch.js line 129 + src/input/Touch.js line 129 @@ -2250,7 +2250,7 @@

Source:
- src/input/Touch.js line 384 + src/input/Touch.js line 384 @@ -2293,9 +2293,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2312,7 +2312,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2341,7 +2341,7 @@

- + diff --git a/docs/Phaser.Tween.html b/docs/Phaser.Tween.html index 346a764e0..884b2b4e9 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 915 + src/tween/Tween.js line 915 @@ -2011,7 +2011,7 @@
Parameters:
Source:
- src/tween/Tween.js line 188 + src/tween/Tween.js line 188 @@ -2163,7 +2163,7 @@
Parameters:
Source:
- src/tween/Tween.js line 589 + src/tween/Tween.js line 589 @@ -2380,7 +2380,7 @@
Parameters:
Source:
- src/tween/Tween.js line 438 + src/tween/Tween.js line 438 @@ -2600,7 +2600,7 @@
Parameters:
Source:
- src/tween/Tween.js line 530 + src/tween/Tween.js line 530 @@ -3020,7 +3020,7 @@
Parameters:
Source:
- src/tween/Tween.js line 262 + src/tween/Tween.js line 262 @@ -3239,7 +3239,7 @@
Parameters:
Source:
- src/tween/Tween.js line 863 + src/tween/Tween.js line 863 @@ -3494,7 +3494,7 @@
Parameters:
Source:
- src/tween/Tween.js line 551 + src/tween/Tween.js line 551 @@ -3680,7 +3680,7 @@
Parameters:
Source:
- src/tween/Tween.js line 622 + src/tween/Tween.js line 622 @@ -3867,7 +3867,7 @@
Parameters:
Source:
- src/tween/Tween.js line 647 + src/tween/Tween.js line 647 @@ -3975,7 +3975,7 @@

Source:
- src/tween/Tween.js line 671 + src/tween/Tween.js line 671 @@ -4208,7 +4208,7 @@
Parameters:
Source:
- src/tween/Tween.js line 454 + src/tween/Tween.js line 454 @@ -4387,7 +4387,7 @@
Parameters:
Source:
- src/tween/Tween.js line 572 + src/tween/Tween.js line 572 @@ -4604,7 +4604,7 @@
Parameters:
Source:
- src/tween/Tween.js line 476 + src/tween/Tween.js line 476 @@ -4712,7 +4712,7 @@

Source:
- src/tween/Tween.js line 701 + src/tween/Tween.js line 701 @@ -4870,7 +4870,7 @@
Parameters:
Source:
- src/tween/Tween.js line 308 + src/tween/Tween.js line 308 @@ -5051,7 +5051,7 @@
Parameters:
Source:
- src/tween/Tween.js line 371 + src/tween/Tween.js line 371 @@ -5471,7 +5471,7 @@
Parameters:
Source:
- src/tween/Tween.js line 216 + src/tween/Tween.js line 216 @@ -5629,7 +5629,7 @@
Parameters:
Source:
- src/tween/Tween.js line 741 + src/tween/Tween.js line 741 @@ -5884,7 +5884,7 @@
Parameters:
Source:
- src/tween/Tween.js line 406 + src/tween/Tween.js line 406 @@ -6142,7 +6142,7 @@
Parameters:
Source:
- src/tween/Tween.js line 492 + src/tween/Tween.js line 492 @@ -6359,7 +6359,7 @@
Parameters:
Source:
- src/tween/Tween.js line 514 + src/tween/Tween.js line 514 @@ -6426,9 +6426,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6445,7 +6445,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6474,7 +6474,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenData.html b/docs/Phaser.TweenData.html index febe60de3..33d454c60 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 179 + src/tween/TweenData.js line 179 @@ -406,7 +406,7 @@
Type:
Source:
- src/tween/TweenData.js line 173 + src/tween/TweenData.js line 173 @@ -479,7 +479,7 @@
Type:
Source:
- src/tween/TweenData.js line 161 + src/tween/TweenData.js line 161 @@ -552,7 +552,7 @@
Type:
Source:
- src/tween/TweenData.js line 167 + src/tween/TweenData.js line 167 @@ -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 210 + src/tween/TweenData.js line 210 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 407 + src/tween/TweenData.js line 407 @@ -2760,7 +2760,7 @@

Source:
- src/tween/TweenData.js line 237 + src/tween/TweenData.js line 237 @@ -3135,7 +3135,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 183 + src/tween/TweenData.js line 183 @@ -3293,7 +3293,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 337 + src/tween/TweenData.js line 337 @@ -3360,9 +3360,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -3379,7 +3379,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -3408,7 +3408,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenManager.html b/docs/Phaser.TweenManager.html index d1c35fa99..164f19e29 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 185 + src/tween/TweenManager.js line 185 @@ -708,7 +708,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 198 + src/tween/TweenManager.js line 198 @@ -816,7 +816,7 @@

Source:
- src/tween/TweenManager.js line 351 + src/tween/TweenManager.js line 351 @@ -900,7 +900,7 @@

Source:
- src/tween/TweenManager.js line 113 + src/tween/TweenManager.js line 113 @@ -1115,7 +1115,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 277 + src/tween/TweenManager.js line 277 @@ -1223,7 +1223,7 @@

Source:
- src/tween/TweenManager.js line 325 + src/tween/TweenManager.js line 325 @@ -1357,7 +1357,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 210 + src/tween/TweenManager.js line 210 @@ -1441,7 +1441,7 @@

Source:
- src/tween/TweenManager.js line 123 + src/tween/TweenManager.js line 123 @@ -1637,7 +1637,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 137 + src/tween/TweenManager.js line 137 @@ -1721,7 +1721,7 @@

Source:
- src/tween/TweenManager.js line 338 + src/tween/TweenManager.js line 338 @@ -1805,7 +1805,7 @@

Source:
- src/tween/TweenManager.js line 235 + src/tween/TweenManager.js line 235 @@ -1872,9 +1872,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1891,7 +1891,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1920,7 +1920,7 @@
Returns:
- + diff --git a/docs/Phaser.Utils.Debug.html b/docs/Phaser.Utils.Debug.html index c5f4e3841..6187f8d8a 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 @@ -338,7 +338,7 @@
Type:
Source:
- src/utils/Debug.js line 135 + src/utils/Debug.js line 135 @@ -411,7 +411,7 @@
Type:
Source:
- src/utils/Debug.js line 147 + src/utils/Debug.js line 147 @@ -484,7 +484,7 @@
Type:
Source:
- src/utils/Debug.js line 165 + src/utils/Debug.js line 165 @@ -557,7 +557,7 @@
Type:
Source:
- src/utils/Debug.js line 159 + src/utils/Debug.js line 159 @@ -630,7 +630,7 @@
Type:
Source:
- src/utils/Debug.js line 153 + src/utils/Debug.js line 153 @@ -703,7 +703,7 @@
Type:
Source:
- src/utils/Debug.js line 141 + src/utils/Debug.js line 141 @@ -780,7 +780,7 @@
Type:
Source:
- src/utils/Debug.js line 38 + src/utils/Debug.js line 38 @@ -857,7 +857,7 @@
Type:
Source:
- src/utils/Debug.js line 43 + src/utils/Debug.js line 43 @@ -941,7 +941,7 @@
Type:
Source:
- src/utils/Debug.js line 60 + src/utils/Debug.js line 60 @@ -1018,7 +1018,7 @@
Type:
Source:
- src/utils/Debug.js line 48 + src/utils/Debug.js line 48 @@ -1102,7 +1102,7 @@
Type:
Source:
- src/utils/Debug.js line 103 + src/utils/Debug.js line 103 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/utils/Debug.js line 85 + src/utils/Debug.js line 85 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/utils/Debug.js line 91 + src/utils/Debug.js line 91 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/utils/Debug.js line 97 + src/utils/Debug.js line 97 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/utils/Debug.js line 109 + src/utils/Debug.js line 109 @@ -1494,7 +1494,7 @@
Type:
Source:
- src/utils/Debug.js line 54 + src/utils/Debug.js line 54 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/utils/Debug.js line 28 + src/utils/Debug.js line 28 @@ -1648,7 +1648,7 @@
Type:
Source:
- src/utils/Debug.js line 116 + src/utils/Debug.js line 116 @@ -1732,7 +1732,7 @@
Type:
Source:
- src/utils/Debug.js line 66 + src/utils/Debug.js line 66 @@ -1816,7 +1816,7 @@
Type:
Source:
- src/utils/Debug.js line 72 + src/utils/Debug.js line 72 @@ -1900,7 +1900,7 @@
Type:
Source:
- src/utils/Debug.js line 78 + src/utils/Debug.js line 78 @@ -1977,7 +1977,7 @@
Type:
Source:
- src/utils/Debug.js line 33 + src/utils/Debug.js line 33 @@ -2203,7 +2203,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1061 + src/utils/Debug.js line 1099 @@ -2465,7 +2465,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1094 + src/utils/Debug.js line 1132 @@ -2549,7 +2549,7 @@

Source:
- src/utils/Debug.js line 169 + src/utils/Debug.js line 169 @@ -2740,7 +2740,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1139 + src/utils/Debug.js line 1177 @@ -2826,7 +2826,7 @@

Source:
- src/utils/Debug.js line 1122 + src/utils/Debug.js line 1160 @@ -3054,7 +3054,7 @@
Parameters:
Source:
- src/utils/Debug.js line 418 + src/utils/Debug.js line 456 @@ -3316,7 +3316,7 @@
Parameters:
Source:
- src/utils/Debug.js line 446 + src/utils/Debug.js line 484 @@ -3400,7 +3400,7 @@

Source:
- src/utils/Debug.js line 1375 + src/utils/Debug.js line 1413 @@ -3610,7 +3610,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1352 + src/utils/Debug.js line 1390 @@ -3758,7 +3758,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1154 + src/utils/Debug.js line 1192 @@ -3984,7 +3984,7 @@
Parameters:
Source:
- src/utils/Debug.js line 318 + src/utils/Debug.js line 318 @@ -4264,7 +4264,7 @@
Parameters:
Source:
- src/utils/Debug.js line 880 + src/utils/Debug.js line 918 @@ -4506,7 +4506,7 @@
Parameters:
Source:
- src/utils/Debug.js line 688 + src/utils/Debug.js line 726 @@ -4772,7 +4772,7 @@
Parameters:
Source:
- src/utils/Debug.js line 626 + src/utils/Debug.js line 664 @@ -5034,7 +5034,7 @@
Parameters:
Source:
- src/utils/Debug.js line 606 + src/utils/Debug.js line 644 @@ -5118,7 +5118,7 @@

Source:
- src/utils/Debug.js line 291 + src/utils/Debug.js line 291 @@ -5380,7 +5380,7 @@
Parameters:
Source:
- src/utils/Debug.js line 843 + src/utils/Debug.js line 881 @@ -5645,7 +5645,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1307 + src/utils/Debug.js line 1345 @@ -5871,7 +5871,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1258 + src/utils/Debug.js line 1296 @@ -6141,7 +6141,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1244 + src/utils/Debug.js line 1282 @@ -6405,7 +6405,7 @@
Parameters:
Source:
- src/utils/Debug.js line 861 + src/utils/Debug.js line 899 @@ -6755,7 +6755,7 @@
Parameters:
Source:
- src/utils/Debug.js line 493 + src/utils/Debug.js line 531 @@ -6839,7 +6839,7 @@

Source:
- src/utils/Debug.js line 212 + src/utils/Debug.js line 212 @@ -6997,7 +6997,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1022 + src/utils/Debug.js line 1060 @@ -7228,7 +7228,7 @@
Parameters:
Source:
- src/utils/Debug.js line 961 + src/utils/Debug.js line 999 @@ -7462,7 +7462,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1186 + src/utils/Debug.js line 1224 @@ -7546,7 +7546,7 @@

Source:
- src/utils/Debug.js line 230 + src/utils/Debug.js line 230 @@ -7631,7 +7631,7 @@

Source:
- src/utils/Debug.js line 197 + src/utils/Debug.js line 197 @@ -7859,7 +7859,7 @@
Parameters:
Source:
- src/utils/Debug.js line 775 + src/utils/Debug.js line 813 @@ -8085,7 +8085,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1274 + src/utils/Debug.js line 1312 @@ -8311,7 +8311,7 @@
Parameters:
Source:
- src/utils/Debug.js line 340 + src/utils/Debug.js line 378 @@ -8573,7 +8573,7 @@
Parameters:
Source:
- src/utils/Debug.js line 370 + src/utils/Debug.js line 408 @@ -8804,7 +8804,7 @@
Parameters:
Source:
- src/utils/Debug.js line 757 + src/utils/Debug.js line 795 @@ -9069,7 +9069,7 @@
Parameters:
Source:
- src/utils/Debug.js line 818 + src/utils/Debug.js line 856 @@ -9331,7 +9331,7 @@
Parameters:
Source:
- src/utils/Debug.js line 795 + src/utils/Debug.js line 833 @@ -9596,7 +9596,7 @@
Parameters:
Source:
- src/utils/Debug.js line 586 + src/utils/Debug.js line 624 @@ -9870,7 +9870,234 @@
Parameters:
Source:
- src/utils/Debug.js line 248 + src/utils/Debug.js line 248 + + + + + + + +

+ + + + + + + + + + + + + + + +
+ + + +
+

+ state(x, y [, color]) + +

+ +
+
+ + +
+

Render game state info.

+

Icons show (+) pending, (>) loading, (*) created.

+
+ + + + + + + + +
Parameters:
+ + +

NameTypeArgumentDefaultDescription
color + + numer + + + <optional>
+ + + + + +
+ + 0x000000 + +

The color the game will fade from. I.e. 0x000000 for black, 0xff0000 for red, etc.

duration + + +number + + + + + + + <optional>
+ + + + + +
+ + 500 + +

The duration of the fade in milliseconds.

force + + +boolean + + + + + + + <optional>
+ + + + + +
+ + false + +

If a camera flash or fade effect is already running and force is true it will replace the previous effect, resetting the duration.

alpha + + +number + + + +

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

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

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

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

obj + + +object + + + + + + + + + + +

An object with numeric x and y properties.

x

The horizontal value of this point.

The x value.

The vertical value of this point. If not given the x value will be used in its place.

The y value. If not given the x value will be used in its place.

obj - - -object - - - - - - - - - - -

An object with numeric x and y properties.

x

The x value.

The horizontal value of this point.

The y value. If not given the x value will be used in its place.

The vertical value of this point. If not given the x value will be used in its place.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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 340 @@ -9954,7 +10181,7 @@

Source:
- src/utils/Debug.js line 280 + src/utils/Debug.js line 280 @@ -10230,7 +10457,7 @@
Parameters:
Source:
- src/utils/Debug.js line 992 + src/utils/Debug.js line 1030 @@ -10492,7 +10719,7 @@
Parameters:
Source:
- src/utils/Debug.js line 475 + src/utils/Debug.js line 513 @@ -10535,9 +10762,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -10554,7 +10781,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -10583,7 +10810,7 @@
Parameters:
- + diff --git a/docs/Phaser.Utils.html b/docs/Phaser.Utils.html index 24ef6b571..16d26c76c 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 380 + src/utils/Utils.js line 380 @@ -541,7 +541,7 @@
Parameters:
Source:
- src/utils/Utils.js line 43 + src/utils/Utils.js line 43 @@ -702,7 +702,7 @@
Parameters:
Source:
- src/utils/Utils.js line 335 + src/utils/Utils.js line 335 @@ -887,7 +887,7 @@
Parameters:
Source:
- src/utils/Utils.js line 509 + src/utils/Utils.js line 509 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/utils/Utils.js line 460 + src/utils/Utils.js line 460 @@ -1419,7 +1419,7 @@
Parameters:
Source:
- src/utils/Utils.js line 275 + src/utils/Utils.js line 275 @@ -1604,7 +1604,7 @@
Parameters:
Source:
- src/utils/Utils.js line 233 + src/utils/Utils.js line 233 @@ -1763,7 +1763,7 @@
Parameters:
Source:
- src/utils/Utils.js line 30 + src/utils/Utils.js line 30 @@ -1951,7 +1951,7 @@
Parameters:
Source:
- src/utils/Utils.js line 70 + src/utils/Utils.js line 70 @@ -2159,7 +2159,7 @@
Parameters:
Source:
- src/utils/Utils.js line 96 + src/utils/Utils.js line 96 @@ -2319,7 +2319,7 @@
Parameters:
Source:
- src/utils/Utils.js line 204 + src/utils/Utils.js line 204 @@ -2501,7 +2501,7 @@
Parameters:
Source:
- src/utils/Utils.js line 220 + src/utils/Utils.js line 220 @@ -2568,9 +2568,9 @@
Returns:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2587,7 +2587,7 @@
Returns:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2616,7 +2616,7 @@
Returns:
- + diff --git a/docs/Phaser.Video.html b/docs/Phaser.Video.html index c1ac38c53..8ec6a47f9 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 1185 + src/gameobjects/Video.js line 1185 @@ -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 1203 + src/gameobjects/Video.js line 1203 @@ -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 153 + 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 1368 + src/gameobjects/Video.js line 1368 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1231 + src/gameobjects/Video.js line 1231 @@ -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,7 @@
Type:
Source:
- src/gameobjects/Video.js line 113 + src/gameobjects/Video.js line 113 @@ -1617,7 +1617,7 @@
Type:
Source:
- src/gameobjects/Video.js line 119 + src/gameobjects/Video.js line 119 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1270 + src/gameobjects/Video.js line 1270 @@ -1772,7 +1772,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1347 + src/gameobjects/Video.js line 1347 @@ -1849,7 +1849,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1397 + src/gameobjects/Video.js line 1397 @@ -1933,7 +1933,7 @@
Type:
Source:
- src/gameobjects/Video.js line 126 + src/gameobjects/Video.js line 126 @@ -2010,7 +2010,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1217 + src/gameobjects/Video.js line 1217 @@ -2087,7 +2087,7 @@
Type:
Source:
- src/gameobjects/Video.js line 168 + src/gameobjects/Video.js line 168 @@ -2171,7 +2171,7 @@
Type:
Source:
- src/gameobjects/Video.js line 174 + src/gameobjects/Video.js line 174 @@ -2257,7 +2257,7 @@
Type:
Source:
- src/gameobjects/Video.js line 162 + src/gameobjects/Video.js line 162 @@ -2336,7 +2336,7 @@
Type:
Source:
- src/gameobjects/Video.js line 308 + src/gameobjects/Video.js line 308 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/Video.js line 283 + src/gameobjects/Video.js line 283 @@ -2490,7 +2490,7 @@
Type:
Source:
- src/gameobjects/Video.js line 289 + src/gameobjects/Video.js line 289 @@ -2574,7 +2574,7 @@
Type:
Source:
- src/gameobjects/Video.js line 132 + src/gameobjects/Video.js line 132 @@ -2651,7 +2651,7 @@
Type:
Source:
- src/gameobjects/Video.js line 81 + src/gameobjects/Video.js line 81 @@ -2728,7 +2728,7 @@
Type:
Source:
- src/gameobjects/Video.js line 70 + src/gameobjects/Video.js line 70 @@ -2805,7 +2805,7 @@
Type:
Source:
- src/gameobjects/Video.js line 143 + src/gameobjects/Video.js line 143 @@ -2882,7 +2882,7 @@
Type:
Source:
- src/gameobjects/Video.js line 148 + src/gameobjects/Video.js line 148 @@ -2959,7 +2959,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1317 + src/gameobjects/Video.js line 1317 @@ -3036,7 +3036,7 @@
Type:
Source:
- src/gameobjects/Video.js line 58 + src/gameobjects/Video.js line 58 @@ -3174,7 +3174,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 827 + src/gameobjects/Video.js line 827 @@ -3552,7 +3552,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 855 + src/gameobjects/Video.js line 855 @@ -3776,7 +3776,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 970 + src/gameobjects/Video.js line 970 @@ -3885,7 +3885,7 @@

Source:
- src/gameobjects/Video.js line 640 + src/gameobjects/Video.js line 640 @@ -4043,7 +4043,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 328 + src/gameobjects/Video.js line 328 @@ -4202,7 +4202,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 524 + src/gameobjects/Video.js line 524 @@ -4416,7 +4416,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 547 + src/gameobjects/Video.js line 547 @@ -4525,7 +4525,7 @@

Source:
- src/gameobjects/Video.js line 1160 + src/gameobjects/Video.js line 1160 @@ -4761,7 +4761,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 1096 + src/gameobjects/Video.js line 1096 @@ -4980,7 +4980,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 651 + src/gameobjects/Video.js line 651 @@ -5089,7 +5089,7 @@

Source:
- src/gameobjects/Video.js line 1131 + src/gameobjects/Video.js line 1131 @@ -5175,7 +5175,7 @@

Source:
- src/gameobjects/Video.js line 880 + src/gameobjects/Video.js line 880 @@ -5260,7 +5260,7 @@

Source:
- src/gameobjects/Video.js line 1051 + src/gameobjects/Video.js line 1051 @@ -5497,7 +5497,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 353 + src/gameobjects/Video.js line 353 @@ -5610,7 +5610,7 @@

Source:
- src/gameobjects/Video.js line 744 + src/gameobjects/Video.js line 744 @@ -5720,7 +5720,7 @@

Source:
- src/gameobjects/Video.js line 1063 + src/gameobjects/Video.js line 1063 @@ -5935,7 +5935,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 590 + src/gameobjects/Video.js line 590 @@ -5978,9 +5978,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -5997,7 +5997,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6026,7 +6026,7 @@
Parameters:
- + diff --git a/docs/Phaser.Weapon.html b/docs/Phaser.Weapon.html index 38d5f73bc..9c464c3b5 100644 --- a/docs/Phaser.Weapon.html +++ b/docs/Phaser.Weapon.html @@ -6,7 +6,7 @@ Phaser CE Class: Weapon - + @@ -271,7 +271,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 41 + src/plugins/weapon/WeaponPlugin.js line 41 @@ -376,7 +376,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 477 + src/plugins/weapon/WeaponPlugin.js line 477 @@ -454,7 +454,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 463 + src/plugins/weapon/WeaponPlugin.js line 463 @@ -531,7 +531,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 455 + src/plugins/weapon/WeaponPlugin.js line 455 @@ -608,7 +608,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 448 + src/plugins/weapon/WeaponPlugin.js line 448 @@ -685,7 +685,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 491 + src/plugins/weapon/WeaponPlugin.js line 491 @@ -762,7 +762,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 470 + src/plugins/weapon/WeaponPlugin.js line 470 @@ -839,7 +839,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 484 + src/plugins/weapon/WeaponPlugin.js line 484 @@ -916,7 +916,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 392 + src/plugins/weapon/WeaponPlugin.js line 392 @@ -994,7 +994,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 58 + src/plugins/weapon/WeaponPlugin.js line 58 @@ -1072,7 +1072,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 66 + src/plugins/weapon/WeaponPlugin.js line 66 @@ -1152,7 +1152,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 298 + src/plugins/weapon/WeaponPlugin.js line 298 @@ -1232,7 +1232,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 178 + src/plugins/weapon/WeaponPlugin.js line 178 @@ -1312,7 +1312,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 188 + src/plugins/weapon/WeaponPlugin.js line 188 @@ -1390,7 +1390,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 132 + src/plugins/weapon/WeaponPlugin.js line 132 @@ -1469,7 +1469,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1333 + src/plugins/weapon/WeaponPlugin.js line 1333 @@ -1546,7 +1546,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1430 + src/plugins/weapon/WeaponPlugin.js line 1430 @@ -1627,7 +1627,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 253 + src/plugins/weapon/WeaponPlugin.js line 253 @@ -1708,7 +1708,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 151 + src/plugins/weapon/WeaponPlugin.js line 151 @@ -1786,7 +1786,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 140 + src/plugins/weapon/WeaponPlugin.js line 140 @@ -1863,7 +1863,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 314 + src/plugins/weapon/WeaponPlugin.js line 314 @@ -1941,7 +1941,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 228 + src/plugins/weapon/WeaponPlugin.js line 228 @@ -2018,7 +2018,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 124 + src/plugins/weapon/WeaponPlugin.js line 124 @@ -2096,7 +2096,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 245 + src/plugins/weapon/WeaponPlugin.js line 245 @@ -2174,7 +2174,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 221 + src/plugins/weapon/WeaponPlugin.js line 221 @@ -2284,7 +2284,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1365 + src/plugins/weapon/WeaponPlugin.js line 1365 @@ -2363,7 +2363,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 213 + src/plugins/weapon/WeaponPlugin.js line 213 @@ -2442,7 +2442,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 237 + src/plugins/weapon/WeaponPlugin.js line 237 @@ -2519,7 +2519,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 50 + src/plugins/weapon/WeaponPlugin.js line 50 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 195 + src/plugins/weapon/WeaponPlugin.js line 195 @@ -2682,7 +2682,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 204 + src/plugins/weapon/WeaponPlugin.js line 204 @@ -2760,7 +2760,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 159 + src/plugins/weapon/WeaponPlugin.js line 159 @@ -2839,7 +2839,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 168 + src/plugins/weapon/WeaponPlugin.js line 168 @@ -2917,7 +2917,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 117 + src/plugins/weapon/WeaponPlugin.js line 117 @@ -2996,7 +2996,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 109 + src/plugins/weapon/WeaponPlugin.js line 109 @@ -3075,7 +3075,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 84 + src/plugins/weapon/WeaponPlugin.js line 84 @@ -3159,7 +3159,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 91 + src/plugins/weapon/WeaponPlugin.js line 91 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 101 + src/plugins/weapon/WeaponPlugin.js line 101 @@ -3320,7 +3320,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 385 + src/plugins/weapon/WeaponPlugin.js line 385 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 338 + src/plugins/weapon/WeaponPlugin.js line 338 @@ -3479,7 +3479,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 357 + src/plugins/weapon/WeaponPlugin.js line 357 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 347 + src/plugins/weapon/WeaponPlugin.js line 347 @@ -3637,7 +3637,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 75 + src/plugins/weapon/WeaponPlugin.js line 75 @@ -3715,7 +3715,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 373 + src/plugins/weapon/WeaponPlugin.js line 373 @@ -3796,7 +3796,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 365 + src/plugins/weapon/WeaponPlugin.js line 365 @@ -3876,7 +3876,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 412 + src/plugins/weapon/WeaponPlugin.js line 412 @@ -3955,7 +3955,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 402 + src/plugins/weapon/WeaponPlugin.js line 402 @@ -4033,7 +4033,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1457 + src/plugins/weapon/WeaponPlugin.js line 1457 @@ -4111,7 +4111,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1481 + src/plugins/weapon/WeaponPlugin.js line 1481 @@ -4421,7 +4421,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1268 + src/plugins/weapon/WeaponPlugin.js line 1268 @@ -4728,7 +4728,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 493 + src/plugins/weapon/WeaponPlugin.js line 493 @@ -4987,7 +4987,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1307 + src/plugins/weapon/WeaponPlugin.js line 1307 @@ -5072,7 +5072,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 650 + src/plugins/weapon/WeaponPlugin.js line 650 @@ -5400,7 +5400,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 871 + src/plugins/weapon/WeaponPlugin.js line 871 @@ -5571,7 +5571,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1143 + src/plugins/weapon/WeaponPlugin.js line 1143 @@ -5742,7 +5742,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1160 + src/plugins/weapon/WeaponPlugin.js line 1160 @@ -5947,7 +5947,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1175 + src/plugins/weapon/WeaponPlugin.js line 1175 @@ -6167,7 +6167,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 786 + src/plugins/weapon/WeaponPlugin.js line 786 @@ -6394,7 +6394,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 840 + src/plugins/weapon/WeaponPlugin.js line 840 @@ -6647,7 +6647,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 556 + src/plugins/weapon/WeaponPlugin.js line 556 @@ -6756,7 +6756,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 610 + src/plugins/weapon/WeaponPlugin.js line 610 @@ -6866,7 +6866,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 576 + src/plugins/weapon/WeaponPlugin.js line 576 @@ -6974,7 +6974,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 699 + src/plugins/weapon/WeaponPlugin.js line 699 @@ -7121,7 +7121,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 628 + src/plugins/weapon/WeaponPlugin.js line 628 @@ -7231,7 +7231,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 593 + src/plugins/weapon/WeaponPlugin.js line 593 @@ -7508,7 +7508,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1191 + src/plugins/weapon/WeaponPlugin.js line 1191 @@ -7803,7 +7803,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1233 + src/plugins/weapon/WeaponPlugin.js line 1233 @@ -8064,7 +8064,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 753 + src/plugins/weapon/WeaponPlugin.js line 753 @@ -8366,7 +8366,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 719 + src/plugins/weapon/WeaponPlugin.js line 719 @@ -8474,7 +8474,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 670 + src/plugins/weapon/WeaponPlugin.js line 670 @@ -8517,9 +8517,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -8536,7 +8536,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -8565,7 +8565,7 @@

- + diff --git a/docs/Phaser.World.html b/docs/Phaser.World.html index 13430f3e9..81adb5fae 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 91 + src/core/Group.js line 91 @@ -758,7 +758,7 @@
Type:
Source:
- src/core/Group.js line 3155 + src/core/Group.js line 3155 @@ -847,7 +847,7 @@
Type:
Source:
- src/core/Group.js line 2825 + src/core/Group.js line 2825 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 2980 + src/core/Group.js line 2980 @@ -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 791 + src/pixi/display/DisplayObject.js line 791 @@ -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 277 + src/core/Group.js line 277 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/core/World.js line 303 + src/core/World.js line 303 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/core/World.js line 317 + src/core/World.js line 317 @@ -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 127 + src/core/Group.js line 127 @@ -1703,7 +1703,7 @@
Type:
Source:
- src/core/Group.js line 135 + src/core/Group.js line 135 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 260 + src/core/Group.js line 260 @@ -1877,7 +1877,7 @@
Type:
Source:
- src/core/Group.js line 213 + src/core/Group.js line 213 @@ -1964,7 +1964,7 @@
Type:
Source:
- src/core/Group.js line 222 + src/core/Group.js line 222 @@ -2057,7 +2057,7 @@
Type:
Source:
- src/core/Group.js line 98 + src/core/Group.js line 98 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 205 + src/pixi/display/DisplayObject.js line 205 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 740 + src/pixi/display/DisplayObject.js line 740 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/core/Group.js line 270 + src/core/Group.js line 270 @@ -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 290 + src/core/Group.js line 290 @@ -2580,7 +2580,7 @@
Type:
Source:
- src/core/World.js line 278 + src/core/World.js line 278 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 99 + src/pixi/display/DisplayObject.js line 99 @@ -2764,7 +2764,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/core/Group.js line 105 + src/core/Group.js line 105 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 146 + src/core/Group.js line 146 @@ -3026,7 +3026,7 @@
Type:
Source:
- src/core/Group.js line 2902 + src/core/Group.js line 2902 @@ -3112,7 +3112,7 @@
Type:
Source:
- src/core/Group.js line 2809 + src/core/Group.js line 2809 @@ -3201,7 +3201,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 707 + src/pixi/display/DisplayObject.js line 707 @@ -3287,7 +3287,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3377,7 +3377,7 @@
Type:
Source:
- src/core/Group.js line 166 + src/core/Group.js line 166 @@ -3467,7 +3467,7 @@
Type:
Source:
- src/core/Group.js line 203 + src/core/Group.js line 203 @@ -3557,7 +3557,7 @@
Type:
Source:
- src/core/Group.js line 191 + src/core/Group.js line 191 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/core/Group.js line 179 + src/core/Group.js line 179 @@ -3734,7 +3734,7 @@
Type:
Source:
- src/core/Group.js line 254 + src/core/Group.js line 254 @@ -3823,7 +3823,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 120 + src/pixi/display/DisplayObject.js line 120 @@ -3913,7 +3913,7 @@
Type:
Source:
- src/core/Group.js line 117 + src/core/Group.js line 117 @@ -4000,7 +4000,7 @@
Type:
Source:
- src/core/Group.js line 230 + src/core/Group.js line 230 @@ -4093,7 +4093,7 @@
Type:
Source:
- src/core/Group.js line 248 + src/core/Group.js line 248 @@ -4179,7 +4179,7 @@
Type:
Source:
- src/core/Group.js line 84 + src/core/Group.js line 84 @@ -4266,7 +4266,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4354,7 +4354,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4431,7 +4431,7 @@
Type:
Source:
- src/core/World.js line 331 + src/core/World.js line 331 @@ -4508,7 +4508,7 @@
Type:
Source:
- src/core/World.js line 352 + src/core/World.js line 352 @@ -4595,7 +4595,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 108 + src/pixi/display/DisplayObject.js line 108 @@ -4683,7 +4683,7 @@
Type:
Source:
- src/core/Group.js line 2928 + src/core/Group.js line 2928 @@ -4771,7 +4771,7 @@
Type:
Source:
- src/core/Group.js line 3139 + src/core/Group.js line 3139 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/core/Group.js line 2954 + src/core/Group.js line 2954 @@ -5034,7 +5034,7 @@
Type:
Source:
- src/core/Group.js line 2793 + src/core/Group.js line 2793 @@ -5120,7 +5120,7 @@
Type:
Source:
- src/core/Group.js line 78 + src/core/Group.js line 78 @@ -5206,7 +5206,7 @@
Type:
Source:
- src/core/Group.js line 154 + src/core/Group.js line 154 @@ -5292,7 +5292,7 @@
Type:
Source:
- src/core/Group.js line 3148 + src/core/Group.js line 3148 @@ -5374,7 +5374,7 @@
Type:
Source:
- src/core/World.js line 253 + src/core/World.js line 253 @@ -5466,7 +5466,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 136 + src/pixi/display/DisplayObject.js line 136 @@ -5557,7 +5557,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 166 + src/pixi/display/DisplayObject.js line 166 @@ -5648,7 +5648,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 196 + src/pixi/display/DisplayObject.js line 196 @@ -5739,7 +5739,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 181 + src/pixi/display/DisplayObject.js line 181 @@ -5830,7 +5830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 151 + src/pixi/display/DisplayObject.js line 151 @@ -5916,7 +5916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 666 + src/pixi/display/DisplayObject.js line 666 @@ -6009,7 +6009,7 @@
Type:
Source:
- src/core/Group.js line 3121 + src/core/Group.js line 3121 @@ -6102,7 +6102,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -6189,7 +6189,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6427,7 +6427,7 @@
Parameters:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -6705,7 +6705,7 @@
Parameters:
Source:
- src/core/Group.js line 1417 + src/core/Group.js line 1417 @@ -6947,7 +6947,7 @@
Parameters:
Source:
- src/core/Group.js line 421 + src/core/Group.js line 421 @@ -7114,7 +7114,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 41 + src/pixi/display/DisplayObjectContainer.js line 41 @@ -7305,7 +7305,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 53 + src/pixi/display/DisplayObjectContainer.js line 53 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/core/Group.js line 489 + src/core/Group.js line 489 @@ -7707,7 +7707,7 @@
Parameters:
Source:
- src/core/Group.js line 441 + src/core/Group.js line 441 @@ -8102,7 +8102,7 @@
Parameters:
Source:
- src/core/Group.js line 681 + src/core/Group.js line 681 @@ -8445,7 +8445,7 @@
Parameters:
Source:
- src/core/Group.js line 3006 + src/core/Group.js line 3006 @@ -8789,7 +8789,7 @@
Parameters:
Source:
- src/core/Group.js line 3048 + src/core/Group.js line 3048 @@ -8980,7 +8980,7 @@
Parameters:
Source:
- src/core/Group.js line 2024 + src/core/Group.js line 2024 @@ -9064,7 +9064,7 @@

Source:
- src/core/World.js line 59 + src/core/World.js line 59 @@ -9207,7 +9207,7 @@
Parameters:
Source:
- src/core/Group.js line 901 + src/core/Group.js line 901 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/core/Group.js line 1624 + src/core/Group.js line 1624 @@ -9690,7 +9690,7 @@
Parameters:
Source:
- src/core/Group.js line 1540 + src/core/Group.js line 1540 @@ -9881,7 +9881,7 @@
Parameters:
Source:
- src/core/Group.js line 1575 + src/core/Group.js line 1575 @@ -10197,7 +10197,7 @@
Parameters:
Source:
- src/core/Group.js line 1349 + src/core/Group.js line 1349 @@ -10499,7 +10499,7 @@
Parameters:
Source:
- src/core/Group.js line 1384 + src/core/Group.js line 1384 @@ -10796,7 +10796,7 @@
Parameters:
Source:
- src/core/Group.js line 1208 + src/core/Group.js line 1208 @@ -10963,7 +10963,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 456 + src/pixi/display/DisplayObjectContainer.js line 456 @@ -11150,7 +11150,7 @@
Parameters:
Source:
- src/core/Group.js line 2431 + src/core/Group.js line 2431 @@ -11267,7 +11267,7 @@

Source:
- src/core/Group.js line 2455 + src/core/Group.js line 2455 @@ -11384,7 +11384,7 @@

Source:
- src/core/Group.js line 2444 + src/core/Group.js line 2444 @@ -11778,7 +11778,7 @@
Parameters:
Source:
- src/core/Group.js line 542 + src/core/Group.js line 542 @@ -12185,7 +12185,7 @@
Parameters:
Source:
- src/core/Group.js line 578 + src/core/Group.js line 578 @@ -12398,7 +12398,7 @@
Parameters:
Source:
- src/core/Group.js line 2001 + src/core/Group.js line 2001 @@ -12565,7 +12565,7 @@
Parameters:
Source:
- src/core/Group.js line 2053 + src/core/Group.js line 2053 @@ -12769,7 +12769,7 @@
Parameters:
Source:
- src/core/Group.js line 2757 + src/core/Group.js line 2757 @@ -12985,7 +12985,7 @@
Parameters:
Source:
- src/core/Group.js line 1465 + src/core/Group.js line 1465 @@ -13191,7 +13191,7 @@
Parameters:
Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -13497,7 +13497,7 @@
Parameters:
Source:
- src/core/Group.js line 1822 + src/core/Group.js line 1822 @@ -13735,7 +13735,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13973,7 +13973,7 @@
Parameters:
Source:
- src/core/Group.js line 1935 + src/core/Group.js line 1935 @@ -14211,7 +14211,7 @@
Parameters:
Source:
- src/core/Group.js line 1881 + src/core/Group.js line 1881 @@ -14456,7 +14456,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 443 + src/pixi/display/DisplayObject.js line 443 @@ -14764,7 +14764,7 @@
Parameters:
Source:
- src/core/Group.js line 2506 + src/core/Group.js line 2506 @@ -14933,7 +14933,7 @@
Parameters:
Source:
- src/core/Group.js line 523 + src/core/Group.js line 523 @@ -15054,7 +15054,7 @@

Source:
- src/core/Group.js line 2329 + src/core/Group.js line 2329 @@ -15236,7 +15236,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 289 + src/pixi/display/DisplayObjectContainer.js line 289 @@ -15405,7 +15405,7 @@
Parameters:
Source:
- src/core/Group.js line 1041 + src/core/Group.js line 1041 @@ -15572,7 +15572,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 147 + src/pixi/display/DisplayObjectContainer.js line 147 @@ -15739,7 +15739,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 108 + src/pixi/display/DisplayObjectContainer.js line 108 @@ -15990,7 +15990,7 @@
Parameters:
Source:
- src/core/Group.js line 2345 + src/core/Group.js line 2345 @@ -16181,7 +16181,7 @@
Parameters:
Source:
- src/core/Group.js line 2171 + src/core/Group.js line 2171 @@ -16540,7 +16540,7 @@
Parameters:
Source:
- src/core/Group.js line 2217 + src/core/Group.js line 2217 @@ -16899,7 +16899,7 @@
Parameters:
Source:
- src/core/Group.js line 2246 + src/core/Group.js line 2246 @@ -17297,7 +17297,7 @@
Parameters:
Source:
- src/core/Group.js line 2184 + src/core/Group.js line 2184 @@ -17548,7 +17548,7 @@
Parameters:
Source:
- src/core/Group.js line 2388 + src/core/Group.js line 2388 @@ -17715,7 +17715,7 @@
Parameters:
Source:
- src/core/Group.js line 1029 + src/core/Group.js line 1029 @@ -17832,7 +17832,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 445 + src/pixi/display/DisplayObjectContainer.js line 445 @@ -18059,7 +18059,7 @@
Parameters:
Source:
- src/core/Group.js line 2466 + src/core/Group.js line 2466 @@ -18287,7 +18287,7 @@
Parameters:
Source:
- src/core/Group.js line 2487 + src/core/Group.js line 2487 @@ -18405,7 +18405,7 @@

Source:
- src/core/Group.js line 2313 + src/core/Group.js line 2313 @@ -18597,7 +18597,7 @@
Parameters:
Source:
- src/core/Group.js line 1093 + src/core/Group.js line 1093 @@ -18984,7 +18984,7 @@
Parameters:
Source:
- src/core/Group.js line 2077 + src/core/Group.js line 2077 @@ -19101,7 +19101,7 @@

Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -19194,7 +19194,7 @@

Source:
- src/core/Group.js line 1493 + src/core/Group.js line 1493 @@ -19393,7 +19393,7 @@
Parameters:
Source:
- src/core/Group.js line 2598 + src/core/Group.js line 2598 @@ -19560,7 +19560,7 @@
Parameters:
Source:
- src/core/Group.js line 972 + src/core/Group.js line 972 @@ -19727,7 +19727,7 @@
Parameters:
Source:
- src/core/Group.js line 949 + src/core/Group.js line 949 @@ -19967,7 +19967,7 @@
Parameters:
Source:
- src/core/Group.js line 1449 + src/core/Group.js line 1449 @@ -20061,7 +20061,7 @@

Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -20178,7 +20178,7 @@

Source:
- src/core/Group.js line 1763 + src/core/Group.js line 1763 @@ -20271,7 +20271,7 @@

Source:
- src/core/Group.js line 1695 + src/core/Group.js line 1695 @@ -20365,7 +20365,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20630,7 +20630,7 @@
Parameters:
Source:
- src/core/Group.js line 2551 + src/core/Group.js line 2551 @@ -20900,7 +20900,7 @@
Parameters:
Source:
- src/core/Group.js line 2626 + src/core/Group.js line 2626 @@ -21177,7 +21177,7 @@
Parameters:
Source:
- src/core/Group.js line 2673 + src/core/Group.js line 2673 @@ -21320,7 +21320,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 164 + src/pixi/display/DisplayObjectContainer.js line 164 @@ -21487,7 +21487,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 183 + src/pixi/display/DisplayObjectContainer.js line 183 @@ -21678,7 +21678,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 224 + src/pixi/display/DisplayObjectContainer.js line 224 @@ -21822,7 +21822,7 @@
Parameters:
Source:
- src/core/Group.js line 465 + src/core/Group.js line 465 @@ -22015,7 +22015,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -22369,7 +22369,7 @@
Parameters:
Source:
- src/core/Group.js line 1525 + src/core/Group.js line 1525 @@ -22675,7 +22675,7 @@
Parameters:
Source:
- src/core/Group.js line 2275 + src/core/Group.js line 2275 @@ -22863,7 +22863,7 @@
Parameters:
Source:
- src/core/Group.js line 804 + src/core/Group.js line 804 @@ -23047,7 +23047,7 @@
Parameters:
Source:
- src/core/World.js line 121 + src/core/World.js line 121 @@ -23141,7 +23141,7 @@

Source:
- src/core/Group.js line 1016 + src/core/Group.js line 1016 @@ -23234,7 +23234,7 @@

Source:
- src/core/Group.js line 1503 + src/core/Group.js line 1503 @@ -23327,7 +23327,7 @@

Source:
- src/core/Group.js line 1515 + src/core/Group.js line 1515 @@ -23530,7 +23530,7 @@
Parameters:
Source:
- src/core/Group.js line 2727 + src/core/Group.js line 2727 @@ -23673,7 +23673,7 @@
Parameters:
Source:
- src/core/Group.js line 925 + src/core/Group.js line 925 @@ -24089,7 +24089,7 @@
Parameters:
Source:
- src/core/Group.js line 1237 + src/core/Group.js line 1237 @@ -24471,7 +24471,7 @@
Parameters:
Source:
- src/core/Group.js line 1267 + src/core/Group.js line 1267 @@ -24829,7 +24829,7 @@
Parameters:
Source:
- src/core/Group.js line 1305 + src/core/Group.js line 1305 @@ -25036,7 +25036,7 @@
Parameters:
Source:
- src/core/World.js line 91 + src/core/World.js line 91 @@ -25203,7 +25203,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 127 + src/pixi/display/DisplayObjectContainer.js line 127 @@ -25522,7 +25522,7 @@
Parameters:
Source:
- src/core/Group.js line 1127 + src/core/Group.js line 1127 @@ -25640,7 +25640,7 @@

Source:
- src/core/Group.js line 2744 + src/core/Group.js line 2744 @@ -25724,7 +25724,7 @@

Source:
- src/core/World.js line 156 + src/core/World.js line 156 @@ -25931,7 +25931,7 @@
Parameters:
Source:
- src/core/Group.js line 1962 + src/core/Group.js line 1962 @@ -26017,7 +26017,7 @@

Source:
- src/core/World.js line 74 + src/core/World.js line 74 @@ -26233,7 +26233,7 @@
Parameters:
Source:
- src/core/Group.js line 1433 + src/core/Group.js line 1433 @@ -26401,7 +26401,7 @@
Parameters:
Source:
- src/core/Group.js line 886 + src/core/Group.js line 886 @@ -26568,7 +26568,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 82 + src/pixi/display/DisplayObjectContainer.js line 82 @@ -26711,7 +26711,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26924,7 +26924,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 497 + src/pixi/display/DisplayObject.js line 497 @@ -27044,7 +27044,7 @@

Source:
- src/core/Group.js line 1735 + src/core/Group.js line 1735 @@ -27137,7 +27137,7 @@

Source:
- src/pixi/display/DisplayObject.js line 470 + src/pixi/display/DisplayObject.js line 470 @@ -27326,7 +27326,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 291 + src/pixi/display/DisplayObject.js line 291 @@ -27446,7 +27446,7 @@

Source:
- src/core/Group.js line 663 + src/core/Group.js line 663 @@ -27769,7 +27769,7 @@
Parameters:
Source:
- src/core/World.js line 167 + src/core/World.js line 167 @@ -28115,7 +28115,7 @@
Parameters:
Source:
- src/core/World.js line 239 + src/core/World.js line 239 @@ -28306,7 +28306,7 @@
Parameters:
Source:
- src/core/Group.js line 995 + src/core/Group.js line 995 @@ -28349,9 +28349,9 @@
Parameters:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -28368,7 +28368,7 @@
Parameters:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -28397,7 +28397,7 @@
Parameters:
- + diff --git a/docs/Phaser.html b/docs/Phaser.html index b15d25813..9c4dd51b2 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 @@ -561,7 +561,7 @@
Type:
Source:
- src/Phaser.js line 341 + src/Phaser.js line 341 @@ -638,7 +638,7 @@
Type:
Source:
- src/Phaser.js line 348 + src/Phaser.js line 348 @@ -715,7 +715,7 @@
Type:
Source:
- src/Phaser.js line 362 + src/Phaser.js line 362 @@ -792,7 +792,7 @@
Type:
Source:
- src/Phaser.js line 369 + src/Phaser.js line 369 @@ -869,7 +869,7 @@
Type:
Source:
- src/Phaser.js line 355 + src/Phaser.js line 355 @@ -946,7 +946,7 @@
Type:
Source:
- src/Phaser.js line 376 + src/Phaser.js line 376 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/Phaser.js line 383 + src/Phaser.js line 383 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/Phaser.js line 334 + src/Phaser.js line 334 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/Phaser.js line 26 + src/Phaser.js line 26 @@ -1254,7 +1254,7 @@
Type:
Source:
- src/Phaser.js line 187 + src/Phaser.js line 187 @@ -1331,7 +1331,7 @@
Type:
Source:
- src/Phaser.js line 138 + src/Phaser.js line 138 @@ -1846,7 +1846,7 @@
Properties:
Source:
- src/Phaser.js line 481 + src/Phaser.js line 481 @@ -1923,7 +1923,7 @@
Type:
Source:
- src/Phaser.js line 467 + src/Phaser.js line 467 @@ -2000,7 +2000,7 @@
Type:
Source:
- src/Phaser.js line 460 + src/Phaser.js line 460 @@ -2077,7 +2077,7 @@
Type:
Source:
- src/Phaser.js line 474 + src/Phaser.js line 474 @@ -2154,7 +2154,7 @@
Type:
Source:
- src/Phaser.js line 103 + src/Phaser.js line 103 @@ -2231,7 +2231,7 @@
Type:
Source:
- src/Phaser.js line 33 + src/Phaser.js line 33 @@ -2308,7 +2308,7 @@
Type:
Source:
- src/Phaser.js line 194 + src/Phaser.js line 194 @@ -2385,7 +2385,7 @@
Type:
Source:
- src/Phaser.js line 432 + src/Phaser.js line 432 @@ -2462,7 +2462,7 @@
Type:
Source:
- src/Phaser.js line 243 + src/Phaser.js line 243 @@ -2539,7 +2539,7 @@
Type:
Source:
- src/Phaser.js line 285 + src/Phaser.js line 285 @@ -2616,7 +2616,7 @@
Type:
Source:
- src/Phaser.js line 89 + src/Phaser.js line 89 @@ -2693,7 +2693,7 @@
Type:
Source:
- src/Phaser.js line 208 + src/Phaser.js line 208 @@ -2770,7 +2770,7 @@
Type:
Source:
- src/Phaser.js line 173 + src/Phaser.js line 173 @@ -2847,7 +2847,7 @@
Type:
Source:
- src/geom/Rectangle.js line 1120 + src/geom/Rectangle.js line 1120 @@ -2924,7 +2924,7 @@
Type:
Source:
- src/Phaser.js line 19 + src/Phaser.js line 19 @@ -3001,7 +3001,7 @@
Type:
Source:
- src/Phaser.js line 117 + src/Phaser.js line 117 @@ -3078,7 +3078,7 @@
Type:
Source:
- src/Phaser.js line 145 + src/Phaser.js line 145 @@ -3155,7 +3155,7 @@
Type:
Source:
- src/Phaser.js line 47 + src/Phaser.js line 47 @@ -3232,7 +3232,7 @@
Type:
Source:
- src/Phaser.js line 306 + src/Phaser.js line 306 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/Phaser.js line 110 + src/Phaser.js line 110 @@ -3386,7 +3386,7 @@
Type:
Source:
- src/Phaser.js line 320 + src/Phaser.js line 320 @@ -3463,7 +3463,7 @@
Type:
Source:
- src/Phaser.js line 68 + src/Phaser.js line 68 @@ -3540,7 +3540,7 @@
Type:
Source:
- src/Phaser.js line 425 + src/Phaser.js line 425 @@ -3617,7 +3617,7 @@
Type:
Source:
- src/Phaser.js line 418 + src/Phaser.js line 418 @@ -3694,7 +3694,7 @@
Type:
Source:
- src/Phaser.js line 411 + src/Phaser.js line 411 @@ -3771,7 +3771,7 @@
Type:
Source:
- src/Phaser.js line 257 + src/Phaser.js line 257 @@ -3848,7 +3848,7 @@
Type:
Source:
- src/Phaser.js line 264 + src/Phaser.js line 264 @@ -3925,7 +3925,7 @@
Type:
Source:
- src/Phaser.js line 61 + src/Phaser.js line 61 @@ -4002,7 +4002,7 @@
Type:
Source:
- src/Phaser.js line 299 + src/Phaser.js line 299 @@ -4079,7 +4079,7 @@
Type:
Source:
- src/Phaser.js line 271 + src/Phaser.js line 271 @@ -4156,7 +4156,7 @@
Type:
Source:
- src/Phaser.js line 229 + src/Phaser.js line 229 @@ -4233,7 +4233,7 @@
Type:
Source:
- src/Phaser.js line 180 + src/Phaser.js line 180 @@ -4310,7 +4310,7 @@
Type:
Source:
- src/Phaser.js line 327 + src/Phaser.js line 327 @@ -4387,7 +4387,7 @@
Type:
Source:
- src/Phaser.js line 250 + src/Phaser.js line 250 @@ -4464,7 +4464,7 @@
Type:
Source:
- src/Phaser.js line 152 + src/Phaser.js line 152 @@ -4541,7 +4541,7 @@
Type:
Source:
- src/Phaser.js line 222 + src/Phaser.js line 222 @@ -4618,7 +4618,7 @@
Type:
Source:
- src/Phaser.js line 75 + src/Phaser.js line 75 @@ -4695,7 +4695,7 @@
Type:
Source:
- src/Phaser.js line 453 + src/Phaser.js line 453 @@ -4772,7 +4772,7 @@
Type:
Source:
- src/Phaser.js line 446 + src/Phaser.js line 446 @@ -4849,7 +4849,7 @@
Type:
Source:
- src/Phaser.js line 439 + src/Phaser.js line 439 @@ -4926,7 +4926,7 @@
Type:
Source:
- src/Phaser.js line 236 + src/Phaser.js line 236 @@ -5003,7 +5003,7 @@
Type:
Source:
- src/Phaser.js line 278 + src/Phaser.js line 278 @@ -5199,7 +5199,7 @@
Properties:
Source:
- src/Phaser.js line 526 + src/Phaser.js line 526 @@ -5276,7 +5276,7 @@
Type:
Source:
- src/Phaser.js line 96 + src/Phaser.js line 96 @@ -5353,7 +5353,7 @@
Type:
Source:
- src/Phaser.js line 215 + src/Phaser.js line 215 @@ -5430,7 +5430,7 @@
Type:
Source:
- src/Phaser.js line 124 + src/Phaser.js line 124 @@ -5507,7 +5507,7 @@
Type:
Source:
- src/Phaser.js line 159 + src/Phaser.js line 159 @@ -5584,7 +5584,7 @@
Type:
Source:
- src/Phaser.js line 166 + src/Phaser.js line 166 @@ -5661,7 +5661,7 @@
Type:
Source:
- src/Phaser.js line 131 + src/Phaser.js line 131 @@ -5738,7 +5738,7 @@
Type:
Source:
- src/Phaser.js line 397 + src/Phaser.js line 397 @@ -5815,7 +5815,7 @@
Type:
Source:
- src/Phaser.js line 390 + src/Phaser.js line 390 @@ -5892,7 +5892,7 @@
Type:
Source:
- src/Phaser.js line 404 + src/Phaser.js line 404 @@ -5969,7 +5969,7 @@
Type:
Source:
- src/Phaser.js line 82 + src/Phaser.js line 82 @@ -6046,7 +6046,7 @@
Type:
Source:
- src/Phaser.js line 12 + src/Phaser.js line 12 @@ -6123,7 +6123,7 @@
Type:
Source:
- src/Phaser.js line 313 + src/Phaser.js line 313 @@ -6200,7 +6200,7 @@
Type:
Source:
- src/Phaser.js line 292 + src/Phaser.js line 292 @@ -6277,7 +6277,7 @@
Type:
Source:
- src/Phaser.js line 40 + src/Phaser.js line 40 @@ -6354,7 +6354,7 @@
Type:
Source:
- src/Phaser.js line 201 + src/Phaser.js line 201 @@ -6431,7 +6431,7 @@
Type:
Source:
- src/Phaser.js line 54 + src/Phaser.js line 54 @@ -6526,7 +6526,7 @@

Source:
- src/gameobjects/components/Component.js line 7 + src/gameobjects/components/Component.js line 7 @@ -6569,9 +6569,9 @@

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -6588,7 +6588,7 @@

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -6617,7 +6617,7 @@

- + diff --git a/docs/PhaserGlobal.html b/docs/PhaserGlobal.html index 9fa9b582c..752b3eaf6 100644 --- a/docs/PhaserGlobal.html +++ b/docs/PhaserGlobal.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PhaserGlobal - + @@ -389,7 +389,7 @@

Properties:
Source:
- src/PhaserGlobal.js line 1 + src/PhaserGlobal.js line 1 @@ -432,9 +432,9 @@
Properties:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -451,7 +451,7 @@
Properties:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -480,7 +480,7 @@
Properties:
- + diff --git a/docs/classes.list.html b/docs/classes.list.html index 122a9b95d..e97f09f2d 100644 --- a/docs/classes.list.html +++ b/docs/classes.list.html @@ -6,7 +6,7 @@ Phaser CE Classes - + @@ -776,9 +776,9 @@

Namespaces

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -795,7 +795,7 @@

Namespaces

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -824,7 +824,7 @@

Namespaces

- + diff --git a/docs/global.html b/docs/global.html index 8737b8143..055da7a53 100644 --- a/docs/global.html +++ b/docs/global.html @@ -6,7 +6,7 @@ Phaser CE Global - + @@ -289,7 +289,7 @@
Type:
Source:
- src/core/Group.js line 3091 + src/core/Group.js line 3091 @@ -1144,7 +1144,7 @@
Properties:
- true + false @@ -1950,7 +1950,7 @@
Properties:
Source:
- src/core/Game.js line 542 + src/core/Game.js line 542 @@ -2163,7 +2163,7 @@
Properties:
- true + false @@ -2322,7 +2322,7 @@
Properties:
Source:
- src/input/Input.js line 415 + src/input/Input.js line 415 @@ -2351,9 +2351,9 @@
Properties:

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -2370,7 +2370,7 @@
Properties:

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -2399,7 +2399,7 @@
Properties:
- + diff --git a/docs/index.html b/docs/index.html index 563756993..f094cffe5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ Phaser CE API Documentation - + @@ -1016,9 +1016,9 @@

Utils

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -1035,7 +1035,7 @@

Utils

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -1064,7 +1064,7 @@

Utils

- + diff --git a/docs/namespaces.list.html b/docs/namespaces.list.html index 958a94d6d..7f94b9b97 100644 --- a/docs/namespaces.list.html +++ b/docs/namespaces.list.html @@ -6,7 +6,7 @@ Phaser CE Namespaces - + @@ -776,9 +776,9 @@

Namespaces

- phaser-ce@2.15.1 + phaser-ce@2.16.0 is on - GitHub + GitHub and NPM

@@ -795,7 +795,7 @@

Namespaces

Documentation generated by JSDoc 3.6.3 - on 2020-05-15 + on 2020-06-01 using Tomorrow.

@@ -824,7 +824,7 @@

Namespaces

- + diff --git a/typescript/phaser.comments.d.ts b/typescript/phaser.comments.d.ts index d09bb9488..cc3a8d50b 100644 --- a/typescript/phaser.comments.d.ts +++ b/typescript/phaser.comments.d.ts @@ -4036,10 +4036,11 @@ declare module Phaser { shakeIntensity: number; /** - * This signal is dispatched when the camera fade effect completes. - * When the fade effect completes you will be left with the screen black (or whatever - * color you faded to). In order to reset this call `Camera.resetFX`. This is called - * automatically when you change State. + * This signal is dispatched when the camera fade effect (fade in or fade out) completes. + * You can look at the value of `Camera.fx.alpha` to determine which effect it was. + * When the fade out effect completes `Camera.fx.alpha` is 1 and you will be left with the screen black (or whatever + * color you faded to). In order to reset this call `Camera.resetFX`. `Camera.resetFX` is called automatically when you change State. + * When the fade in effect completes, `Camera.fx.alpha` is 0 and there is no visible camera fill. */ onFadeComplete: Phaser.Signal; @@ -4105,7 +4106,7 @@ declare module Phaser { checkBounds(): void; /** - * This creates a camera fade effect. It works by filling the game with the + * This creates a camera fade out effect. It works by filling the game with the * color specified, over the duration given, ending with a solid fill. * * You can use this for things such as transitioning to a new scene. @@ -29139,7 +29140,7 @@ declare module Phaser { * * 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. + * methods (init, preload, create, etc.) are called, and *after* the previous state's shutdown method has been run. * * 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. @@ -30808,8 +30809,9 @@ declare module Phaser { replace(source: number, dest: number, x: number, y: number, width: number, height: number, layer?: any): void; /** - * Searches the entire map layer for the first tile matching the given index, then returns that Phaser.Tile object. - * If no match is found it returns null. + * Searches the entire map layer for the first tile or all tiles matching the given index. + * When `all` is false (the default), it returns a Phaser.Tile object or null. + * When `all` is true, it returns an array Phaser.Tile objects, or none (an empty array). * The search starts from the top-left tile and continues horizontally until it hits the end of the row, then it drops down to the next column. * If the reverse boolean is true, it scans starting from the bottom-right corner traveling up to the top-left. *